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

📄 structs.h

📁 VC++ DEMO, used for the beginners and the amour
💻 H
字号:
#ifdef  CGE_HEADER_H
#ifndef STRUCT_H
#define STRUCT_H

namespace CGE
{
	namespace VERTEX_STRUCT
	{
		typedef struct D3DHVERTEX {
			DWORD           dwFlags;        /* Homogeneous clipping flags */
			union {
				float    hx;
				float    dvHX;
			};
			union {
				float    hy;
				float    dvHY;
			};
			union {
				float    hz;
				float    dvHZ;
			};

		}*LPD3DHVERTEX;
		
		
		typedef struct D3DTLVERTEX {
			union {
				float    sx;             /* Screen coordinates */
				float    dvSX;
			};
			union {
				float    sy;
				float    dvSY;
			};
			union {
				float    sz;
				float    dvSZ;
			};
			union {
				float    rhw;        /* Reciprocal of homogeneous w */
				float    dvRHW;
			};
			union {
				D3DCOLOR    color;          /* Vertex color */
				D3DCOLOR    dcColor;
			};
			union {
				D3DCOLOR    specular;       /* Specular component of vertex */
				D3DCOLOR    dcSpecular;
			};
			union {
				float    tu;             /* Texture coordinates */
				float    dvTU;
			};
			union {
				float    tv;
				float    dvTV;
			};
			D3DTLVERTEX() { }
			D3DTLVERTEX(const D3DVECTOR& v, float _rhw,
				D3DCOLOR _color, D3DCOLOR _specular,
				float _tu, float _tv)
			{ sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
			color = _color; specular = _specular;
			tu = _tu; tv = _tv;
			}
			enum
			{
				D3DFVF_D3DTLVERTEX = (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1)
			};
		}*LPD3DTLVERTEX;
		 		
		typedef struct D3DLVERTEX {
			union {
				float     x;             /* Homogeneous coordinates */
				float     dvX;
			};
			union {
				float     y;
				float     dvY;
			};
			union {
				float     z;
				float     dvZ;
			};
			union {
				DWORD     color;         /* Vertex color */
				DWORD     dcColor;
			};
			union {
				DWORD     specular;      /* Specular component of vertex */
				DWORD     dcSpecular;
			};
			union {
				float     tu;            /* Texture coordinates */
				float     dvTU;
			};
			union {
				float     tv;
				float     dvTV;
			};
			D3DLVERTEX() { }
			D3DLVERTEX(const D3DVECTOR& v,
				D3DCOLOR _color, D3DCOLOR _specular,
				float _tu, float _tv)
			{
				x = v.x; y = v.y; z = v.z;
				color = _color; specular = _specular;
				tu = _tu; tv = _tv;
			}
			enum
			{
				D3DFVF_D3DLVERTEX = (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_SPECULAR|D3DFVF_TEX1)
			};
		}*LPD3DLVERTEX;
		

		typedef struct D3DVERTEX {
			union {
				float     x;             /* Homogeneous coordinates */
				float     dvX;
			};
			union {
				float     y;
				float     dvY;
			};
			union {
				float     z;
				float     dvZ;
			};
			union {
				float     nx;            /* Normal */
				float     dvNX;
			};
			union {
				float     ny;
				float     dvNY;
			};
			union {
				float     nz;
				float     dvNZ;
			};
			union {
				float     tu;            /* Texture coordinates */
				float     dvTU;
			};
			union {
				float     tv;
				float     dvTV;
			};
			D3DVERTEX() { }
			D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv)
			{
				x = v.x; y = v.y; z = v.z;
				nx = n.x; ny = n.y; nz = n.z;
				tu = _tu; tv = _tv;
			}
			enum
			{
				D3DFVF_D3DVERTEX = (D3DFVF_XYZ|D3DFVF_PSIZE|D3DFVF_TEX1)
			};
		}*LPD3DVERTEX;
		
		typedef struct D3DPTVERTEX {
			union {
				float     x;
				float     dvX;
			};
			union {
				float     y;
				float     dvY;
			};
			union {
				float     z;
				float     dvZ;
			};
			union {
				float     dimension;            /* Vertex Size */
				float     dvDimension;
			};
			union {
				DWORD     color;         /* Vertex color */
				DWORD     dcColor;
			};
			union {
				DWORD     specular;      /* Specular component of vertex */
				DWORD     dcSpecular;
			};
			
			D3DPTVERTEX() { }
			D3DPTVERTEX(const D3DVECTOR& v, float _dimension,
				D3DCOLOR _color, D3DCOLOR _specular)
			{
				x = v.x; y = v.y; z = v.z;
				dimension = _dimension;
				color = _color; specular = _specular;
			}
			enum
			{
				D3DFVF_D3DPTVERTEX = ( D3DFVF_XYZ|D3DFVF_PSIZE|D3DFVF_DIFFUSE|D3DFVF_SPECULAR )
			};
		}*LPD3DPTVERTEX;
	}
}
#endif
#endif

⌨️ 快捷键说明

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