📄 d3dtypes.h
字号:
D3DVALUE dvScaleX; /* Scale homogeneous to screen */ D3DVALUE dvScaleY; /* Scale homogeneous to screen */ D3DVALUE dvMaxX; /* Min/max homogeneous x coord */ D3DVALUE dvMaxY; /* Min/max homogeneous y coord */ D3DVALUE dvMinZ; D3DVALUE dvMaxZ; /* Min/max homogeneous z coord */} D3DVIEWPORT, *LPD3DVIEWPORT;/* * Values for clip fields. */#define D3DCLIP_LEFT 0x00000001L#define D3DCLIP_RIGHT 0x00000002L#define D3DCLIP_TOP 0x00000004L#define D3DCLIP_BOTTOM 0x00000008L#define D3DCLIP_FRONT 0x00000010L#define D3DCLIP_BACK 0x00000020L#define D3DCLIP_GEN0 0x00000040L#define D3DCLIP_GEN1 0x00000080L#define D3DCLIP_GEN2 0x00000100L#define D3DCLIP_GEN3 0x00000200L#define D3DCLIP_GEN4 0x00000400L#define D3DCLIP_GEN5 0x00000800L/* * Values for d3d status. */#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000L#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000L#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000L#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000L#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000L#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000L#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000L#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000L#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000L#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000L#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000L#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000L#define D3DSTATUS_ZNOTVISIBLE 0x01000000L#define D3DSTATUS_CLIPUNIONALL ( \ D3DSTATUS_CLIPUNIONLEFT | \ D3DSTATUS_CLIPUNIONRIGHT | \ D3DSTATUS_CLIPUNIONTOP | \ D3DSTATUS_CLIPUNIONBOTTOM | \ D3DSTATUS_CLIPUNIONFRONT | \ D3DSTATUS_CLIPUNIONBACK | \ D3DSTATUS_CLIPUNIONGEN0 | \ D3DSTATUS_CLIPUNIONGEN1 | \ D3DSTATUS_CLIPUNIONGEN2 | \ D3DSTATUS_CLIPUNIONGEN3 | \ D3DSTATUS_CLIPUNIONGEN4 | \ D3DSTATUS_CLIPUNIONGEN5 \ )#define D3DSTATUS_CLIPINTERSECTIONALL ( \ D3DSTATUS_CLIPINTERSECTIONLEFT | \ D3DSTATUS_CLIPINTERSECTIONRIGHT | \ D3DSTATUS_CLIPINTERSECTIONTOP | \ D3DSTATUS_CLIPINTERSECTIONBOTTOM | \ D3DSTATUS_CLIPINTERSECTIONFRONT | \ D3DSTATUS_CLIPINTERSECTIONBACK | \ D3DSTATUS_CLIPINTERSECTIONGEN0 | \ D3DSTATUS_CLIPINTERSECTIONGEN1 | \ D3DSTATUS_CLIPINTERSECTIONGEN2 | \ D3DSTATUS_CLIPINTERSECTIONGEN3 | \ D3DSTATUS_CLIPINTERSECTIONGEN4 | \ D3DSTATUS_CLIPINTERSECTIONGEN5 \ )#define D3DSTATUS_DEFAULT ( \ D3DSTATUS_CLIPINTERSECTIONALL | \ D3DSTATUS_ZNOTVISIBLE)/* * Options for direct transform calls */#define D3DTRANSFORM_CLIPPED 0x00000001l#define D3DTRANSFORM_UNCLIPPED 0x00000002ltypedef struct _D3DTRANSFORMDATA { DWORD dwSize; LPVOID lpIn; /* Input vertices */ DWORD dwInSize; /* Stride of input vertices */ LPVOID lpOut; /* Output vertices */ DWORD dwOutSize; /* Stride of output vertices */ LPD3DHVERTEX lpHOut; /* Output homogeneous vertices */ DWORD dwClip; /* Clipping hint */ DWORD dwClipIntersection; DWORD dwClipUnion; /* Union of all clip flags */ D3DRECT drExtent; /* Extent of transformed vertices */} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA;/* * Structure defining position and direction properties for lighting. */typedef struct _D3DLIGHTINGELEMENT { D3DVECTOR dvPosition; /* Lightable point in model space */ D3DVECTOR dvNormal; /* Normalised unit vector */} D3DLIGHTINGELEMENT, *LPD3DLIGHTINGELEMENT;/* * Structure defining material properties for lighting. */typedef struct _D3DMATERIAL { DWORD dwSize; union { D3DCOLORVALUE diffuse; /* Diffuse color RGBA */ D3DCOLORVALUE dcvDiffuse; }; union { D3DCOLORVALUE ambient; /* Ambient color RGB */ D3DCOLORVALUE dcvAmbient; }; union { D3DCOLORVALUE specular; /* Specular 'shininess' */ D3DCOLORVALUE dcvSpecular; }; union { D3DCOLORVALUE emissive; /* Emissive color RGB */ D3DCOLORVALUE dcvEmissive; }; union { D3DVALUE power; /* Sharpness if specular highlight */ D3DVALUE dvPower; }; D3DTEXTUREHANDLE hTexture; /* Handle to texture map */ DWORD dwRampSize;} D3DMATERIAL, *LPD3DMATERIAL;typedef enum _D3DLIGHTTYPE { D3DLIGHT_POINT = 1, D3DLIGHT_SPOT = 2, D3DLIGHT_DIRECTIONAL = 3, D3DLIGHT_PARALLELPOINT = 4, D3DLIGHT_GLSPOT = 5,} D3DLIGHTTYPE;/* * Structure defining a light source and its properties. */typedef struct _D3DLIGHT { DWORD dwSize; D3DLIGHTTYPE dltType; /* Type of light source */ D3DCOLORVALUE dcvColor; /* Color of light */ D3DVECTOR dvPosition; /* Position in world space */ D3DVECTOR dvDirection; /* Direction in world space */ D3DVALUE dvRange; /* Cutoff range */ D3DVALUE dvFalloff; /* Falloff */ D3DVALUE dvAttenuation0; /* Constant attenuation */ D3DVALUE dvAttenuation1; /* Linear attenuation */ D3DVALUE dvAttenuation2; /* Quadratic attenuation */ D3DVALUE dvTheta; /* Inner angle of spotlight cone */ D3DVALUE dvPhi; /* Outer angle of spotlight cone */} D3DLIGHT, *LPD3DLIGHT;typedef struct _D3DLIGHTDATA { DWORD dwSize; LPD3DLIGHTINGELEMENT lpIn; /* Input positions and normals */ DWORD dwInSize; /* Stride of input elements */ LPD3DTLVERTEX lpOut; /* Output colors */ DWORD dwOutSize; /* Stride of output colors */} D3DLIGHTDATA, *LPD3DLIGHTDATA;typedef enum _D3DCOLORMODEL { D3DCOLOR_MONO = 1, D3DCOLOR_RGB = 2,} D3DCOLORMODEL;/* * Options for clearing */#define D3DCLEAR_TARGET 0x00000001l /* Clear target surface */#define D3DCLEAR_ZBUFFER 0x00000002l /* Clear target z buffer *//* * Execute buffers are allocated via Direct3D. These buffers may then * be filled by the application with instructions to execute along with * vertex data. *//* * Supported op codes for execute instructions. */typedef enum _D3DOPCODE { D3DOP_POINT = 1, D3DOP_LINE = 2, D3DOP_TRIANGLE = 3, D3DOP_MATRIXLOAD = 4, D3DOP_MATRIXMULTIPLY = 5, D3DOP_STATETRANSFORM = 6, D3DOP_STATELIGHT = 7, D3DOP_STATERENDER = 8, D3DOP_PROCESSVERTICES = 9, D3DOP_TEXTURELOAD = 10, D3DOP_EXIT = 11, D3DOP_BRANCHFORWARD = 12, D3DOP_SPAN = 13, D3DOP_SETSTATUS = 14,} D3DOPCODE;typedef struct _D3DINSTRUCTION { BYTE bOpcode; /* Instruction opcode */ BYTE bSize; /* Size of each instruction data unit */ WORD wCount; /* Count of instruction data units to follow */} D3DINSTRUCTION, *LPD3DINSTRUCTION;/* * Structure for texture loads */typedef struct _D3DTEXTURELOAD { D3DTEXTUREHANDLE hDestTexture; D3DTEXTUREHANDLE hSrcTexture;} D3DTEXTURELOAD, *LPD3DTEXTURELOAD;/* * Structure for picking */typedef struct _D3DPICKRECORD { BYTE bOpcode; BYTE bPad; DWORD dwOffset; D3DVALUE dvZ;} D3DPICKRECORD, *LPD3DPICKRECORD;/* * The following defines the rendering states which can be set in the * execute buffer. */typedef enum _D3DSHADEMODE { D3DSHADE_FLAT = 1, D3DSHADE_GOURAUD = 2, D3DSHADE_PHONG = 3,} D3DSHADEMODE;typedef enum _D3DFILLMODE { D3DFILL_POINT = 1, D3DFILL_WIREFRAME = 2, D3DFILL_SOLID = 3,} D3DFILLMODE;typedef struct _D3DLINEPATTERN { WORD wRepeatFactor; WORD wLinePattern;} D3DLINEPATTERN;typedef enum _D3DTEXTUREFILTER { D3DFILTER_NEAREST = 1, D3DFILTER_LINEAR = 2, D3DFILTER_MIPNEAREST = 3, D3DFILTER_MIPLINEAR = 4, D3DFILTER_LINEARMIPNEAREST = 5, D3DFILTER_LINEARMIPLINEAR = 6,} D3DTEXTUREFILTER;typedef enum _D3DBLEND { D3DBLEND_ZERO = 1, D3DBLEND_ONE = 2, D3DBLEND_SRCCOLOR = 3, D3DBLEND_INVSRCCOLOR = 4, D3DBLEND_SRCALPHA = 5, D3DBLEND_INVSRCALPHA = 6, D3DBLEND_DESTALPHA = 7, D3DBLEND_INVDESTALPHA = 8, D3DBLEND_DESTCOLOR = 9, D3DBLEND_INVDESTCOLOR = 10, D3DBLEND_SRCALPHASAT = 11, D3DBLEND_BOTHSRCALPHA = 12, D3DBLEND_BOTHINVSRCALPHA = 13,} D3DBLEND;typedef enum _D3DTEXTUREBLEND { D3DTBLEND_DECAL = 1, D3DTBLEND_MODULATE = 2, D3DTBLEND_DECALALPHA = 3, D3DTBLEND_MODULATEALPHA = 4, D3DTBLEND_DECALMASK = 5, D3DTBLEND_MODULATEMASK = 6, D3DTBLEND_COPY = 7,} D3DTEXTUREBLEND;typedef enum _D3DTEXTUREADDRESS { D3DTADDRESS_WRAP = 1, D3DTADDRESS_MIRROR = 2, D3DTADDRESS_CLAMP = 3,} D3DTEXTUREADDRESS;typedef enum _D3DCULL { D3DCULL_NONE = 1, D3DCULL_CW = 2, D3DCULL_CCW = 3,} D3DCULL;typedef enum _D3DCMPFUNC { D3DCMP_NEVER = 1, D3DCMP_LESS = 2, D3DCMP_EQUAL = 3, D3DCMP_LESSEQUAL = 4, D3DCMP_GREATER = 5, D3DCMP_NOTEQUAL = 6, D3DCMP_GREATEREQUAL = 7, D3DCMP_ALWAYS = 8,} D3DCMPFUNC;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -