scene.h

来自「VC++ DEMO, used for the beginners and th」· C头文件 代码 · 共 60 行

H
60
字号
#ifdef CGE_HEADER_H
#ifndef CGE_SCENE_H
#define CGE_SCENE_H

namespace CGE
{
	namespace SCENE
	{
		CGE_INLINE VOID 
			SetPixelFog(LPDIRECT3DDEVICE8 device,DWORD Color,DWORD Mode,FLOAT fStart,FLOAT fEnd,FLOAT fDensity)
		{
			CHECK_RANGE(fStart,0,fEnd);
			// Enable fog blending.
			device->SetRenderState(D3DRS_FOGENABLE, TRUE);	
			// Set the fog color.
			device->SetRenderState(D3DRS_FOGCOLOR, Color);
			
			// Set fog parameters.
			if(D3DFOG_LINEAR == Mode)
			{
				device->SetRenderState(D3DRS_FOGTABLEMODE, Mode);
				device->SetRenderState(D3DRS_FOGSTART, *(DWORD *)(&fStart));
				device->SetRenderState(D3DRS_FOGEND,   *(DWORD *)(&fEnd));
			}
			else
			{
				device->SetRenderState(D3DRS_FOGTABLEMODE, Mode);
				device->SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&fDensity));
			}
		}
		CGE_INLINE VOID
			SetVertexFog(LPDIRECT3DDEVICE8 device,DWORD Color,DWORD Mode,FLOAT fStart,FLOAT fEnd,BOOL bUseRange,FLOAT fDensity)
		{
			CHECK_RANGE(fStart,0,fEnd);
			// Enable fog blending.
			device->SetRenderState(D3DRS_FOGENABLE, TRUE);
			
			// Set the fog color.
			device->SetRenderState(D3DRS_FOGCOLOR, Color);
			
			// Set fog parameters.
			if(D3DFOG_LINEAR == Mode)
			{
				device->SetRenderState(D3DRS_FOGVERTEXMODE, Mode);
				device->SetRenderState(D3DRS_FOGSTART, *(DWORD *)(&fStart));
				device->SetRenderState(D3DRS_FOGEND,   *(DWORD *)(&fEnd));
			}
			else
			{
				device->SetRenderState(D3DRS_FOGVERTEXMODE, Mode);
				device->SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&fDensity));
			}
			
			if(bUseRange)
				device->SetRenderState(D3DRS_RANGEFOGENABLE,TRUE);
		}		
	}
}
#endif
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?