background image

6.1  

     

光 的 组 成

• 镜面光比其他两种类型的光需要更多的计算,因

此,在

Direct3D 中提供关闭镜面光的功能。实际

上,在默认状态下,镜面光是关闭的,要使镜面
光起作用,需要设置
D3DRS_SPECULARENABLE 渲染状态:

– Device-

>SetRenderState(D3DRS_SPECULARENABLE, 
true);

• 每种类型的光都可以使用 D3DCOLORVALUE 结

构或

D3DXCOLOR 来描述光的颜色,例如:

– D3DXCOLOR redAmbient(1.0f, 0.0f, 0.0f, 1.0f);
– D3DXCOLOR blueDiffuse(0.0f, 0.0f, 1.0f, 1.0f);
– D3DXCOLOR whiteSpecular(1.0f, 1.0f, 1.0f, 1.0f);