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


Состояние цвета Per-Vertex (Direct3D 9)

Подсистема освещения Direct3D может использовать цветовые данные для каждой вершины при освещении, если вы сообщаете среде выполнения, что данные присутствуют. Для этого включите следующее состояние отрисовки:

// disable per-vertex color
SetRenderState(D3DRS_COLORVERTEX, FALSE);

// enable per-vertex color
SetRenderState(D3DRS_COLORVERTEX, TRUE);

Если включен цвет для каждой вершины, приложения могут настроить источник, из которого система получает сведения о цвете для вершины. Состояния D3DRS_AMBIENTMATERIALSOURCE, D3DRS_DIFFUSEMATERIALSOURCE, D3DRS_EMISSIVEMATERIALSOURCE и D3DRS_SPECULARMATERIALSOURCE отрисовки управляют источниками компонентов внешнего, рассеянного, излучаемого и зеркального цвета соответственно. Для каждого состояния можно задать элементы перечисленного типа D3DMATERIALCOLORSOURCE , который определяет константы, которые предписывают системе использовать текущий материал, рассеянный цвет или зеркальный цвет в качестве источника для указанного компонента цвета.

Состояния отрисовки