Составители:
Рубрика:
26
ЛАБОРАТОРНАЯ РАБОТА №5
Тема: «СМЕШЕНИЕ ЦВЕТОВ И ПРОЗРАЧНОСТЬ»
Цель лабораторной работы: изучить функцию смешения цветов и факторы
смешения.
Теоретическая часть.
Одним из эффектов, способных положительно повлиять на восприятие
пользователем сцены, является прозрачность. Давайте попробуем создать два
вращающихся объекта: треугольник и квадрат, при этом цвет их будет
смешиваться в тех областях, где фигуры перекрывают друг друга.
Создайте новое приложение и добавьте инициализацию Direct3D. Сцену
мы будем формировать через буфер вершин, поэтому нам понадобится структура,
описывающая формат вершины, массив вершин и буфер:
IDirect3DVertexBuffer9:
struct sVertex
(
float x, у, z;
DWORD color;
);
sVertex Triangle[7];
IDirect3DVertexBuffer9 * vTriangleBuffer;
Обе фигуры будем хранить в одном буфере. Для отображения
треугольника нам понадобятся три вершины, а для прямоугольника достаточно
четырех вершин, из которых можно будет сформировать два треугольника.
После инициализации Direct3D заполняем вершины значениями, создаем
интерфейс iDirect3DVertexBuffer9 и переносим значения вершин в созданный
буфер. Код инициализации буфера показан в листинге 5.1.
Листинг 5.1 - Инициализация и заполнение буфера вершин
// Заполняем массив вершин значениями
// Первые три вершины - треугольник
Triangle[0].x=0.7f;
Triangle[0].y=-0.3f;
Triangle[0].z=0.1f;
Triangle[1].x=-0.7f;
Triangle[1].y=-0.3f;
Triangle[1].z=0.1f;
Triangle[2].x=0.0f;
Triangle[2].y=0.7f;
Triangle[2].z=0.If;
// Следующие четыре вершины - прямоугольник
Triangle[3].x=-0.5f;
Triangle[3].y=-0.5f;
Triangle[3].z=0.1f;
Triangle[4].x=-0.5f;
ЛАБОРАТОРНАЯ РАБОТА №5 Тема: «СМЕШЕНИЕ ЦВЕТОВ И ПРОЗРАЧНОСТЬ» Цель лабораторной работы: изучить функцию смешения цветов и факторы смешения. Теоретическая часть. Одним из эффектов, способных положительно повлиять на восприятие пользователем сцены, является прозрачность. Давайте попробуем создать два вращающихся объекта: треугольник и квадрат, при этом цвет их будет смешиваться в тех областях, где фигуры перекрывают друг друга. Создайте новое приложение и добавьте инициализацию Direct3D. Сцену мы будем формировать через буфер вершин, поэтому нам понадобится структура, описывающая формат вершины, массив вершин и буфер: IDirect3DVertexBuffer9: struct sVertex ( float x, у, z; DWORD color; ); sVertex Triangle[7]; IDirect3DVertexBuffer9 * vTriangleBuffer; Обе фигуры будем хранить в одном буфере. Для отображения треугольника нам понадобятся три вершины, а для прямоугольника достаточно четырех вершин, из которых можно будет сформировать два треугольника. После инициализации Direct3D заполняем вершины значениями, создаем интерфейс iDirect3DVertexBuffer9 и переносим значения вершин в созданный буфер. Код инициализации буфера показан в листинге 5.1. Листинг 5.1 - Инициализация и заполнение буфера вершин // Заполняем массив вершин значениями // Первые три вершины - треугольник Triangle[0].x=0.7f; Triangle[0].y=-0.3f; Triangle[0].z=0.1f; Triangle[1].x=-0.7f; Triangle[1].y=-0.3f; Triangle[1].z=0.1f; Triangle[2].x=0.0f; Triangle[2].y=0.7f; Triangle[2].z=0.If; // Следующие четыре вершины - прямоугольник Triangle[3].x=-0.5f; Triangle[3].y=-0.5f; Triangle[3].z=0.1f; Triangle[4].x=-0.5f; 26
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »