C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 34 - Список треугольников / Справка по DirectX / Microsoft DirectX

Шаг 34 - Список треугольников

Список треугольников - это ряд связанных треугольников. Т.к. все трегольники связаны между собой, то не нужно определять три вершины для каждого треугольника. Например, Вы можете определить только семь вершин для следующего списка треугольников:

34_1.gif (1303 b)

Система использует вершины v1, v2, и v3, чтобы нарисовать первый треугольник, v2, v4, и v3 - второй треугольник, v3, v4, и v5 - третий, v4, v6, и v5 - четвертый и так далее. Заметьте, что вершины второго и четвертого треугольника не по порядку. Это нужно, чтобы удостовериться, что все треугольники нарисованы по часовой стрелке.

Большинство объектов в 3D сценах составлены из списка треугольников. Потому что из списка трегольников можно создать сложные объекты, которые в свою очередь эффективно используют время обработки и память.

Следующий рисунок показывает один из примеров списка треугольников:

34_2.gif (1927 b)

Ниже показан код, как создать вершины выше приведенного рисунка:

struct CUSTOMVERTEX
{
	float x,y,z;
};

CUSTOMVERTEX Vertices[] = 
{
	{-5.0, -5.0, 0.0},
	{ 0.0,  5.0, 0.0},
	{ 5.0, -5.0, 0.0},
	{10.0,  5.0, 0.0},
	{15.0, -5.0, 0.0},
	{20.0,  5.0, 0.0}
};

Дальше приведен код как использовать функцию IDirect3DDevice8::DrawPrimitive, чтобы отобразить все это на экране:

// Предполагается, что d3dDevice уже инициализирован
// указатель на интерфейс IDirect3DDevice8

d3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 4);

Примеры

См. раздел Direct3D: "Шаг 5 - Добавляем второй треугольник".


| |
Автор Хавов Евгений Валерьевич.
[AD]