在现实世界,光源不就是一种颜色么? 这是D3D里定义一个方向光的代码: D3DLIGHT9 InitDirectionalLight(D3DXVECTOR3* direction, D3DXCOLOR* color) { D3DLIGHT9 light; ::ZeroMemory(&light, sizeof(light)); light.Type = D3DLIGHT_DIRECTIONAL; light.Ambient = *color * 0.6f; light.Diffuse = *color; light.Specular = *color * 0.6f; light.Direction = *direction; return light; } 复制代码 我觉得设置一个Diffuse就够了嘛,为什么还要设置环境光和镜面光呢?