⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fog.cpp

📁 自己做的一个3D场景
💻 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 + -