close

Вход

Забыли?

вход по аккаунту

?

лаба 2 отчет (3)

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ УНИВЕРСИТЕТ"
КУРСКИЙ ИНСТИТУТ СОЦИАЛЬНОГО ОБРАЗОВАНИЯ
(ФИЛИАЛ) РГСУ
Инженерно-технический факультет
Кафедра информационных систем и информационного права
ЛАБОРАТОРНАЯ РАБОТА
21271
по дисциплине: "Инженерная и компьютерная графика"
на тему: Рендеринг примитива "Треугольник"
Выполнил студент 3 курса группы ИВТ специальности "Информатика и вычислительная техника"
очной формы обучения Умеренков Павел Игоревич
Проверила: Королькова Ирина Анатольевна
Лабораторная работа
зачтена/не зачтена
"__"_______20__г.
Курск 2013г.
Лабораторная работа №2 .
Рендеринг примитива "Треугольник"
Цель работы: Изучение базовых принципов рисования объектов.
Код программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
namespace lab1
{
public partial class Form1 : Form
{
Device device = null;
//создание класса вершин CustomVertex
private CustomVertex.PositionColored[] Vertex = new
CustomVertex.PositionColored[3];
public Form1()
{
InitializeComponent();
InitializeDevice();
initializeCamera();
InitializeVericies();
}
private void InitializeDevice()
{
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
device = new Device(0, DeviceType.Hardware, this,
CreateFlags.SoftwareVertexProcessing, presentParams);
}
protected override void OnPaint(PaintEventArgs e)
{
device.Clear(ClearFlags.Target, Color.CornflowerBlue, 0, 1);
device.BeginScene();
Draw();
device.EndScene();
device.Present();
}
private void InitializeVericies()
{
//создание вершин треугольника (цвет и координаты)
Vertex[0] = new CustomVertex.PositionColored(new Vector3(), Color.Red.ToArgb());
Vertex[1] = new CustomVertex.PositionColored(new Vector3(5,0,0), Color.Blue.ToArgb());
Vertex[2] = new CustomVertex.PositionColored(new Vector3(0,5,0), Color.Yellow.ToArgb());
}
private void initializeCamera()
{
//параметры камеры
device.Transform.Projection = Matrix.PerspectiveFovLH(3.14f / 4, Width / Height, 1f, 10000f);
//позиция камеры
device.Transform.View= Matrix.LookAtLH(new Vector3(0,0,50),new Vector3(),new Vector3(0,1,0));
device.RenderState.Lighting = false;
device.RenderState.CullMode = Cull.None;
}
private void Draw()
{
device.VertexFormat = CustomVertex.PositionColored.Format;
device.DrawUserPrimitives(PrimitiveType.TriangleList, Vertex.Length / 3, Vertex);
}
}
}
Документ
Категория
Рефераты
Просмотров
16
Размер файла
36 Кб
Теги
лаба, отчет
1/--страниц
Пожаловаться на содержимое документа