📄 game.cpp
字号:
return TRUE;
}
BOOL CGame::InitializeLights()
{
LogInfo("<br>Initialize Lights:");
D3DLIGHT8 d3dLight;
//Initialize the light structure.
ZeroMemory(&d3dLight,sizeof(D3DLIGHT8));
d3dLight.Type=D3DLIGHT_SPOT;
d3dLight.Position.x=0.0f;
d3dLight.Position.y=50.0f;
d3dLight.Position.z=0.0f;
d3dLight.Direction.x=0.0f;
d3dLight.Direction.y=-1.0f;
d3dLight.Direction.z=0.0f;
d3dLight.Attenuation0=1.0f;
d3dLight.Attenuation1=0.0f;
d3dLight.Attenuation2=0.0f;
d3dLight.Range=100.0f;
d3dLight.Diffuse.r=1.0f;
d3dLight.Diffuse.g=1.0f;
d3dLight.Diffuse.b=1.0f;
d3dLight.Ambient.r=0.1f;
d3dLight.Ambient.g=0.1f;
d3dLight.Ambient.b=0.1f;
d3dLight.Specular.r=1.0f;
d3dLight.Specular.g=1.0f;
d3dLight.Specular.b=1.0f;
d3dLight.Theta=D3DX_PI/2.5f;
d3dLight.Phi=D3DX_PI/1.5f;
d3dLight.Falloff=2.0f;
//Assign the point light to device in position
if(FAILED(m_pD3DDevice->SetLight(0,&d3dLight)))
{
LogError("<li>SetLight Failed");
return FALSE;
}
else
{
LogInfo("<li>SetLight OK");
}
//Enable point light in position
if(FAILED(m_pD3DDevice->LightEnable(0,TRUE)))
{
LogError("<li>LightEnable Failed");
return FALSE;
}
else
{
LogInfo("<li>Light Enable OK");
}
//Turn on lighting
if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_LIGHTING,TRUE)))
{
LogError("<li>SetRenderState: D3DRS_LIGHTING Failed");
return FALSE;
}
else
{
LogInfo("<li>SetRenderState: D3DRS_LIGHTING OK");
}
//Set ambient light level
if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(50,50,50))))
{
LogError("<li>SetRenderState: D3DRS_AMBIENT Failed");
return FALSE;
}
else
{
LogInfo("<li>SetRenderState: D3DRS_AMBIENT OK");
}
if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_SPECULARENABLE,TRUE)))
{
LogError("<li>SetRenderState: D3DRS_SPECULARENABLE Failed");
return FALSE;
}
else
{
LogInfo("<li>SetRenderState: D3DRS_SPECULARENABLE OK");
}
// //haoxf
// //add four light
// D3DLIGHT8 d3dLightA;
//
// //Initialize the second light structure.
// ZeroMemory(&d3dLightA,sizeof(D3DLIGHT8));
//
// d3dLightA.Type=D3DLIGHT_SPOT;
// d3dLightA.Position.x=20.0f;
// d3dLightA.Position.y=25.0f;
// d3dLightA.Position.z=-10.0f;
//
// d3dLightA.Direction.x=-1.0f;
// d3dLightA.Direction.y=-1.0f;
// d3dLightA.Direction.z=1.0f;
//
// d3dLightA.Attenuation0=1.0f;
// d3dLightA.Attenuation1=0.0f;
// d3dLightA.Attenuation2=0.0f;
// d3dLightA.Range=100.0f;
//
// d3dLightA.Diffuse.r=1.0f;
// d3dLightA.Diffuse.g=1.0f;
// d3dLightA.Diffuse.b=1.0f;
//
// d3dLightA.Ambient.r=0.0f;
// d3dLightA.Ambient.g=0.0f;
// d3dLightA.Ambient.b=0.0f;
//
// d3dLightA.Specular.r=1.0f;
// d3dLightA.Specular.g=1.0f;
// d3dLightA.Specular.b=1.0f;
//
// d3dLightA.Theta=D3DX_PI/2.5f;
// d3dLightA.Phi=D3DX_PI/1.5f;
// d3dLightA.Falloff=2.0f;
// //Assign the point light to device in position
// if(FAILED(m_pD3DDevice->SetLight(0,&d3dLightA)))
// {
// LogError("<li>SetLightA Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetLightA OK");
// }
//
// //Enable point light in position
// if(FAILED(m_pD3DDevice->LightEnable(0,TRUE)))
// {
// LogError("<li>LightEnableA Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>LightA Enable OK");
// }
//
// //Turn on lighting
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_LIGHTING,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_LIGHTING(A) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_LIGHTING(A) OK");
// }
//
// //Set ambient light level
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(50,50,50))))
// {
// LogError("<li>SetRenderState: D3DRS_AMBIENT(A) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_AMBIENT(A) OK");
// }
//
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_SPECULARENABLE,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_SPECULARENABLE(A) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_SPECULARENABLE(A) OK");
// }
// //the second light
// D3DLIGHT8 d3dLightB;
//
// //Initialize the third light structure.
// ZeroMemory(&d3dLightB,sizeof(D3DLIGHT8));
//
// d3dLightB.Type=D3DLIGHT_SPOT;
// d3dLightB.Position.x=20.0f;
// d3dLightB.Position.y=25.0f;
// d3dLightB.Position.z=10.0f;
//
// d3dLightB.Direction.x=-1.0f;
// d3dLightB.Direction.y=-1.0f;
// d3dLightB.Direction.z=-1.0f;
//
// d3dLightB.Attenuation0=1.0f;
// d3dLightB.Attenuation1=0.0f;
// d3dLightB.Attenuation2=0.0f;
// d3dLightB.Range=100.0f;
//
// d3dLightB.Diffuse.r=1.0f;
// d3dLightB.Diffuse.g=1.0f;
// d3dLightB.Diffuse.b=1.0f;
//
// d3dLightB.Ambient.r=0.0f;
// d3dLightB.Ambient.g=0.0f;
// d3dLightB.Ambient.b=0.0f;
//
// d3dLightB.Specular.r=1.0f;
// d3dLightB.Specular.g=1.0f;
// d3dLightB.Specular.b=1.0f;
//
// d3dLightB.Theta=D3DX_PI/2.5f;
// d3dLightB.Phi=D3DX_PI/1.5f;
// d3dLightB.Falloff=2.0f;
// //Assign the point light to device in position
// if(FAILED(m_pD3DDevice->SetLight(0,&d3dLightB)))
// {
// LogError("<li>SetLightB Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetLightB OK");
// }
//
// //Enable point light in position
// if(FAILED(m_pD3DDevice->LightEnable(0,TRUE)))
// {
// LogError("<li>LightEnableB Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>Light EnableB OK");
// }
//
// //Turn on lighting
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_LIGHTING,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_LIGHTING(B) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_LIGHTING(B) OK");
// }
//
// //Set ambient light level
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(50,50,50))))
// {
// LogError("<li>SetRenderState: D3DRS_AMBIENT(B) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_AMBIENT(B) OK");
// }
//
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_SPECULARENABLE,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_SPECULARENABLE(B) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_SPECULARENABLE(B) OK");
// }
//
// //the third light
// D3DLIGHT8 d3dLightC;
//
// //Initialize the light structure.
// ZeroMemory(&d3dLightC,sizeof(D3DLIGHT8));
//
// d3dLightC.Type=D3DLIGHT_SPOT;
// d3dLightC.Position.x=-20.0f;
// d3dLightC.Position.y=25.0f;
// d3dLightC.Position.z=-10.0f;
//
// d3dLightC.Direction.x=1.0f;
// d3dLightC.Direction.y=-1.0f;
// d3dLightC.Direction.z=1.0f;
//
// d3dLightC.Attenuation0=1.0f;
// d3dLightC.Attenuation1=0.0f;
// d3dLightC.Attenuation2=0.0f;
// d3dLightC.Range=100.0f;
//
// d3dLightC.Diffuse.r=1.0f;
// d3dLightC.Diffuse.g=1.0f;
// d3dLightC.Diffuse.b=1.0f;
//
// d3dLightC.Ambient.r=0.0f;
// d3dLightC.Ambient.g=0.0f;
// d3dLightC.Ambient.b=0.0f;
//
// d3dLightC.Specular.r=1.0f;
// d3dLightC.Specular.g=1.0f;
// d3dLightC.Specular.b=1.0f;
//
// d3dLightC.Theta=D3DX_PI/2.5f;
// d3dLightC.Phi=D3DX_PI/1.5f;
// d3dLightC.Falloff=2.0f;
// //Assign the point light to device in position
// if(FAILED(m_pD3DDevice->SetLight(0,&d3dLightC)))
// {
// LogError("<li>SetLightC Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetLightC OK");
// }
//
// //Enable point light in position
// if(FAILED(m_pD3DDevice->LightEnable(0,TRUE)))
// {
// LogError("<li>LightEnableC Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>Light EnableC OK");
// }
//
// //Turn on lighting
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_LIGHTING,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_LIGHTING(C) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_LIGHTING(C) OK");
// }
//
// //Set ambient light level
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(50,50,50))))
// {
// LogError("<li>SetRenderState: D3DRS_AMBIENT(C) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_AMBIENT(C) OK");
// }
//
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_SPECULARENABLE,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_SPECULARENABLE(C) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_SPECULARENABLE(C) OK");
// }
//
// //the fourth light
// D3DLIGHT8 d3dLightD;
//
// //Initialize the light structure.
// ZeroMemory(&d3dLightD,sizeof(D3DLIGHT8));
//
// d3dLightD.Type=D3DLIGHT_SPOT;
// d3dLightD.Position.x=-20.0f;
// d3dLightD.Position.y=25.0f;
// d3dLightD.Position.z=10.0f;
//
// d3dLightD.Direction.x=1.0f;
// d3dLightD.Direction.y=-1.0f;
// d3dLightD.Direction.z=-1.0f;
//
// d3dLightD.Attenuation0=1.0f;
// d3dLightD.Attenuation1=0.0f;
// d3dLightD.Attenuation2=0.0f;
// d3dLightD.Range=100.0f;
//
// d3dLightD.Diffuse.r=1.0f;
// d3dLightD.Diffuse.g=1.0f;
// d3dLightD.Diffuse.b=1.0f;
//
// d3dLightD.Ambient.r=0.0f;
// d3dLightD.Ambient.g=0.0f;
// d3dLightD.Ambient.b=0.0f;
//
// d3dLightD.Specular.r=1.0f;
// d3dLightD.Specular.g=1.0f;
// d3dLightD.Specular.b=1.0f;
//
// d3dLightD.Theta=D3DX_PI/2.5f;
// d3dLightD.Phi=D3DX_PI/1.5f;
// d3dLightD.Falloff=2.0f;
// //Assign the point light to device in position
// if(FAILED(m_pD3DDevice->SetLight(0,&d3dLightD)))
// {
// LogError("<li>SetLight(D) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetLight(D) OK");
// }
//
// //Enable point light in position
// if(FAILED(m_pD3DDevice->LightEnable(0,TRUE)))
// {
// LogError("<li>LightEnable(D) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>Light Enable(D) OK");
// }
//
// //Turn on lighting
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_LIGHTING,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_LIGHTING(D) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_LIGHTING(D) OK");
// }
//
// //Set ambient light level
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(50,50,50))))
// {
// LogError("<li>SetRenderState: D3DRS_AMBIENT(D) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_AMBIENT(D) OK");
// }
//
// if(FAILED(m_pD3DDevice->SetRenderState(D3DRS_SPECULARENABLE,TRUE)))
// {
// LogError("<li>SetRenderState: D3DRS_SPECULARENABLE(D) Failed");
// return FALSE;
// }
// else
// {
// LogInfo("<li>SetRenderState: D3DRS_SPECULARENABLE(D) OK");
// }
// //haoxf end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -