如果告知运行时数据存在,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 枚举类型的成员,该类型定义指示系统使用当前材料、漫射颜色或反射颜色作为指定颜色组件的源的常量。
相关主题