Поделиться через


Списки треугольников

Список треугольников — это список изолированных треугольников. Изолированные треугольники могут или не находятся рядом друг с другом. Список треугольников должен иметь по крайней мере три вершины, а общее количество вершин должно быть делимо на три.

Пример

Используйте списки треугольников для создания объекта, состоящего из несвязанных частей. Например, один из способов создания стены принудительного поля в трехмерной игре заключается в том, чтобы указать большой список небольших, несвязанных треугольников. Затем примените материал и текстуру, которая, как представляется, выдает свет в список треугольников. Каждый треугольник в стене, как представляется, светится. Сцена за стеной становится частично видимой через пробелы между треугольниками, как игрок может ожидать при просмотре поля силы.

Списки треугольников также полезны для создания примитивов, которые имеют острые края и затеняются с заливкой Gouraud. См. обычные векторы распознавания лиц и вершин.

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

иллюстрация отрисованного списка треугольников

В следующем коде показано, как создать вершины для этого списка треугольников.

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}

};

В приведенном ниже примере кода показано, как отобразить этот список треугольников в Direct3D.

//
// It is assumed that d3dDevice is a valid
// pointer to a device interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );

Примитивы