📄 fog.cpp
字号:
//-----------------------------------------------------------------------------
// Name: SetFog()
// Desc: 设置雾化效果
//-----------------------------------------------------------------------------
VOID SetFog()
{
g_pd3dDevice->SetRenderState( D3DRS_FOGENABLE, TRUE );
g_pd3dDevice->SetRenderState( D3DRS_FOGCOLOR , 0x00ffffFF);
D3DCAPS9 stCaps;
g_pd3dDevice->GetDeviceCaps (&stCaps);
if (stCaps.RasterCaps&D3DPRASTERCAPS_FOGRANGE)
g_pd3dDevice->SetRenderState(D3DRS_RANGEFOGENABLE, TRUE);
float fTime=timeGetTime()/1000.0f;
fTime=fTime/10;
int FogKey=((int)fTime)%3;
float start=50;
float end=500;
float density=.001f;
switch(FogKey)
{
case 0:
g_pd3dDevice->SetRenderState( D3DRS_FOGSTART , *(DWORD*)&start);
g_pd3dDevice->SetRenderState( D3DRS_FOGEND , *(DWORD*)&end);
g_pd3dDevice->SetRenderState( D3DRS_FOGTABLEMODE , D3DFOG_LINEAR);
strcpy(g_PrintText,"linear fog");
break;
case 1:
g_pd3dDevice->SetRenderState( D3DRS_FOGDENSITY , *(DWORD*)&density);
g_pd3dDevice->SetRenderState( D3DRS_FOGTABLEMODE , D3DFOG_EXP);
strcpy(g_PrintText,"exp fog");
break;
case 2:
g_pd3dDevice->SetRenderState( D3DRS_FOGDENSITY , *(DWORD*)&density);
g_pd3dDevice->SetRenderState( D3DRS_FOGTABLEMODE , D3DFOG_EXP2);
strcpy(g_PrintText,"exp2 fog");
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -