|
我借用的例子里面的函数
VOID SetupLights()
{
// 创建材质(material)
// 在设备中创建一个材质.
D3DMATERIAL9 mtrl;
ZeroMemory( &mtrl, sizeof(D3DMATERIAL9) );
mtrl.Diffuse.r = mtrl.Ambient.r = 1.0f;
mtrl.Diffuse.g = mtrl.Ambient.g = 1.0f;
mtrl.Diffuse.b = mtrl.Ambient.b = 1.0f;
mtrl.Diffuse.a = mtrl.Ambient.a = 1.0f;
g_pd3dDevice->SetMaterial( &mtrl );
// 创建光源
D3DXVECTOR3 vecDir; /// 方向光源(directional light)照射的方向
D3DLIGHT9 light; /// 光源结构体
ZeroMemory( &light, sizeof(D3DLIGHT9) ); /// 将结构体清零.
light.Type = D3DLIGHT_DIRECTIONAL; /// 光源类型(点光源、方向光源、聚光光源)
light.Diffuse.r = 1.0f; /// 光源的颜色和亮度
light.Diffuse.g = 1.0f;
light.Diffuse.b = 1.0f;
//light.Position = D3DXVECTOR3(200.0f,200.0f,-100.0f);
vecDir = D3DXVECTOR3(-200.0f, /// 光源的方向
-800.0f,
600.0f );
D3DXVec3Normalize( (D3DXVECTOR3*)&light.Direction, &vecDir ); /// 光源的方向设定为单位向量.
light.Range = 10000.0f; /// 光源能够照射到的最远距离
g_pd3dDevice->SetLight( 0, &light ); /// 在设备设置0号光源
g_pd3dDevice->LightEnable( 0, TRUE ); /// 打开0号光源
g_pd3dDevice->SetRenderState( D3DRS_LIGHTING, TRUE ); /// 打开光源设置
g_pd3dDevice->SetRenderState( D3DRS_AMBIENT, 0xffffffff ); /// 设定环境光源(ambient light)的值
}
如何修改才能使物体有反光但没阴影? |
|