当我转灯。我可以看到我的物体,但是没有3D灯光。
我将对象位置设置为0、0、10。
这是我的代码来设置我的光
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.Diffuse.a = 1.0f;
light.Range = 1000.0f;
// Create a direction for our light - it must be normalized
D3DXVECTOR3 vecDir;
vecDir = D3DXVECTOR3(0.0f,10.0f,10);
D3DXVec3Normalize( (D3DXVECTOR3*)&light.Direction, &vecDir );
// Tell the device about the light and turn it on
d3ddev->SetLight( 0, &light );
d3ddev->LightEnable( 0, TRUE );
最佳答案
如果没有更完整的源 list ,我们不可能确切地告诉您问题出在哪里。话虽如此,我有一个主意。
检查对象的法线。如果法线不正确,则打开照明可能会导致对象渲染为黑色,如果背景为黑色,则可能使其消失。
关于c++ - DirectX一切都消失了,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5121834/