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

📄 d3dmapping.h

📁 game code对于游戏地图的编辑代码
💻 H
字号:
#ifndef __D3DMAPPING_H__
#define __D3DMAPPING_H__

#ifndef __D3D8PREREQUISITES_H__
#	include "DX8Prerequisites.h"
#endif
#ifndef __VISUALSYSOPTIONS_H__
#	include "../../Main/QVisualSysOptions.h"
#endif
#ifndef __BLENDMODE_H__
#	include "../../Main/QBlendMode.h"
#endif

namespace QGE
{
	namespace VISUAL
	{
		class _D3D8Export D3DMapping
		{
		public:
			static DWORD Get(LayerBlendOperationEx lbo,D3DCAPS8* caps)
			{
				switch( lbo )
				{
				case LBX_SOURCE1:
					return D3DTOP_SELECTARG1;
				case LBX_SOURCE2:
					return D3DTOP_SELECTARG2;
				case LBX_MODULATE:
					return D3DTOP_MODULATE;
				case LBX_MODULATE_X2:
					return D3DTOP_MODULATE2X;
				case LBX_MODULATE_X4:
					return D3DTOP_MODULATE4X;
				case LBX_ADD:
					return D3DTOP_ADD;
				case LBX_ADD_SIGNED:
					return D3DTOP_ADDSIGNED;
				case LBX_ADD_SMOOTH:
					return D3DTOP_ADDSMOOTH;
				case LBX_SUBTRACT:
					return D3DTOP_SUBTRACT;
				case LBX_BLEND_DIFFUSE_ALPHA:
					return D3DTOP_BLENDDIFFUSEALPHA;
				case LBX_BLEND_TEXTURE_ALPHA:
					return D3DTOP_BLENDTEXTUREALPHA;
				case LBX_BLEND_CURRENT_ALPHA:
					return D3DTOP_BLENDCURRENTALPHA;
				case LBX_BLEND_MANUAL:
					return D3DTOP_BLENDFACTORALPHA;
				case LBX_DOTPRODUCT:
					if( caps->TextureOpCaps & D3DTEXOPCAPS_DOTPRODUCT3 )
						return D3DTOP_DOTPRODUCT3;
					else
						return D3DTOP_MODULATE;
				default:
					return 0;
				}
			}
			static D3DLIGHTTYPE Get(LightType lt)
			{
				switch( lt )
				{
				case LT_POINT:
					return D3DLIGHT_POINT;
				case LT_DIRECTIONAL:
					return D3DLIGHT_DIRECTIONAL;
				case LT_SPOT:
					return D3DLIGHT_SPOT;
				default:
					return D3DLIGHT_FORCE_DWORD;
				}
			}
			static DWORD Get(LayerBlendSource lbs)
			{
				switch( lbs )
				{
				case LBS_CURRENT:
					return D3DTA_COMPLEMENT;
				case LBS_TEXTURE:
					return D3DTA_TEXTURE;
				case LBS_DIFFUSE:
					return D3DTA_DIFFUSE;
				case LBS_SPECULAR:
					return D3DTA_SPECULAR;
				case LBS_MANUAL:
					return D3DTA_TFACTOR;
				default:
					return 0;
				}
			}
			static DWORD Get(ShadingOptions so)
			{
				switch( so )
				{
				case SO_FLAT:
					return D3DSHADE_FLAT;
				case SO_GOURAUD:
					return D3DSHADE_GOURAUD;
				case SO_PHONG:
					return D3DSHADE_PHONG;
				default:
					return 0;
				}
			}
			static DWORD Get(CullingMode cm)
			{
				switch( cm )
				{
				case CULL_NONE:
					return D3DCULL_NONE;
				case CULL_CLOCKWISE:
					return D3DCULL_CW;
				case CULL_ANTICLOCKWISE:
					return D3DCULL_CCW;
				default:
					return 0;
				}
			}
			static DWORD Get(CompareFunction cf)
			{
				switch( cf )
				{
				case CMPF_ALWAYS_FAIL:
					return D3DCMP_NEVER;
				case CMPF_ALWAYS_PASS:
					return D3DCMP_ALWAYS;
				case CMPF_EQUAL:
					return D3DCMP_EQUAL;
				case CMPF_GREATER:
					return D3DCMP_GREATER;
				case CMPF_GREATER_EQUAL:
					return D3DCMP_GREATEREQUAL;
				case CMPF_LESS:
					return D3DCMP_LESS;
				case CMPF_LESS_EQUAL:
					return D3DCMP_LESSEQUAL;
				case CMPF_NOT_EQUAL:
					return D3DCMP_NOTEQUAL;
				default:
					return 0;
				}
			}
			static DWORD Get(StencilOperation so)
			{
				switch(so)
				{
				case SOP_KEEP:
					return D3DSTENCILOP_KEEP;
				case SOP_ZERO:
					return D3DSTENCILOP_ZERO;
				case SOP_REPLACE:
					return D3DSTENCILOP_REPLACE;
				case SOP_INCREMENT:
					return D3DSTENCILOP_INCRSAT;
				case SOP_DECREMENT:
					return D3DSTENCILOP_DECRSAT;
				case SOP_INVERT:
					return D3DSTENCILOP_INVERT;
				default:
					return 0;
				}
			}
			static DWORD Get(SceneDetailLevel sdl)
			{
				switch(sdl)
				{
				case SDL_POINTS:
					return D3DFILL_POINT;
				case SDL_WIREFRAME:
					return D3DFILL_WIREFRAME;
				case SDL_SOLID:
					return D3DFILL_SOLID;
				default:
					return 0;
				}
			}
			static DWORD Get(ClearMode cm)
			{
				switch( cm )
				{
				case CLEAR_TARGET:
					return D3DCLEAR_TARGET;
				case CLEAR_STENCIL:
					return D3DCLEAR_STENCIL;
				case CLEAR_ZBUFFER:
					return D3DCLEAR_ZBUFFER;
				case CLEAR_TARGET_ZBUFFER:
					return D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER;
				case CLEAR_TARGET_STENCIL:
					return D3DCLEAR_TARGET|D3DCLEAR_STENCIL;
				default:
					return D3DCLEAR_TARGET;
				}
			}
			static void  Get(VertexDeclarationType vdt ,DWORD& vertexRegister,DWORD& type)
			{
				switch(vdt)
				{
				case VDT_POSITION:
					vertexRegister = D3DVSDE_POSITION;
					type = D3DVSDT_FLOAT3;
					break;
				case VDT_DIFFUSE:
					vertexRegister = D3DVSDE_DIFFUSE;
					type = D3DVSDT_D3DCOLOR;
					break;
				case VDT_BLENDWEIGHT:
					vertexRegister = D3DVSDE_BLENDWEIGHT;
					type = D3DVSDT_FLOAT1;
					break;
				case VDT_TEXCOOR0:
					vertexRegister = D3DVSDE_TEXCOORD0;
					type = D3DVSDT_FLOAT2;
					break;
				case VDT_TEXCOOR1:
					vertexRegister = D3DVSDE_TEXCOORD1;
					type = D3DVSDT_FLOAT2;
					break;
				case VDT_TEXCOOR2:
					vertexRegister = D3DVSDE_TEXCOORD2;
					type = D3DVSDT_FLOAT2;
					break;
				case VDT_TEXCOOR3:
					vertexRegister = D3DVSDE_TEXCOORD3;
					type = D3DVSDT_FLOAT2;
					break;
				default:
					vertexRegister = 0;
					type =0;
				}
			}
		};
	}
}

#endif

⌨️ 快捷键说明

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