Как работают индексы в DirectX

Подскажите,пожалуйста, для чего нужны индексы и как они работают. На просторах интернета не нашел ответа

Например, у меня есть код вершин:

const Vertex vertices[] =
{
    { 0.0f,0.5f,255,0,0,0 },
    { 0.5f,-0.5f,0,255,0,0 },
    { -0.5f,-0.5f,0,0,255,0 },
    { -0.3f,0.3f,0,0,255,0 },
    { 0.3f,0.3f,0,0,255,0 },
    { 0.0f,-0.8f,0,0,255,0 },
};

А также индексы:

const unsigned short indices[] =
{
    0,1,2,
    0,2,3,
    0,4,1,
    2,1,5,
};
pContext->DrawIndexed((UINT)std::size(indices), 0u, 0u):

Как мне высчитывать эти индексы? Для чего они?


Ответы (1 шт):

Автор решения: p.k.

Индексы нужны, если используются шейдеры вершин (Vertex shaders, VS) или шейдеры геометрии (Geometry shaders, GS), а если используются шейдеры "сетки" (Mesh shaders, MS), то индексы, как таковые не нужны! В них (MS) геометрия генерируется "на лету", внутри самого шейдера.

→ Ссылка