RetroArch
d3d8types.h
Go to the documentation of this file.
1 /*==========================================================================;
2  *
3  * Copyright (C) Microsoft Corporation. All Rights Reserved.
4  *
5  * File: d3d8types.h
6  * Content: Direct3D capabilities include file
7  *
8  ***************************************************************************/
9 
10 #ifndef _D3D8TYPES_H_
11 #define _D3D8TYPES_H_
12 
13 #ifndef DIRECT3D_VERSION
14 #define DIRECT3D_VERSION 0x0800
15 #endif /* DIRECT3D_VERSION */
16 
17 /* include this file content only if compiling for DX8 interfaces */
18 #if(DIRECT3D_VERSION >= 0x0800)
19 
20 #include <float.h>
21 
22 #if _MSC_VER >= 1200
23 #pragma warning(push)
24 #endif
25 #pragma warning(disable:4201) /* anonymous unions warning */
26 #if defined(_X86_) || defined(_IA64_)
27 #pragma pack(4)
28 #endif
29 
30 /* D3DCOLOR is equivalent to D3DFMT_A8R8G8B8 */
31 #ifndef D3DCOLOR_DEFINED
32 typedef DWORD D3DCOLOR;
33 #define D3DCOLOR_DEFINED
34 #endif
35 
36 /* maps unsigned 8 bits/channel to D3DCOLOR */
37 #define D3DCOLOR_ARGB(a,r,g,b) \
38  ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
39 #define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
40 #define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
41 
42 /* maps floating point channels (0.f to 1.f range) to D3DCOLOR */
43 #define D3DCOLOR_COLORVALUE(r,g,b,a) \
44  D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
45 
46 
47 #ifndef D3DVECTOR_DEFINED
48 typedef struct _D3DVECTOR {
49  float x;
50  float y;
51  float z;
52 } D3DVECTOR;
53 #define D3DVECTOR_DEFINED
54 #endif
55 
56 #ifndef D3DCOLORVALUE_DEFINED
57 typedef struct _D3DCOLORVALUE {
58  float r;
59  float g;
60  float b;
61  float a;
63 #define D3DCOLORVALUE_DEFINED
64 #endif
65 
66 #ifndef D3DRECT_DEFINED
67 typedef struct _D3DRECT {
68  LONG x1;
69  LONG y1;
70  LONG x2;
71  LONG y2;
72 } D3DRECT;
73 #define D3DRECT_DEFINED
74 #endif
75 
76 #ifndef D3DMATRIX_DEFINED
77 typedef struct _D3DMATRIX {
78  union {
79  struct {
80  float _11, _12, _13, _14;
81  float _21, _22, _23, _24;
82  float _31, _32, _33, _34;
83  float _41, _42, _43, _44;
84 
85  };
86  float m[4][4];
87  };
88 } D3DMATRIX;
89 #define D3DMATRIX_DEFINED
90 #endif
91 
92 typedef struct _D3DVIEWPORT8 {
93  DWORD X;
94  DWORD Y; /* Viewport Top left */
95  DWORD Width;
96  DWORD Height; /* Viewport Dimensions */
97  float MinZ; /* Min/max of clip Volume */
98  float MaxZ;
99 } D3DVIEWPORT8;
100 
101 /*
102  * Values for clip fields.
103  */
104 
105 /* Max number of user clipping planes, supported in D3D. */
106 #define D3DMAXUSERCLIPPLANES 32
107 
108 /* These bits could be ORed together to use with D3DRS_CLIPPLANEENABLE */
109 #define D3DCLIPPLANE0 (1 << 0)
110 #define D3DCLIPPLANE1 (1 << 1)
111 #define D3DCLIPPLANE2 (1 << 2)
112 #define D3DCLIPPLANE3 (1 << 3)
113 #define D3DCLIPPLANE4 (1 << 4)
114 #define D3DCLIPPLANE5 (1 << 5)
115 
116 /* The following bits are used in the ClipUnion and ClipIntersection
117  * members of the D3DCLIPSTATUS8
118  */
119 
120 #define D3DCS_LEFT 0x00000001L
121 #define D3DCS_RIGHT 0x00000002L
122 #define D3DCS_TOP 0x00000004L
123 #define D3DCS_BOTTOM 0x00000008L
124 #define D3DCS_FRONT 0x00000010L
125 #define D3DCS_BACK 0x00000020L
126 #define D3DCS_PLANE0 0x00000040L
127 #define D3DCS_PLANE1 0x00000080L
128 #define D3DCS_PLANE2 0x00000100L
129 #define D3DCS_PLANE3 0x00000200L
130 #define D3DCS_PLANE4 0x00000400L
131 #define D3DCS_PLANE5 0x00000800L
132 
133 #define D3DCS_ALL (D3DCS_LEFT | \
134  D3DCS_RIGHT | \
135  D3DCS_TOP | \
136  D3DCS_BOTTOM | \
137  D3DCS_FRONT | \
138  D3DCS_BACK | \
139  D3DCS_PLANE0 | \
140  D3DCS_PLANE1 | \
141  D3DCS_PLANE2 | \
142  D3DCS_PLANE3 | \
143  D3DCS_PLANE4 | \
144  D3DCS_PLANE5)
145 
146 typedef struct _D3DCLIPSTATUS8 {
147  DWORD ClipUnion;
150 
151 typedef struct _D3DMATERIAL8 {
152  D3DCOLORVALUE Diffuse; /* Diffuse color RGBA */
153  D3DCOLORVALUE Ambient; /* Ambient color RGB */
154  D3DCOLORVALUE Specular; /* Specular 'shininess' */
155  D3DCOLORVALUE Emissive; /* Emissive color RGB */
156  float Power; /* Sharpness if specular highlight */
157 } D3DMATERIAL8;
158 
159 typedef enum _D3DLIGHTTYPE {
163  D3DLIGHT_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
164 } D3DLIGHTTYPE;
165 
166 typedef struct _D3DLIGHT8 {
167  D3DLIGHTTYPE Type; /* Type of light source */
168  D3DCOLORVALUE Diffuse; /* Diffuse color of light */
169  D3DCOLORVALUE Specular; /* Specular color of light */
170  D3DCOLORVALUE Ambient; /* Ambient color of light */
171  D3DVECTOR Position; /* Position in world space */
172  D3DVECTOR Direction; /* Direction in world space */
173  float Range; /* Cutoff range */
174  float Falloff; /* Falloff */
175  float Attenuation0; /* Constant attenuation */
176  float Attenuation1; /* Linear attenuation */
177  float Attenuation2; /* Quadratic attenuation */
178  float Theta; /* Inner angle of spotlight cone */
179  float Phi; /* Outer angle of spotlight cone */
180 } D3DLIGHT8;
181 
182 /*
183  * Options for clearing
184  */
185 #define D3DCLEAR_TARGET 0x00000001l /* Clear target surface */
186 #define D3DCLEAR_ZBUFFER 0x00000002l /* Clear target z buffer */
187 #define D3DCLEAR_STENCIL 0x00000004l /* Clear stencil planes */
188 
189 /*
190  * The following defines the rendering states
191  */
192 
193 typedef enum _D3DSHADEMODE {
197  D3DSHADE_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
198 } D3DSHADEMODE;
199 
200 typedef enum _D3DFILLMODE {
204  D3DFILL_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
205 } D3DFILLMODE;
206 
207 typedef struct _D3DLINEPATTERN {
211 
212 typedef enum _D3DBLEND {
226  D3DBLEND_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
227 } D3DBLEND;
228 
229 typedef enum _D3DBLENDOP {
235  D3DBLENDOP_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
236 } D3DBLENDOP;
237 
238 typedef enum _D3DTEXTUREADDRESS {
244  D3DTADDRESS_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
246 
247 typedef enum _D3DCULL {
251  D3DCULL_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
252 } D3DCULL;
253 
254 typedef enum _D3DCMPFUNC {
263  D3DCMP_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
264 } D3DCMPFUNC;
265 
266 typedef enum _D3DSTENCILOP {
275  D3DSTENCILOP_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
276 } D3DSTENCILOP;
277 
278 typedef enum _D3DFOGMODE {
283  D3DFOG_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
284 } D3DFOGMODE;
285 
286 typedef enum _D3DZBUFFERTYPE {
288  D3DZB_TRUE = 1, /* Z buffering */
289  D3DZB_USEW = 2, /* W buffering */
290  D3DZB_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
292 
293 /* Primitives supported by draw-primitive API */
294 typedef enum _D3DPRIMITIVETYPE {
301  D3DPT_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
303 
315  D3DTS_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
317 
318 #define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
319 #define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
320 #define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
321 #define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
322 #define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
323 
324 typedef enum _D3DRENDERSTATETYPE {
325  D3DRS_ZENABLE = 7, /* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) */
326  D3DRS_FILLMODE = 8, /* D3DFILLMODE */
327  D3DRS_SHADEMODE = 9, /* D3DSHADEMODE */
328  D3DRS_LINEPATTERN = 10, /* D3DLINEPATTERN */
329  D3DRS_ZWRITEENABLE = 14, /* TRUE to enable z writes */
330  D3DRS_ALPHATESTENABLE = 15, /* TRUE to enable alpha tests */
331  D3DRS_LASTPIXEL = 16, /* TRUE for last-pixel on lines */
332  D3DRS_SRCBLEND = 19, /* D3DBLEND */
333  D3DRS_DESTBLEND = 20, /* D3DBLEND */
334  D3DRS_CULLMODE = 22, /* D3DCULL */
335  D3DRS_ZFUNC = 23, /* D3DCMPFUNC */
336  D3DRS_ALPHAREF = 24, /* D3DFIXED */
337  D3DRS_ALPHAFUNC = 25, /* D3DCMPFUNC */
338  D3DRS_DITHERENABLE = 26, /* TRUE to enable dithering */
339  D3DRS_ALPHABLENDENABLE = 27, /* TRUE to enable alpha blending */
340  D3DRS_FOGENABLE = 28, /* TRUE to enable fog blending */
341  D3DRS_SPECULARENABLE = 29, /* TRUE to enable specular */
342  D3DRS_ZVISIBLE = 30, /* TRUE to enable z checking */
343  D3DRS_FOGCOLOR = 34, /* D3DCOLOR */
344  D3DRS_FOGTABLEMODE = 35, /* D3DFOGMODE */
345  D3DRS_FOGSTART = 36, /* Fog start (for both vertex and pixel fog) */
346  D3DRS_FOGEND = 37, /* Fog end */
347  D3DRS_FOGDENSITY = 38, /* Fog density */
348  D3DRS_EDGEANTIALIAS = 40, /* TRUE to enable edge antialiasing */
349  D3DRS_ZBIAS = 47, /* LONG Z bias */
350  D3DRS_RANGEFOGENABLE = 48, /* Enables range-based fog */
351  D3DRS_STENCILENABLE = 52, /* BOOL enable/disable stenciling */
352  D3DRS_STENCILFAIL = 53, /* D3DSTENCILOP to do if stencil test fails */
353  D3DRS_STENCILZFAIL = 54, /* D3DSTENCILOP to do if stencil test passes and Z test fails */
354  D3DRS_STENCILPASS = 55, /* D3DSTENCILOP to do if both stencil and Z tests pass */
355  D3DRS_STENCILFUNC = 56, /* D3DCMPFUNC fn. Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true */
356  D3DRS_STENCILREF = 57, /* Reference value used in stencil test */
357  D3DRS_STENCILMASK = 58, /* Mask value used in stencil test */
358  D3DRS_STENCILWRITEMASK = 59, /* Write mask applied to values written to stencil buffer */
359  D3DRS_TEXTUREFACTOR = 60, /* D3DCOLOR used for multi-texture blend */
360  D3DRS_WRAP0 = 128, /* wrap for 1st texture coord. set */
361  D3DRS_WRAP1 = 129, /* wrap for 2nd texture coord. set */
362  D3DRS_WRAP2 = 130, /* wrap for 3rd texture coord. set */
363  D3DRS_WRAP3 = 131, /* wrap for 4th texture coord. set */
364  D3DRS_WRAP4 = 132, /* wrap for 5th texture coord. set */
365  D3DRS_WRAP5 = 133, /* wrap for 6th texture coord. set */
366  D3DRS_WRAP6 = 134, /* wrap for 7th texture coord. set */
367  D3DRS_WRAP7 = 135, /* wrap for 8th texture coord. set */
382  D3DRS_POINTSIZE = 154, /* float point size */
383  D3DRS_POINTSIZE_MIN = 155, /* float point size min threshold */
384  D3DRS_POINTSPRITEENABLE = 156, /* BOOL point texture coord control */
385  D3DRS_POINTSCALEENABLE = 157, /* BOOL point size scale enable */
386  D3DRS_POINTSCALE_A = 158, /* float point attenuation A value */
387  D3DRS_POINTSCALE_B = 159, /* float point attenuation B value */
388  D3DRS_POINTSCALE_C = 160, /* float point attenuation C value */
389  D3DRS_MULTISAMPLEANTIALIAS = 161, /* BOOL - set to do FSAA with multisample buffer */
390  D3DRS_MULTISAMPLEMASK = 162, /* DWORD - per-sample enable/disable */
391  D3DRS_PATCHEDGESTYLE = 163, /* Sets whether patch edges will use float style tessellation */
392  D3DRS_PATCHSEGMENTS = 164, /* Number of segments per edge when drawing patches */
393  D3DRS_DEBUGMONITORTOKEN = 165, /* DEBUG ONLY - token to debug monitor */
394  D3DRS_POINTSIZE_MAX = 166, /* float point size max threshold */
396  D3DRS_COLORWRITEENABLE = 168, /* per-channel write enable */
397  D3DRS_TWEENFACTOR = 170, /* float tween factor */
398  D3DRS_BLENDOP = 171, /* D3DBLENDOP setting */
399  D3DRS_POSITIONORDER = 172, /* NPatch position interpolation order. D3DORDER_LINEAR or D3DORDER_CUBIC (default) */
400  D3DRS_NORMALORDER = 173, /* NPatch normal interpolation order. D3DORDER_LINEAR (default) or D3DORDER_QUADRATIC */
401 
402  D3DRS_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
404 
405 /* Values for material source */
407 {
408  D3DMCS_MATERIAL = 0, /* Color from material is used */
409  D3DMCS_COLOR1 = 1, /* Diffuse vertex color is used */
410  D3DMCS_COLOR2 = 2, /* Specular vertex color is used */
411  D3DMCS_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
413 
414 /* Bias to apply to the texture coordinate set to apply a wrap to. */
415 #define D3DRENDERSTATE_WRAPBIAS 128UL
416 
417 /* Flags to construct the WRAP render states */
418 #define D3DWRAP_U 0x00000001L
419 #define D3DWRAP_V 0x00000002L
420 #define D3DWRAP_W 0x00000004L
421 
422 /* Flags to construct the WRAP render states for 1D thru 4D texture coordinates */
423 #define D3DWRAPCOORD_0 0x00000001L /* same as D3DWRAP_U */
424 #define D3DWRAPCOORD_1 0x00000002L /* same as D3DWRAP_V */
425 #define D3DWRAPCOORD_2 0x00000004L /* same as D3DWRAP_W */
426 #define D3DWRAPCOORD_3 0x00000008L
427 
428 /* Flags to construct D3DRS_COLORWRITEENABLE */
429 #define D3DCOLORWRITEENABLE_RED (1L<<0)
430 #define D3DCOLORWRITEENABLE_GREEN (1L<<1)
431 #define D3DCOLORWRITEENABLE_BLUE (1L<<2)
432 #define D3DCOLORWRITEENABLE_ALPHA (1L<<3)
433 
434 /*
435  * State enumerants for per-stage texture processing.
436  */
438 {
439  D3DTSS_COLOROP = 1, /* D3DTEXTUREOP - per-stage blending controls for color channels */
440  D3DTSS_COLORARG1 = 2, /* D3DTA_* (texture arg) */
441  D3DTSS_COLORARG2 = 3, /* D3DTA_* (texture arg) */
442  D3DTSS_ALPHAOP = 4, /* D3DTEXTUREOP - per-stage blending controls for alpha channel */
443  D3DTSS_ALPHAARG1 = 5, /* D3DTA_* (texture arg) */
444  D3DTSS_ALPHAARG2 = 6, /* D3DTA_* (texture arg) */
445  D3DTSS_BUMPENVMAT00 = 7, /* float (bump mapping matrix) */
446  D3DTSS_BUMPENVMAT01 = 8, /* float (bump mapping matrix) */
447  D3DTSS_BUMPENVMAT10 = 9, /* float (bump mapping matrix) */
448  D3DTSS_BUMPENVMAT11 = 10, /* float (bump mapping matrix) */
449  D3DTSS_TEXCOORDINDEX = 11, /* identifies which set of texture coordinates index this texture */
450  D3DTSS_ADDRESSU = 13, /* D3DTEXTUREADDRESS for U coordinate */
451  D3DTSS_ADDRESSV = 14, /* D3DTEXTUREADDRESS for V coordinate */
452  D3DTSS_BORDERCOLOR = 15, /* D3DCOLOR */
453  D3DTSS_MAGFILTER = 16, /* D3DTEXTUREFILTER filter to use for magnification */
454  D3DTSS_MINFILTER = 17, /* D3DTEXTUREFILTER filter to use for minification */
455  D3DTSS_MIPFILTER = 18, /* D3DTEXTUREFILTER filter to use between mipmaps during minification */
456  D3DTSS_MIPMAPLODBIAS = 19, /* float Mipmap LOD bias */
457  D3DTSS_MAXMIPLEVEL = 20, /* DWORD 0..(n-1) LOD index of largest map to use (0 == largest) */
458  D3DTSS_MAXANISOTROPY = 21, /* DWORD maximum anisotropy */
459  D3DTSS_BUMPENVLSCALE = 22, /* float scale for bump map luminance */
460  D3DTSS_BUMPENVLOFFSET = 23, /* float offset for bump map luminance */
461  D3DTSS_TEXTURETRANSFORMFLAGS = 24, /* D3DTEXTURETRANSFORMFLAGS controls texture transform */
462  D3DTSS_ADDRESSW = 25, /* D3DTEXTUREADDRESS for W coordinate */
463  D3DTSS_COLORARG0 = 26, /* D3DTA_* third arg for triadic ops */
464  D3DTSS_ALPHAARG0 = 27, /* D3DTA_* third arg for triadic ops */
465  D3DTSS_RESULTARG = 28, /* D3DTA_* arg for result (CURRENT or TEMP) */
466  D3DTSS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
468 
469 /* Values, used with D3DTSS_TEXCOORDINDEX, to specify that the vertex data(position
470  * and normal in the camera space) should be taken as texture coordinates
471  * Low 16 bits are used to specify texture coordinate index, to take the WRAP mode from
472  */
473 #define D3DTSS_TCI_PASSTHRU 0x00000000
474 #define D3DTSS_TCI_CAMERASPACENORMAL 0x00010000
475 #define D3DTSS_TCI_CAMERASPACEPOSITION 0x00020000
476 #define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x00030000
477 
478 /*
479  * Enumerations for COLOROP and ALPHAOP texture blending operations set in
480  * texture processing stage controls in D3DTSS.
481  */
482 typedef enum _D3DTEXTUREOP
483 {
484  /* Control */
485  D3DTOP_DISABLE = 1, /* disables stage */
486  D3DTOP_SELECTARG1 = 2, /* the default */
488 
489  /* Modulate */
490  D3DTOP_MODULATE = 4, /* multiply args together */
491  D3DTOP_MODULATE2X = 5, /* multiply and 1 bit */
492  D3DTOP_MODULATE4X = 6, /* multiply and 2 bits */
493 
494  /* Add */
495  D3DTOP_ADD = 7, /* add arguments together */
496  D3DTOP_ADDSIGNED = 8, /* add with -0.5 bias */
497  D3DTOP_ADDSIGNED2X = 9, /* as above but left 1 bit */
498  D3DTOP_SUBTRACT = 10, /* Arg1 - Arg2, with no saturation */
499  D3DTOP_ADDSMOOTH = 11, /* add 2 args, subtract product */
500  /* Arg1 + Arg2 - Arg1*Arg2 */
501  /* = Arg1 + (1-Arg1)*Arg2 */
502 
503  /* Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha) */
504  D3DTOP_BLENDDIFFUSEALPHA = 12, /* iterated alpha */
505  D3DTOP_BLENDTEXTUREALPHA = 13, /* texture alpha */
506  D3DTOP_BLENDFACTORALPHA = 14, /* alpha from D3DRS_TEXTUREFACTOR */
507 
508  /* Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha) */
509  D3DTOP_BLENDTEXTUREALPHAPM = 15, /* texture alpha */
510  D3DTOP_BLENDCURRENTALPHA = 16, /* by alpha of current color */
511 
512  /* Specular mapping */
513  D3DTOP_PREMODULATE = 17, /* modulate with next texture before use */
514  D3DTOP_MODULATEALPHA_ADDCOLOR = 18, /* Arg1.RGB + Arg1.A*Arg2.RGB */
515  /* COLOROP only */
516  D3DTOP_MODULATECOLOR_ADDALPHA = 19, /* Arg1.RGB*Arg2.RGB + Arg1.A */
517  /* COLOROP only */
518  D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, /* (1-Arg1.A)*Arg2.RGB + Arg1.RGB */
519  /* COLOROP only */
520  D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, /* (1-Arg1.RGB)*Arg2.RGB + Arg1.A */
521  /* COLOROP only */
522 
523  /* Bump mapping */
524  D3DTOP_BUMPENVMAP = 22, /* per pixel env map perturbation */
525  D3DTOP_BUMPENVMAPLUMINANCE = 23, /* with luminance channel */
526 
527  /* This can do either diffuse or specular bump mapping with correct input.
528  * Performs the function (Arg1.R*Arg2.R + Arg1.G*Arg2.G + Arg1.B*Arg2.B)
529  * where each component has been scaled and offset to make it signed.
530  * The result is replicated into all four (including alpha) channels.
531  * This is a valid COLOROP only.
532  */
534 
535  /* Triadic ops */
536  D3DTOP_MULTIPLYADD = 25, /* Arg0 + Arg1*Arg2 */
537  D3DTOP_LERP = 26, /* (Arg0)*Arg1 + (1-Arg0)*Arg2 */
538 
539  D3DTOP_FORCE_DWORD = 0x7fffffff
540 } D3DTEXTUREOP;
541 
542 /*
543  * Values for COLORARG0,1,2, ALPHAARG0,1,2, and RESULTARG texture blending
544  * operations set in texture processing stage controls in D3DRENDERSTATE.
545  */
546 #define D3DTA_SELECTMASK 0x0000000f /* mask for arg selector */
547 #define D3DTA_DIFFUSE 0x00000000 /* select diffuse color (read only) */
548 #define D3DTA_CURRENT 0x00000001 /* select stage destination register (read/write) */
549 #define D3DTA_TEXTURE 0x00000002 /* select texture color (read only) */
550 #define D3DTA_TFACTOR 0x00000003 /* select D3DRS_TEXTUREFACTOR (read only) */
551 #define D3DTA_SPECULAR 0x00000004 /* select specular color (read only) */
552 #define D3DTA_TEMP 0x00000005 /* select temporary register color (read/write) */
553 #define D3DTA_COMPLEMENT 0x00000010 /* take 1.0 - x (read modifier) */
554 #define D3DTA_ALPHAREPLICATE 0x00000020 /* replicate alpha to color components (read modifier) */
555 
556 /* Values for D3DTSS_***FILTER texture stage states */
558 {
559  D3DTEXF_NONE = 0, /* filtering disabled (valid for mip filter only) */
560  D3DTEXF_POINT = 1, /* nearest */
561  D3DTEXF_LINEAR = 2, /* linear interpolation */
562  D3DTEXF_ANISOTROPIC = 3, /* anisotropic */
563  D3DTEXF_FLATCUBIC = 4, /* cubic */
564  D3DTEXF_GAUSSIANCUBIC = 5, /* different cubic kernel */
565  D3DTEXF_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
567 
568 /* Bits for Flags in ProcessVertices call */
569 
570 #define D3DPV_DONOTCOPYDATA (1 << 0)
571 
572 /*------------------------------------------------------------------- */
573 
574 /* Flexible vertex format bits */
575 #define D3DFVF_RESERVED0 0x001
576 #define D3DFVF_POSITION_MASK 0x00E
577 #define D3DFVF_XYZ 0x002
578 #define D3DFVF_XYZRHW 0x004
579 #define D3DFVF_XYZB1 0x006
580 #define D3DFVF_XYZB2 0x008
581 #define D3DFVF_XYZB3 0x00a
582 #define D3DFVF_XYZB4 0x00c
583 #define D3DFVF_XYZB5 0x00e
584 
585 #define D3DFVF_NORMAL 0x010
586 #define D3DFVF_PSIZE 0x020
587 #define D3DFVF_DIFFUSE 0x040
588 #define D3DFVF_SPECULAR 0x080
589 
590 #define D3DFVF_TEXCOUNT_MASK 0xf00
591 #define D3DFVF_TEXCOUNT_SHIFT 8
592 #define D3DFVF_TEX0 0x000
593 #define D3DFVF_TEX1 0x100
594 #define D3DFVF_TEX2 0x200
595 #define D3DFVF_TEX3 0x300
596 #define D3DFVF_TEX4 0x400
597 #define D3DFVF_TEX5 0x500
598 #define D3DFVF_TEX6 0x600
599 #define D3DFVF_TEX7 0x700
600 #define D3DFVF_TEX8 0x800
601 
602 #define D3DFVF_LASTBETA_UBYTE4 0x1000
603 
604 #define D3DFVF_RESERVED2 0xE000 /* 4 reserved bits */
605 
606 /*---------------------------------------------------------------------
607  * Vertex Shaders
608  */
609 
610 /*
611 
612 Vertex Shader Declaration
613 
614 The declaration portion of a vertex shader defines the static external
615 interface of the shader. The information in the declaration includes:
616 
617 - Assignments of vertex shader input registers to data streams. These
618 assignments bind a specific vertex register to a single component within a
619 vertex stream. A vertex stream element is identified by a byte offset
620 within the stream and a type. The type specifies the arithmetic data type
621 plus the dimensionality (1, 2, 3, or 4 values). Stream data which is
622 less than 4 values are always expanded out to 4 values with zero or more
623 0.F values and one 1.F value.
624 
625 - Assignment of vertex shader input registers to implicit data from the
626 primitive tessellator. This controls the loading of vertex data which is
627 not loaded from a stream, but rather is generated during primitive
628 tessellation prior to the vertex shader.
629 
630 - Loading data into the constant memory at the time a shader is set as the
631 current shader. Each token specifies values for one or more contiguous 4
632 DWORD constant registers. This allows the shader to update an arbitrary
633 subset of the constant memory, overwriting the device state (which
634 contains the current values of the constant memory). Note that these
635 values can be subsequently overwritten (between DrawPrimitive calls)
636 during the time a shader is bound to a device via the
637 SetVertexShaderConstant method.
638 
639 
640 Declaration arrays are single-dimensional arrays of DWORDs composed of
641 multiple tokens each of which is one or more DWORDs. The single-DWORD
642 token value 0xFFFFFFFF is a special token used to indicate the end of the
643 declaration array. The single DWORD token value 0x00000000 is a NOP token
644 with is ignored during the declaration parsing. Note that 0x00000000 is a
645 valid value for DWORDs following the first DWORD for multiple word tokens.
646 
647 [31:29] TokenType
648  0x0 - NOP (requires all DWORD bits to be zero)
649  0x1 - stream selector
650  0x2 - stream data definition (map to vertex input memory)
651  0x3 - vertex input memory from tessellator
652  0x4 - constant memory from shader
653  0x5 - extension
654  0x6 - reserved
655  0x7 - end-of-array (requires all DWORD bits to be 1)
656 
657 NOP Token (single DWORD token)
658  [31:29] 0x0
659  [28:00] 0x0
660 
661 Stream Selector (single DWORD token)
662  [31:29] 0x1
663  [28] indicates whether this is a tessellator stream
664  [27:04] 0x0
665  [03:00] stream selector (0..15)
666 
667 Stream Data Definition (single DWORD token)
668  Vertex Input Register Load
669  [31:29] 0x2
670  [28] 0x0
671  [27:20] 0x0
672  [19:16] type (dimensionality and data type)
673  [15:04] 0x0
674  [03:00] vertex register address (0..15)
675  Data Skip (no register load)
676  [31:29] 0x2
677  [28] 0x1
678  [27:20] 0x0
679  [19:16] count of DWORDS to skip over (0..15)
680  [15:00] 0x0
681  Vertex Input Memory from Tessellator Data (single DWORD token)
682  [31:29] 0x3
683  [28] indicates whether data is normals or u/v
684  [27:24] 0x0
685  [23:20] vertex register address (0..15)
686  [19:16] type (dimensionality)
687  [15:04] 0x0
688  [03:00] vertex register address (0..15)
689 
690 Constant Memory from Shader (multiple DWORD token)
691  [31:29] 0x4
692  [28:25] count of 4*DWORD constants to load (0..15)
693  [24:07] 0x0
694  [06:00] constant memory address (0..95)
695 
696 Extension Token (single or multiple DWORD token)
697  [31:29] 0x5
698  [28:24] count of additional DWORDs in token (0..31)
699  [23:00] extension-specific information
700 
701 End-of-array token (single DWORD token)
702  [31:29] 0x7
703  [28:00] 0x1fffffff
704 
705 The stream selector token must be immediately followed by a contiguous set of stream data definition tokens. This token sequence fully defines that stream, including the set of elements within the stream, the order in which the elements appear, the type of each element, and the vertex register into which to load an element.
706 Streams are allowed to include data which is not loaded into a vertex register, thus allowing data which is not used for this shader to exist in the vertex stream. This skipped data is defined only by a count of DWORDs to skip over, since the type information is irrelevant.
707 The token sequence:
708 Stream Select: stream=0
709 Stream Data Definition (Load): type=FLOAT3; register=3
710 Stream Data Definition (Load): type=FLOAT3; register=4
711 Stream Data Definition (Skip): count=2
712 Stream Data Definition (Load): type=FLOAT2; register=7
713 
714 defines stream zero to consist of 4 elements, 3 of which are loaded into registers and the fourth skipped over. Register 3 is loaded with the first three DWORDs in each vertex interpreted as FLOAT data. Register 4 is loaded with the 4th, 5th, and 6th DWORDs interpreted as FLOAT data. The next two DWORDs (7th and 8th) are skipped over and not loaded into any vertex input register. Register 7 is loaded with the 9th and 10th DWORDS interpreted as FLOAT data.
715 Placing of tokens other than NOPs between the Stream Selector and Stream Data Definition tokens is disallowed.
716 
717 */
718 
719 typedef enum _D3DVSD_TOKENTYPE
720 {
721  D3DVSD_TOKEN_NOP = 0, /* NOP or extension */
722  D3DVSD_TOKEN_STREAM, /* stream selector */
723  D3DVSD_TOKEN_STREAMDATA, /* stream data definition (map to vertex input memory) */
724  D3DVSD_TOKEN_TESSELLATOR, /* vertex input memory from tessellator */
725  D3DVSD_TOKEN_CONSTMEM, /* constant memory from shader */
726  D3DVSD_TOKEN_EXT, /* extension */
727  D3DVSD_TOKEN_END = 7, /* end-of-array (requires all DWORD bits to be 1) */
728  D3DVSD_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
730 
731 #define D3DVSD_TOKENTYPESHIFT 29
732 #define D3DVSD_TOKENTYPEMASK (7 << D3DVSD_TOKENTYPESHIFT)
733 
734 #define D3DVSD_STREAMNUMBERSHIFT 0
735 #define D3DVSD_STREAMNUMBERMASK (0xF << D3DVSD_STREAMNUMBERSHIFT)
736 
737 #define D3DVSD_DATALOADTYPESHIFT 28
738 #define D3DVSD_DATALOADTYPEMASK (0x1 << D3DVSD_DATALOADTYPESHIFT)
739 
740 #define D3DVSD_DATATYPESHIFT 16
741 #define D3DVSD_DATATYPEMASK (0xF << D3DVSD_DATATYPESHIFT)
742 
743 #define D3DVSD_SKIPCOUNTSHIFT 16
744 #define D3DVSD_SKIPCOUNTMASK (0xF << D3DVSD_SKIPCOUNTSHIFT)
745 
746 #define D3DVSD_VERTEXREGSHIFT 0
747 #define D3DVSD_VERTEXREGMASK (0x1F << D3DVSD_VERTEXREGSHIFT)
748 
749 #define D3DVSD_VERTEXREGINSHIFT 20
750 #define D3DVSD_VERTEXREGINMASK (0xF << D3DVSD_VERTEXREGINSHIFT)
751 
752 #define D3DVSD_CONSTCOUNTSHIFT 25
753 #define D3DVSD_CONSTCOUNTMASK (0xF << D3DVSD_CONSTCOUNTSHIFT)
754 
755 #define D3DVSD_CONSTADDRESSSHIFT 0
756 #define D3DVSD_CONSTADDRESSMASK (0x7F << D3DVSD_CONSTADDRESSSHIFT)
757 
758 #define D3DVSD_CONSTRSSHIFT 16
759 #define D3DVSD_CONSTRSMASK (0x1FFF << D3DVSD_CONSTRSSHIFT)
760 
761 #define D3DVSD_EXTCOUNTSHIFT 24
762 #define D3DVSD_EXTCOUNTMASK (0x1F << D3DVSD_EXTCOUNTSHIFT)
763 
764 #define D3DVSD_EXTINFOSHIFT 0
765 #define D3DVSD_EXTINFOMASK (0xFFFFFF << D3DVSD_EXTINFOSHIFT)
766 
767 #define D3DVSD_MAKETOKENTYPE(tokenType) ((tokenType << D3DVSD_TOKENTYPESHIFT) & D3DVSD_TOKENTYPEMASK)
768 
769 /* macros for generation of CreateVertexShader Declaration token array */
770 
771 /* Set current stream
772  * _StreamNumber [0..(MaxStreams-1)] stream to get data from
773  */
774 #define D3DVSD_STREAM( _StreamNumber ) \
775  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (_StreamNumber))
776 
777 /* Set tessellator stream
778  */
779 #define D3DVSD_STREAMTESSSHIFT 28
780 #define D3DVSD_STREAMTESSMASK (1 << D3DVSD_STREAMTESSSHIFT)
781 #define D3DVSD_STREAM_TESS( ) \
782  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (D3DVSD_STREAMTESSMASK))
783 
784 /* bind single vertex register to vertex element from vertex stream
785  *
786  * _VertexRegister [0..15] address of the vertex register
787  * _Type [D3DVSDT_*] dimensionality and arithmetic data type
788  */
789 
790 #define D3DVSD_REG( _VertexRegister, _Type ) \
791  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | \
792  ((_Type) << D3DVSD_DATATYPESHIFT) | (_VertexRegister))
793 
794 /* Skip _DWORDCount DWORDs in vertex
795  */
796 #define D3DVSD_SKIP( _DWORDCount ) \
797  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | 0x10000000 | \
798  ((_DWORDCount) << D3DVSD_SKIPCOUNTSHIFT))
799 
800 /* load data into vertex shader constant memory
801  *
802  * _ConstantAddress [0..95] - address of constant array to begin filling data
803  * _Count [0..15] - number of constant vectors to load (4 DWORDs each)
804  * followed by 4*_Count DWORDS of data
805  */
806 #define D3DVSD_CONST( _ConstantAddress, _Count ) \
807  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | \
808  ((_Count) << D3DVSD_CONSTCOUNTSHIFT) | (_ConstantAddress))
809 
810 /* enable tessellator generated normals
811  *
812  * _VertexRegisterIn [0..15] address of vertex register whose input stream
813  * will be used in normal computation
814  * _VertexRegisterOut [0..15] address of vertex register to output the normal to
815  */
816 #define D3DVSD_TESSNORMAL( _VertexRegisterIn, _VertexRegisterOut ) \
817  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | \
818  ((_VertexRegisterIn) << D3DVSD_VERTEXREGINSHIFT) | \
819  ((0x02) << D3DVSD_DATATYPESHIFT) | (_VertexRegisterOut))
820 
821 /* enable tessellator generated surface parameters
822  *
823  * _VertexRegister [0..15] address of vertex register to output parameters
824  */
825 #define D3DVSD_TESSUV( _VertexRegister ) \
826  (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | 0x10000000 | \
827  ((0x01) << D3DVSD_DATATYPESHIFT) | (_VertexRegister))
828 
829 /* Generates END token
830  */
831 #define D3DVSD_END() 0xFFFFFFFF
832 
833 /* Generates NOP token */
834 #define D3DVSD_NOP() 0x00000000
835 
836 /* bit declarations for _Type fields */
837 #define D3DVSDT_FLOAT1 0x00 /* 1D float expanded to (value, 0., 0., 1.) */
838 #define D3DVSDT_FLOAT2 0x01 /* 2D float expanded to (value, value, 0., 1.) */
839 #define D3DVSDT_FLOAT3 0x02 /* 3D float expanded to (value, value, value, 1.) */
840 #define D3DVSDT_FLOAT4 0x03 /* 4D float */
841 #define D3DVSDT_D3DCOLOR 0x04 /* 4D packed unsigned bytes mapped to 0. to 1. range
842  * Input is in D3DCOLOR format (ARGB) expanded to (R, G, B, A) */
843 #define D3DVSDT_UBYTE4 0x05 /* 4D unsigned byte */
844 #define D3DVSDT_SHORT2 0x06 /* 2D signed short expanded to (value, value, 0., 1.) */
845 #define D3DVSDT_SHORT4 0x07 /* 4D signed short */
846 
847 /* assignments of vertex input registers for fixed function vertex shader */
848 #define D3DVSDE_POSITION 0
849 #define D3DVSDE_BLENDWEIGHT 1
850 #define D3DVSDE_BLENDINDICES 2
851 #define D3DVSDE_NORMAL 3
852 #define D3DVSDE_PSIZE 4
853 #define D3DVSDE_DIFFUSE 5
854 #define D3DVSDE_SPECULAR 6
855 #define D3DVSDE_TEXCOORD0 7
856 #define D3DVSDE_TEXCOORD1 8
857 #define D3DVSDE_TEXCOORD2 9
858 #define D3DVSDE_TEXCOORD3 10
859 #define D3DVSDE_TEXCOORD4 11
860 #define D3DVSDE_TEXCOORD5 12
861 #define D3DVSDE_TEXCOORD6 13
862 #define D3DVSDE_TEXCOORD7 14
863 #define D3DVSDE_POSITION2 15
864 #define D3DVSDE_NORMAL2 16
865 
866 /* Maximum supported number of texture coordinate sets */
867 #define D3DDP_MAXTEXCOORD 8
868 
869 
870 /* Instruction Token Bit Definitions */
871 #define D3DSI_OPCODE_MASK 0x0000FFFF
872 
874 {
875  D3DSIO_NOP = 0, /* PS/VS */
876  D3DSIO_MOV , /* PS/VS */
877  D3DSIO_ADD , /* PS/VS */
878  D3DSIO_SUB , /* PS */
879  D3DSIO_MAD , /* PS/VS */
880  D3DSIO_MUL , /* PS/VS */
881  D3DSIO_RCP , /* VS */
882  D3DSIO_RSQ , /* VS */
883  D3DSIO_DP3 , /* PS/VS */
884  D3DSIO_DP4 , /* PS/VS */
885  D3DSIO_MIN , /* VS */
886  D3DSIO_MAX , /* VS */
887  D3DSIO_SLT , /* VS */
888  D3DSIO_SGE , /* VS */
889  D3DSIO_EXP , /* VS */
890  D3DSIO_LOG , /* VS */
891  D3DSIO_LIT , /* VS */
892  D3DSIO_DST , /* VS */
893  D3DSIO_LRP , /* PS */
894  D3DSIO_FRC , /* VS */
895  D3DSIO_M4x4 , /* VS */
896  D3DSIO_M4x3 , /* VS */
897  D3DSIO_M3x4 , /* VS */
898  D3DSIO_M3x3 , /* VS */
899  D3DSIO_M3x2 , /* VS */
900 
901  D3DSIO_TEXCOORD = 64, /* PS */
902  D3DSIO_TEXKILL , /* PS */
903  D3DSIO_TEX , /* PS */
904  D3DSIO_TEXBEM , /* PS */
905  D3DSIO_TEXBEML , /* PS */
906  D3DSIO_TEXREG2AR , /* PS */
907  D3DSIO_TEXREG2GB , /* PS */
908  D3DSIO_TEXM3x2PAD , /* PS */
909  D3DSIO_TEXM3x2TEX , /* PS */
910  D3DSIO_TEXM3x3PAD , /* PS */
911  D3DSIO_TEXM3x3TEX , /* PS */
915  D3DSIO_EXPP , /* VS */
916  D3DSIO_LOGP , /* VS */
917  D3DSIO_CND , /* PS */
918  D3DSIO_DEF , /* PS */
919  D3DSIO_TEXREG2RGB , /* PS */
920  D3DSIO_TEXDP3TEX , /* PS */
922  D3DSIO_TEXDP3 , /* PS */
923  D3DSIO_TEXM3x3 , /* PS */
924  D3DSIO_TEXDEPTH , /* PS */
925  D3DSIO_CMP , /* PS */
926  D3DSIO_BEM , /* PS */
927 
928  D3DSIO_PHASE = 0xFFFD,
929  D3DSIO_COMMENT = 0xFFFE,
930  D3DSIO_END = 0xFFFF,
931 
932  D3DSIO_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
934 
935 /* Co-Issue Instruction Modifier - if set then this instruction is to be
936  * issued in parallel with the previous instruction(s) for which this bit
937  * is not set. */
938 #define D3DSI_COISSUE 0x40000000
939 
940 /* Parameter Token Bit Definitions */
941 #define D3DSP_REGNUM_MASK 0x00001FFF
942 
943 /* destination parameter write mask */
944 #define D3DSP_WRITEMASK_0 0x00010000 /* Component 0 (X;Red) */
945 #define D3DSP_WRITEMASK_1 0x00020000 /* Component 1 (Y;Green) */
946 #define D3DSP_WRITEMASK_2 0x00040000 /* Component 2 (Z;Blue) */
947 #define D3DSP_WRITEMASK_3 0x00080000 /* Component 3 (W;Alpha) */
948 #define D3DSP_WRITEMASK_ALL 0x000F0000 /* All Components */
949 
950 /* destination parameter modifiers */
951 #define D3DSP_DSTMOD_SHIFT 20
952 #define D3DSP_DSTMOD_MASK 0x00F00000
953 
955 {
957  D3DSPDM_SATURATE= 1<<D3DSP_DSTMOD_SHIFT, /* clamp to 0. to 1. range */
958  D3DSPDM_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
960 
961 /* destination parameter */
962 #define D3DSP_DSTSHIFT_SHIFT 24
963 #define D3DSP_DSTSHIFT_MASK 0x0F000000
964 
965 /* destination/source parameter register type */
966 #define D3DSP_REGTYPE_SHIFT 28
967 #define D3DSP_REGTYPE_MASK 0x70000000
968 
970 {
971  D3DSPR_TEMP = 0<<D3DSP_REGTYPE_SHIFT, /* Temporary Register File */
972  D3DSPR_INPUT = 1<<D3DSP_REGTYPE_SHIFT, /* Input Register File */
973  D3DSPR_CONST = 2<<D3DSP_REGTYPE_SHIFT, /* Constant Register File */
974  D3DSPR_ADDR = 3<<D3DSP_REGTYPE_SHIFT, /* Address Register (VS) */
975  D3DSPR_TEXTURE = 3<<D3DSP_REGTYPE_SHIFT, /* Texture Register File (PS) */
976  D3DSPR_RASTOUT = 4<<D3DSP_REGTYPE_SHIFT, /* Rasterizer Register File */
977  D3DSPR_ATTROUT = 5<<D3DSP_REGTYPE_SHIFT, /* Attribute Output Register File */
978  D3DSPR_TEXCRDOUT= 6<<D3DSP_REGTYPE_SHIFT, /* Texture Coordinate Output Register File */
979  D3DSPR_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
981 
982 /* Register offsets in the Rasterizer Register File */
984 {
988  D3DSRO_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
990 
991 /* Source operand addressing modes */
992 
993 #define D3DVS_ADDRESSMODE_SHIFT 13
994 #define D3DVS_ADDRESSMODE_MASK (1 << D3DVS_ADDRESSMODE_SHIFT)
995 
997 {
999  D3DVS_ADDRMODE_RELATIVE = (1 << D3DVS_ADDRESSMODE_SHIFT), /* Relative to register A0 */
1000  D3DVS_ADDRMODE_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
1002 
1003 /* Source operand swizzle definitions */
1004 #define D3DVS_SWIZZLE_SHIFT 16
1005 #define D3DVS_SWIZZLE_MASK 0x00FF0000
1006 
1007 /* The following bits define where to take component X from: */
1008 
1009 #define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
1010 #define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
1011 #define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
1012 #define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
1013 
1014 /* The following bits define where to take component Y from: */
1015 
1016 #define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
1017 #define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
1018 #define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
1019 #define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
1020 
1021 /* The following bits define where to take component Z from: */
1022 
1023 #define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
1024 #define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
1025 #define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
1026 #define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
1027 
1028 /* The following bits define where to take component W from: */
1029 
1030 #define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
1031 #define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
1032 #define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
1033 #define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
1034 
1035 /* Value when there is no swizzle (X is taken from X, Y is taken from Y,
1036  * Z is taken from Z, W is taken from W
1037  */
1038 #define D3DVS_NOSWIZZLE (D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W)
1039 
1040 /* source parameter swizzle */
1041 #define D3DSP_SWIZZLE_SHIFT 16
1042 #define D3DSP_SWIZZLE_MASK 0x00FF0000
1043 
1044 #define D3DSP_NOSWIZZLE \
1045  ( (0 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
1046  (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
1047  (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
1048  (3 << (D3DSP_SWIZZLE_SHIFT + 6)) )
1049 
1050 /* pixel-shader swizzle ops */
1051 #define D3DSP_REPLICATERED \
1052  ( (0 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
1053  (0 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
1054  (0 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
1055  (0 << (D3DSP_SWIZZLE_SHIFT + 6)) )
1056 
1057 #define D3DSP_REPLICATEGREEN \
1058  ( (1 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
1059  (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
1060  (1 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
1061  (1 << (D3DSP_SWIZZLE_SHIFT + 6)) )
1062 
1063 #define D3DSP_REPLICATEBLUE \
1064  ( (2 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
1065  (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
1066  (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
1067  (2 << (D3DSP_SWIZZLE_SHIFT + 6)) )
1068 
1069 #define D3DSP_REPLICATEALPHA \
1070  ( (3 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
1071  (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
1072  (3 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
1073  (3 << (D3DSP_SWIZZLE_SHIFT + 6)) )
1074 
1075 /* source parameter modifiers */
1076 #define D3DSP_SRCMOD_SHIFT 24
1077 #define D3DSP_SRCMOD_MASK 0x0F000000
1078 
1080 {
1082  D3DSPSM_NEG = 1<<D3DSP_SRCMOD_SHIFT, /* negate */
1084  D3DSPSM_BIASNEG = 3<<D3DSP_SRCMOD_SHIFT, /* bias and negate */
1086  D3DSPSM_SIGNNEG = 5<<D3DSP_SRCMOD_SHIFT, /* sign and negate */
1087  D3DSPSM_COMP = 6<<D3DSP_SRCMOD_SHIFT, /* complement */
1089  D3DSPSM_X2NEG = 8<<D3DSP_SRCMOD_SHIFT, /* *2 and negate */
1090  D3DSPSM_DZ = 9<<D3DSP_SRCMOD_SHIFT, /* divide through by z component */
1091  D3DSPSM_DW = 10<<D3DSP_SRCMOD_SHIFT, /* divide through by w component */
1092  D3DSPSM_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
1094 
1095 /* pixel shader version token */
1096 #define D3DPS_VERSION(_Major,_Minor) (0xFFFF0000|((_Major)<<8)|(_Minor))
1097 
1098 /* vertex shader version token */
1099 #define D3DVS_VERSION(_Major,_Minor) (0xFFFE0000|((_Major)<<8)|(_Minor))
1100 
1101 /* extract major/minor from version cap */
1102 #define D3DSHADER_VERSION_MAJOR(_Version) (((_Version)>>8)&0xFF)
1103 #define D3DSHADER_VERSION_MINOR(_Version) (((_Version)>>0)&0xFF)
1104 
1105 /* destination/source parameter register type */
1106 #define D3DSI_COMMENTSIZE_SHIFT 16
1107 #define D3DSI_COMMENTSIZE_MASK 0x7FFF0000
1108 #define D3DSHADER_COMMENT(_DWordSize) \
1109  ((((_DWordSize)<<D3DSI_COMMENTSIZE_SHIFT)&D3DSI_COMMENTSIZE_MASK)|D3DSIO_COMMENT)
1110 
1111 /* pixel/vertex shader end token */
1112 #define D3DPS_END() 0x0000FFFF
1113 #define D3DVS_END() 0x0000FFFF
1114 
1115 /*--------------------------------------------------------------------- */
1116 
1117 /* High order surfaces */
1118 typedef enum _D3DBASISTYPE
1119 {
1124 } D3DBASISTYPE;
1125 
1126 typedef enum _D3DORDERTYPE
1127 {
1133 } D3DORDERTYPE;
1134 
1136 {
1141 
1143 {
1144  D3DSBT_ALL = 1, /* capture all state */
1145  D3DSBT_PIXELSTATE = 2, /* capture pixel state */
1146  D3DSBT_VERTEXSTATE = 3, /* capture vertex state */
1147  D3DSBT_FORCE_DWORD = 0x7fffffff
1149 
1150 /* The D3DVERTEXBLENDFLAGS type is used with D3DRS_VERTEXBLEND state. */
1152 {
1153  D3DVBF_DISABLE = 0, /* Disable vertex blending */
1154  D3DVBF_1WEIGHTS = 1, /* 2 matrix blending */
1155  D3DVBF_2WEIGHTS = 2, /* 3 matrix blending */
1156  D3DVBF_3WEIGHTS = 3, /* 4 matrix blending */
1157  D3DVBF_TWEENING = 255, /* blending using D3DRS_TWEENFACTOR */
1158  D3DVBF_0WEIGHTS = 256, /* one matrix is used with weight 1.0 */
1159  D3DVBF_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
1161 
1163  D3DTTFF_DISABLE = 0, /* texture coordinates are passed directly */
1164  D3DTTFF_COUNT1 = 1, /* rasterizer should expect 1-D texture coords */
1165  D3DTTFF_COUNT2 = 2, /* rasterizer should expect 2-D texture coords */
1166  D3DTTFF_COUNT3 = 3, /* rasterizer should expect 3-D texture coords */
1167  D3DTTFF_COUNT4 = 4, /* rasterizer should expect 4-D texture coords */
1168  D3DTTFF_PROJECTED = 256, /* texcoords to be divided by COUNTth element */
1169  D3DTTFF_FORCE_DWORD = 0x7fffffff
1171 
1172 /* Macros to set texture coordinate format bits in the FVF id */
1173 
1174 #define D3DFVF_TEXTUREFORMAT2 0 /* Two floating point values */
1175 #define D3DFVF_TEXTUREFORMAT1 3 /* One floating point value */
1176 #define D3DFVF_TEXTUREFORMAT3 1 /* Three floating point values */
1177 #define D3DFVF_TEXTUREFORMAT4 2 /* Four floating point values */
1178 
1179 #define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
1180 #define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
1181 #define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
1182 #define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
1183 
1184 /*--------------------------------------------------------------------- */
1185 
1186 /* Direct3D8 Device types */
1187 typedef enum _D3DDEVTYPE
1188 {
1192 
1194 } D3DDEVTYPE;
1195 
1196 /* Multi-Sample buffer types */
1198 {
1215 
1218 
1219 /* Formats
1220  * Most of these names have the following convention:
1221  * A = Alpha
1222  * R = Red
1223  * G = Green
1224  * B = Blue
1225  * X = Unused Bits
1226  * P = Palette
1227  * L = Luminance
1228  * U = dU coordinate for BumpMap
1229  * V = dV coordinate for BumpMap
1230  * S = Stencil
1231  * D = Depth (e.g. Z or W buffer)
1232  *
1233  * Further, the order of the pieces are from MSB first; hence
1234  * D3DFMT_A8L8 indicates that the high byte of this two byte
1235  * format is alpha.
1236  *
1237  * D16 indicates:
1238  * - An integer 16-bit value.
1239  * - An app-lockable surface.
1240  *
1241  * All Depth/Stencil formats except D3DFMT_D16_LOCKABLE indicate:
1242  * - no particular bit ordering per pixel, and
1243  * - are not app lockable, and
1244  * - the driver is allowed to consume more than the indicated
1245  * number of bits per Depth channel (but not Stencil channel).
1246  */
1247 #ifndef MAKEFOURCC
1248  #define MAKEFOURCC(ch0, ch1, ch2, ch3) \
1249  ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
1250  ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
1251 #endif /* defined(MAKEFOURCC) */
1252 
1253 
1254 typedef enum _D3DFORMAT
1255 {
1257 
1271 
1274 
1278 
1286 
1287  D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
1288  D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
1289  D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
1290  D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
1291  D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
1292  D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
1293  D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
1294 
1302 
1303 
1307 
1309 } D3DFORMAT;
1310 
1311 /* Display Modes */
1312 typedef struct _D3DDISPLAYMODE
1313 {
1318 } D3DDISPLAYMODE;
1319 
1320 /* Creation Parameters */
1322 {
1328 
1329 
1330 /* SwapEffects */
1331 typedef enum _D3DSWAPEFFECT
1332 {
1337 
1339 } D3DSWAPEFFECT;
1340 
1341 /* Pool types */
1342 typedef enum _D3DPOOL {
1347 
1348  D3DPOOL_FORCE_DWORD = 0x7fffffff
1349 } D3DPOOL;
1350 
1351 
1352 /* RefreshRate pre-defines */
1353 #define D3DPRESENT_RATE_DEFAULT 0x00000000
1354 #define D3DPRESENT_RATE_UNLIMITED 0x7fffffff
1355 
1356 
1357 /* Resize Optional Parameters */
1359 {
1364 
1366 
1372  DWORD Flags;
1373 
1374  /* Following elements must be zero for Windowed mode */
1377 
1379 
1380 /* Values for D3DPRESENT_PARAMETERS.Flags */
1381 
1382 #define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
1383 
1384 
1385 /* Gamma Ramp: Same as DX7 */
1386 
1387 typedef struct _D3DGAMMARAMP
1388 {
1389  WORD red [256];
1390  WORD green[256];
1391  WORD blue [256];
1392 } D3DGAMMARAMP;
1393 
1394 /* Back buffer types */
1396 {
1400 
1403 
1404 
1405 /* Types */
1406 typedef enum _D3DRESOURCETYPE {
1414 
1415 
1417 } D3DRESOURCETYPE;
1418 
1419 /* Usages */
1420 #define D3DUSAGE_RENDERTARGET (0x00000001L)
1421 #define D3DUSAGE_DEPTHSTENCIL (0x00000002L)
1422 
1423 /* Usages for Vertex/Index buffers */
1424 #define D3DUSAGE_WRITEONLY (0x00000008L)
1425 #define D3DUSAGE_SOFTWAREPROCESSING (0x00000010L)
1426 #define D3DUSAGE_DONOTCLIP (0x00000020L)
1427 #define D3DUSAGE_POINTS (0x00000040L)
1428 #define D3DUSAGE_RTPATCHES (0x00000080L)
1429 #define D3DUSAGE_NPATCHES (0x00000100L)
1430 #define D3DUSAGE_DYNAMIC (0x00000200L)
1431 
1432 /* CubeMap Face identifiers */
1433 typedef enum _D3DCUBEMAP_FACES
1434 {
1441 
1444 
1445 /* Lock flags */
1446 
1447 #define D3DLOCK_READONLY 0x00000010L
1448 #define D3DLOCK_DISCARD 0x00002000L
1449 #define D3DLOCK_NOOVERWRITE 0x00001000L
1450 #define D3DLOCK_NOSYSLOCK 0x00000800L
1451 
1452 #define D3DLOCK_NO_DIRTY_UPDATE 0x00008000L
1453 
1454 /* Vertex Buffer Description */
1456 {
1459  DWORD Usage;
1462 
1463  DWORD FVF;
1464 
1466 
1467 /* Index Buffer Description */
1468 typedef struct _D3DINDEXBUFFER_DESC
1469 {
1472  DWORD Usage;
1476 
1477 
1478 /* Surface Description */
1479 typedef struct _D3DSURFACE_DESC
1480 {
1483  DWORD Usage;
1486 
1490 } D3DSURFACE_DESC;
1491 
1492 typedef struct _D3DVOLUME_DESC
1493 {
1496  DWORD Usage;
1499 
1503 } D3DVOLUME_DESC;
1504 
1505 /* Structure for LockRect */
1506 typedef struct _D3DLOCKED_RECT
1507 {
1509  void* pBits;
1510 } D3DLOCKED_RECT;
1511 
1512 /* Structures for LockBox */
1513 typedef struct _D3DBOX
1514 {
1521 } D3DBOX;
1522 
1523 typedef struct _D3DLOCKED_BOX
1524 {
1527  void* pBits;
1528 } D3DLOCKED_BOX;
1529 
1530 /* Structures for LockRange */
1531 typedef struct _D3DRANGE
1532 {
1535 } D3DRANGE;
1536 
1537 /* Structures for high order primitives */
1538 typedef struct _D3DRECTPATCH_INFO
1539 {
1548 
1549 typedef struct _D3DTRIPATCH_INFO
1550 {
1556 
1557 /* Adapter Identifier */
1558 
1559 #define MAX_DEVICE_IDENTIFIER_STRING 512
1561 {
1564 
1565 #ifdef _WIN32
1566  LARGE_INTEGER DriverVersion; /* Defined for 32 bit components */
1567 #else
1568  DWORD DriverVersionLowPart; /* Defined for 16 bit driver components */
1570 #endif
1571 
1572  DWORD VendorId;
1573  DWORD DeviceId;
1574  DWORD SubSysId;
1575  DWORD Revision;
1576 
1578 
1579  DWORD WHQLLevel;
1580 
1582 
1583 
1584 /* Raster Status structure returned by GetRasterStatus */
1585 typedef struct _D3DRASTER_STATUS
1586 {
1590 
1591 
1592 
1593 /* Debug monitor tokens (DEBUG only)
1594 
1595  Note that if D3DRS_DEBUGMONITORTOKEN is set, the call is treated as
1596  passing a token to the debug monitor. For example, if, after passing
1597  D3DDMT_ENABLE/DISABLE to D3DRS_DEBUGMONITORTOKEN other token values
1598  are passed in, the enabled/disabled state of the debug
1599  monitor will still persist.
1600 
1601  The debug monitor defaults to enabled.
1602 
1603  Calling GetRenderState on D3DRS_DEBUGMONITORTOKEN is not of any use.
1604 */
1606  D3DDMT_ENABLE = 0, /* enable debug monitor */
1607  D3DDMT_DISABLE = 1, /* disable debug monitor */
1608  D3DDMT_FORCE_DWORD = 0x7fffffff
1610 
1611 /* GetInfo IDs */
1612 
1613 #define D3DDEVINFOID_RESOURCEMANAGER 5 /* Used with D3DDEVINFO_RESOURCEMANAGER */
1614 #define D3DDEVINFOID_VERTEXSTATS 6 /* Used with D3DDEVINFO_D3DVERTEXSTATS */
1615 
1616 typedef struct _D3DRESOURCESTATS
1617 {
1618  /* Data collected since last Present() */
1619  BOOL bThrashing; /* indicates if thrashing */
1620  DWORD ApproxBytesDownloaded; /* Approximate number of bytes downloaded by resource manager */
1621  DWORD NumEvicts; /* number of objects evicted */
1622  DWORD NumVidCreates; /* number of objects created in video memory */
1623  DWORD LastPri; /* priority of last object evicted */
1624  DWORD NumUsed; /* number of objects set to the device */
1625  DWORD NumUsedInVidMem; /* number of objects set to the device, which are already in video memory */
1626  /* Persistent data */
1627  DWORD WorkingSet; /* number of objects in video memory */
1628  DWORD WorkingSetBytes; /* number of bytes in video memory */
1629  DWORD TotalManaged; /* total number of managed objects */
1630  DWORD TotalBytes; /* total number of bytes of managed objects */
1632 
1633 #define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
1634 
1636 {
1639 
1641 {
1642  DWORD NumRenderedTriangles; /* total number of triangles that are not clipped in this frame */
1643  DWORD NumExtraClippingTriangles; /* Number of new triangles generated by clipping */
1645 
1646 #pragma pack()
1647 #if _MSC_VER >= 1200
1648 #pragma warning(pop)
1649 #else
1650 #pragma warning(default:4201)
1651 #endif
1652 
1653 #endif /* (DIRECT3D_VERSION >= 0x0800) */
1654 #endif /* _D3D8TYPES(P)_H_ */
float x
Definition: d3d8types.h:49
Definition: d3d8types.h:1269
DWORD SubSysId
Definition: d3d8types.h:1574
Definition: d3d8types.h:914
Definition: d3d8types.h:539
Definition: d3d8types.h:1439
Definition: d3d8types.h:1262
Definition: d3d8types.h:259
Definition: d3d8types.h:1189
Definition: d3d8types.h:1123
Definition: d3d8types.h:1301
Definition: d3d8types.h:1273
_D3DSWAPEFFECT
Definition: d3d8types.h:1331
Definition: d3d8types.h:368
Definition: d3d8types.h:344
Definition: d3d8types.h:1163
_D3DRESOURCETYPE
Definition: d3d8types.h:1406
struct _D3DGAMMARAMP D3DGAMMARAMP
DWORD DeviceId
Definition: d3d8types.h:1573
Definition: d3d8types.h:306
enum _D3DPOOL D3DPOOL
DWORD DriverVersionHighPart
Definition: d3d8types.h:1569
struct _D3DCLIPSTATUS8 D3DCLIPSTATUS8
enum _D3DPRIMITIVETYPE D3DPRIMITIVETYPE
Definition: d3d8types.h:166
Definition: d3d8types.h:721
Definition: d3d8types.h:1308
struct _D3DADAPTER_IDENTIFIER8 D3DADAPTER_IDENTIFIER8
Definition: d3d8types.h:463
Definition: d3d8types.h:340
Definition: d3d8types.h:975
Definition: d3d8types.h:352
UINT BackBufferCount
Definition: d3d8types.h:1363
Definition: d3d8types.h:222
Definition: d3d8types.h:283
Definition: d3d8types.h:163
Definition: d3d8types.h:902
Definition: d3d8types.h:295
Definition: d3d8types.h:221
Definition: d3d8types.h:1411
Definition: d3d8types.h:92
enum _D3DTEXTUREFILTERTYPE D3DTEXTUREFILTERTYPE
Definition: d3d8types.h:445
_D3DDEVTYPE
Definition: d3d8types.h:1187
Definition: d3d8types.h:231
DWORD FVF
Definition: d3d8types.h:1463
UINT AdapterOrdinal
Definition: d3d8types.h:1323
struct _D3DLINEPATTERN D3DLINEPATTERN
float _44
Definition: d3d8types.h:83
Definition: d3d8types.h:533
DWORD WHQLLevel
Definition: d3d8types.h:1579
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
D3DCOLORVALUE Ambient
Definition: d3d8types.h:153
Definition: d3d8types.h:449
Definition: d3d8types.h:1635
DWORD Usage
Definition: d3d8types.h:1472
_D3DVERTEXBLENDFLAGS
Definition: d3d8types.h:1151
Definition: d3d8types.h:77
Definition: d3d8types.h:891
Definition: d3d8types.h:296
Definition: d3d8types.h:255
LONG x2
Definition: d3d8types.h:70
#define D3DRTYPECOUNT
Definition: d3d8types.h:1633
Definition: d3d8types.h:1081
Definition: d3d8types.h:1201
enum _D3DTEXTUREADDRESS D3DTEXTUREADDRESS
_D3DLIGHTTYPE
Definition: d3d8types.h:159
Definition: d3d8types.h:1154
Definition: d3d8types.h:333
_D3DFOGMODE
Definition: d3d8types.h:278
float _23
Definition: d3d8types.h:81
struct _D3DSURFACE_DESC D3DSURFACE_DESC
Definition: d3d8types.h:439
Definition: d3d8types.h:1560
Definition: d3d8types.h:48
_D3DBLENDOP
Definition: d3d8types.h:229
Definition: d3d8types.h:337
Definition: d3d8types.h:487
Definition: d3d8types.h:1299
float _21
Definition: d3d8types.h:81
float Attenuation2
Definition: d3d8types.h:177
BOOL EnableAutoDepthStencil
Definition: d3d8types.h:1370
UINT Front
Definition: d3d8types.h:1519
Definition: d3d8types.h:241
Definition: d3d8types.h:1289
enum _D3DLIGHTTYPE D3DLIGHTTYPE
Definition: d3d8types.h:360
struct _D3DDISPLAYMODE D3DDISPLAYMODE
Definition: d3d8types.h:1200
_D3DDEBUGMONITORTOKENS
Definition: d3d8types.h:1605
UINT Bottom
Definition: d3d8types.h:1518
UINT Height
Definition: d3d8types.h:1501
Definition: d3d8types.h:1435
Definition: d3d8types.h:297
UINT RefreshRate
Definition: d3d8types.h:1316
Definition: d3d8types.h:273
DWORD Usage
Definition: d3d8types.h:1483
Definition: d3d8types.h:958
DWORD X
Definition: d3d8types.h:93
Definition: d3d8types.h:391
Definition: d3d8types.h:897
enum _D3DDEBUGMONITORTOKENS D3DDEBUGMONITORTOKENS
struct _D3DLOCKED_BOX D3DLOCKED_BOX
Definition: d3d8types.h:536
enum _D3DVSD_TOKENTYPE D3DVSD_TOKENTYPE
Definition: d3d8types.h:1203
Definition: d3d8types.h:1279
Definition: d3d8types.h:957
Definition: d3d8types.h:362
Definition: d3d8types.h:451
enum _D3DVS_ADDRESSMODE_TYPE D3DVS_ADDRESSMODE_TYPE
Definition: d3d8types.h:977
Definition: d3d8types.h:242
Definition: d3d8types.h:243
Definition: d3d8types.h:1191
Definition: d3d8types.h:1277
Definition: d3d8types.h:560
D3DBASISTYPE Basis
Definition: d3d8types.h:1545
D3DFORMAT Format
Definition: d3d8types.h:1481
Definition: d3d8types.h:230
Definition: d3d8types.h:725
enum _D3DSWAPEFFECT D3DSWAPEFFECT
float _12
Definition: d3d8types.h:80
Definition: d3d8types.h:913
Definition: d3d8types.h:374
Definition: d3d8types.h:269
Definition: d3d8types.h:351
D3DVECTOR Position
Definition: d3d8types.h:171
Definition: d3d8types.h:288
Definition: d3d8types.h:392
float y
Definition: d3d8types.h:50
DWORD NumUsedInVidMem
Definition: d3d8types.h:1625
Definition: d3d8types.h:1190
Definition: d3d8types.h:151
struct _D3DDEVINFO_RESOURCEMANAGER * LPD3DDEVINFO_RESOURCEMANAGER
Definition: d3d8types.h:1267
Definition: d3d8types.h:214
Definition: d3d8types.h:448
UINT Size
Definition: d3d8types.h:1474
void * pBits
Definition: d3d8types.h:1509
Definition: d3d8types.h:381
Definition: d3d8types.h:491
Definition: d3d8types.h:441
struct _D3DVOLUME_DESC D3DVOLUME_DESC
Definition: d3d8types.h:1437
Definition: d3d8types.h:1082
UINT StartVertexOffsetHeight
Definition: d3d8types.h:1541
Definition: d3d8types.h:215
enum _D3DBLEND D3DBLEND
Definition: d3d8types.h:888
Definition: d3d8types.h:496
_D3DPATCHEDGESTYLE
Definition: d3d8types.h:1135
Definition: d3d8types.h:399
DWORD WorkingSet
Definition: d3d8types.h:1627
Definition: d3d8types.h:878
Definition: d3d8types.h:341
struct _D3DRASTER_STATUS D3DRASTER_STATUS
Definition: d3d8types.h:358
INT SlicePitch
Definition: d3d8types.h:1526
Definition: d3d8types.h:1413
Definition: d3d8types.h:956
struct _D3DCOLORVALUE D3DCOLORVALUE
#define D3DSP_DSTMOD_SHIFT
Definition: d3d8types.h:951
Definition: d3d8types.h:1159
float z
Definition: d3d8types.h:51
Definition: d3d8types.h:388
Definition: d3d8types.h:307
float _31
Definition: d3d8types.h:82
Definition: d3d8types.h:1334
struct _D3DBOX D3DBOX
DWORD WorkingSetBytes
Definition: d3d8types.h:1628
Definition: d3d8types.h:1214
Definition: d3d8types.h:1409
Definition: d3d8types.h:223
Definition: d3d8types.h:889
Definition: d3d8types.h:1285
Definition: d3d8types.h:513
UINT Offset
Definition: d3d8types.h:1533
float _11
Definition: d3d8types.h:80
Definition: d3d8types.h:442
Definition: d3d8types.h:201
Definition: d3d8types.h:971
float _32
Definition: d3d8types.h:82
Definition: d3d8types.h:380
UINT Back
Definition: d3d8types.h:1520
float r
Definition: d3d8types.h:58
Definition: d3d8types.h:457
Definition: d3d8types.h:885
#define D3DSP_SRCMOD_SHIFT
Definition: d3d8types.h:1076
D3DRESOURCESTATS stats[D3DRTYPECOUNT]
Definition: d3d8types.h:1637
Definition: d3d8types.h:1335
Definition: d3d8types.h:326
Definition: d3d8types.h:1146
Definition: d3d8types.h:218
Definition: d3d8types.h:1288
UINT FullScreen_PresentationInterval
Definition: d3d8types.h:1376
enum _D3DBLENDOP D3DBLENDOP
Definition: d3d8types.h:1283
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DCMPFUNC D3DCMPFUNC
Definition: d3d8types.h:325
_D3DSTENCILOP
Definition: d3d8types.h:266
struct _D3DLIGHT8 D3DLIGHT8
enum _D3DSHADEMODE D3DSHADEMODE
Definition: d3d8types.h:973
Definition: d3d8types.h:1298
#define MAX_DEVICE_IDENTIFIER_STRING
Definition: d3d8types.h:1559
Definition: d3d8types.h:365
enum _D3DZBUFFERTYPE D3DZBUFFERTYPE
LONG y2
Definition: d3d8types.h:71
Definition: d3d8types.h:518
Definition: d3d8types.h:979
Definition: d3d8types.h:1276
float _42
Definition: d3d8types.h:83
Definition: d3d8types.h:895
Definition: d3d8types.h:894
Definition: d3d8types.h:727
Definition: d3d8types.h:985
struct _D3DRECT D3DRECT
struct _D3DMATRIX D3DMATRIX
Definition: d3d8types.h:359
_D3DBACKBUFFER_TYPE
Definition: d3d8types.h:1395
Definition: d3d8types.h:250
float _43
Definition: d3d8types.h:83
DWORD TotalManaged
Definition: d3d8types.h:1629
Definition: d3d8types.h:282
DWORD Usage
Definition: d3d8types.h:1496
enum _D3DTEXTURETRANSFORMFLAGS D3DTEXTURETRANSFORMFLAGS
Definition: d3d8types.h:907
enum _D3DDEVTYPE D3DDEVTYPE
D3DCOLORVALUE Diffuse
Definition: d3d8types.h:152
Definition: d3d8types.h:315
Definition: d3d8types.h:882
Definition: d3d8types.h:196
enum _D3DCUBEMAP_FACES D3DCUBEMAP_FACES
Definition: d3d8types.h:728
Definition: d3d8types.h:1338
Definition: d3d8types.h:726
float _13
Definition: d3d8types.h:80
DWORD TotalBytes
Definition: d3d8types.h:1630
_D3DVS_ADDRESSMODE_TYPE
Definition: d3d8types.h:996
D3DMULTISAMPLE_TYPE MultiSampleType
Definition: d3d8types.h:1487
BOOL bThrashing
Definition: d3d8types.h:1619
Definition: d3d8types.h:217
Definition: d3d8types.h:202
Definition: d3d8types.h:1085
_D3DSTATEBLOCKTYPE
Definition: d3d8types.h:1142
Definition: d3d8types.h:240
Definition: d3d8types.h:524
Definition: d3d8types.h:260
Definition: d3d8types.h:520
struct _D3DVIEWPORT8 D3DVIEWPORT8
_D3DORDERTYPE
Definition: d3d8types.h:1126
Definition: d3d8types.h:1333
_D3DCMPFUNC
Definition: d3d8types.h:254
_D3DMATERIALCOLORSOURCE
Definition: d3d8types.h:406
Definition: d3d8types.h:346
_D3DTRANSFORMSTATETYPE
Definition: d3d8types.h:304
Definition: d3d8types.h:988
float Phi
Definition: d3d8types.h:179
Definition: d3d8types.h:892
Definition: d3d8types.h:376
UINT StartVertexOffset
Definition: d3d8types.h:1551
float Theta
Definition: d3d8types.h:178
D3DFORMAT Format
Definition: d3d8types.h:1317
Definition: d3d8types.h:308
Definition: d3d8types.h:1304
GUID DeviceIdentifier
Definition: d3d8types.h:1577
_D3DBASISTYPE
Definition: d3d8types.h:1118
Definition: d3d8types.h:1321
Definition: d3d8types.h:1083
Definition: d3d8types.h:452
enum _D3DFORMAT D3DFORMAT
Definition: d3d8types.h:724
Definition: d3d8types.h:334
Definition: d3d8types.h:272
Definition: d3d8types.h:1129
Definition: d3d8types.h:268
_D3DRENDERSTATETYPE
Definition: d3d8types.h:324
Definition: d3d8types.h:1156
Definition: d3d8types.h:1291
enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE D3DSHADER_INSTRUCTION_OPCODE_TYPE
Definition: d3d8types.h:1087
Definition: d3d8types.h:1256
Definition: d3d8types.h:1086
Definition: d3d8types.h:379
struct _D3DPRESENT_PARAMETERS_ D3DPRESENT_PARAMETERS
Definition: d3d8types.h:398
Definition: d3d8types.h:497
Definition: d3d8types.h:974
float Power
Definition: d3d8types.h:156
Definition: d3d8types.h:385
Definition: d3d8types.h:932
D3DRESOURCETYPE Type
Definition: d3d8types.h:1471
Definition: d3d8types.h:395
Definition: d3d8types.h:453
Definition: d3d8types.h:1166
Definition: d3d8types.h:197
Definition: d3d8types.h:923
Definition: d3d8types.h:409
Definition: d3d8types.h:383
Definition: d3d8types.h:369
Definition: d3d8types.h:263
Definition: d3d8types.h:1336
Definition: d3d8types.h:195
Definition: d3d8types.h:310
Definition: d3d8types.h:912
Definition: d3d8types.h:281
Definition: d3d8types.h:1205
Definition: d3d8types.h:387
Definition: d3d8types.h:460
Definition: d3d8types.h:1305
Definition: d3d8types.h:257
struct _D3DLOCKED_RECT D3DLOCKED_RECT
UINT Size
Definition: d3d8types.h:1461
Definition: d3d8types.h:1147
Definition: d3d8types.h:338
D3DORDERTYPE Order
Definition: d3d8types.h:1554
float MinZ
Definition: d3d8types.h:97
Definition: d3d8types.h:1204
Definition: d3d8types.h:204
Definition: d3d8types.h:1290
Definition: d3d8types.h:366
Definition: d3d8types.h:1280
Definition: d3d8types.h:1265
Definition: d3d8types.h:258
Definition: d3d8types.h:1132
Definition: d3d8types.h:301
Definition: d3d8types.h:1259
DWORD ClipUnion
Definition: d3d8types.h:147
Definition: d3d8types.h:1408
Definition: d3d8types.h:203
Definition: d3d8types.h:930
Definition: d3d8types.h:299
Definition: d3d8types.h:298
Definition: d3d8types.h:393
Definition: d3d8types.h:239
Definition: d3d8types.h:1346
Definition: d3d8types.h:1212
Definition: d3d8types.h:1167
Definition: d3d8types.h:216
Definition: d3d8types.h:363
Definition: d3d8types.h:1479
DWORD NumUsed
Definition: d3d8types.h:1624
Definition: d3d8types.h:1090
Definition: d3d8types.h:1268
Definition: d3d8types.h:883
Definition: d3d8types.h:213
Definition: d3d8types.h:1416
Definition: d3d8types.h:400
Definition: d3d8types.h:440
GLfloat GLfloat blue
Definition: glext.h:6290
Definition: d3d8types.h:234
Definition: d3d8types.h:1138
Definition: d3d8types.h:270
Definition: d3d8types.h:910
UINT StartVertexOffsetWidth
Definition: d3d8types.h:1540
Definition: d3d8types.h:371
float Attenuation0
Definition: d3d8types.h:175
Definition: d3d8types.h:1275
Definition: d3d8types.h:280
Definition: d3d8types.h:248
struct _D3DINDEXBUFFER_DESC D3DINDEXBUFFER_DESC
Definition: d3d8types.h:342
Definition: d3d8types.h:372
Definition: d3d8types.h:876
DWORD Height
Definition: d3d8types.h:96
Definition: d3d8types.h:1284
Definition: d3d8types.h:1401
WORD red[256]
Definition: d3d8types.h:1389
float _33
Definition: d3d8types.h:82
Definition: d3d8types.h:492
DWORD Revision
Definition: d3d8types.h:1575
Definition: d3d8types.h:1343
Definition: d3d8types.h:330
Definition: d3d8types.h:510
Definition: d3d8types.h:1442
Definition: d3d8types.h:495
Definition: d3d8types.h:917
Definition: d3d8types.h:514
UINT Top
Definition: d3d8types.h:1516
D3DRESOURCETYPE Type
Definition: d3d8types.h:1458
_D3DTEXTURESTAGESTATETYPE
Definition: d3d8types.h:437
Definition: d3d8types.h:456
enum _D3DSHADER_PARAM_SRCMOD_TYPE D3DSHADER_PARAM_SRCMOD_TYPE
Definition: d3d8types.h:1130
Definition: d3d8types.h:349
D3DSWAPEFFECT SwapEffect
Definition: d3d8types.h:1367
Definition: d3d8types.h:1272
Definition: d3d8types.h:1084
Definition: d3d8types.h:267
Definition: d3d8types.h:377
Definition: d3d8types.h:1263
enum _D3DVERTEXBLENDFLAGS D3DVERTEXBLENDFLAGS
Definition: d3d8types.h:1398
_D3DCULL
Definition: d3d8types.h:247
UINT FullScreen_RefreshRateInHz
Definition: d3d8types.h:1375
_D3DVS_RASTOUT_OFFSETS
Definition: d3d8types.h:983
BOOL InVBlank
Definition: d3d8types.h:1587
D3DPOOL Pool
Definition: d3d8types.h:1497
Definition: d3d8types.h:499
UINT Size
Definition: d3d8types.h:1485
Definition: d3d8types.h:244
DWORD D3DCOLOR
Definition: d3d8types.h:32
_D3DFORMAT
Definition: d3d8types.h:1254
D3DPOOL Pool
Definition: d3d8types.h:1460
Definition: d3d8types.h:919
Definition: d3d8types.h:370
Definition: d3d8types.h:464
Definition: d3d8types.h:300
Definition: d3d8types.h:896
Definition: d3d8types.h:1165
float b
Definition: d3d8types.h:60
Definition: d3d8types.h:1531
Definition: d3d8types.h:1281
DWORD ApproxBytesDownloaded
Definition: d3d8types.h:1620
_D3DSHADER_PARAM_DSTMOD_TYPE
Definition: d3d8types.h:954
Definition: d3d8types.h:925
Definition: d3d8types.h:1300
_D3DTEXTUREOP
Definition: d3d8types.h:482
Definition: d3d8types.h:893
Definition: d3d8types.h:509
Definition: d3d8types.h:903
Definition: d3d8types.h:486
Definition: d3d8types.h:1139
Definition: d3d8types.h:235
UINT Size
Definition: d3d8types.h:1498
Definition: d3d8types.h:1438
DWORD ClipIntersection
Definition: d3d8types.h:148
Definition: d3d8types.h:461
WORD wRepeatFactor
Definition: d3d8types.h:208
Definition: d3d8types.h:1211
Definition: d3d8types.h:926
Definition: d3d8types.h:999
Definition: d3d8types.h:1306
Definition: d3d8types.h:922
Definition: d3d8types.h:361
D3DRESOURCETYPE Type
Definition: d3d8types.h:1495
enum _D3DVS_RASTOUT_OFFSETS D3DVS_RASTOUT_OFFSETS
Definition: d3d8types.h:898
Definition: d3d8types.h:916
DWORD DriverVersionLowPart
Definition: d3d8types.h:1568
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
float _34
Definition: d3d8types.h:82
UINT Depth
Definition: d3d8types.h:1502
Definition: d3d8types.h:1164
float Range
Definition: d3d8types.h:173
UINT Width
Definition: d3d8types.h:1488
Definition: d3d8types.h:1216
Definition: d3d8types.h:490
INT Pitch
Definition: d3d8types.h:1508
Definition: d3d8types.h:1296
Definition: d3d8types.h:1399
Definition: d3d8types.h:506
Definition: d3d8types.h:450
Definition: d3d8types.h:275
Definition: d3d8types.h:1261
Definition: d3d8types.h:225
struct _D3DDEVICE_CREATION_PARAMETERS D3DDEVICE_CREATION_PARAMETERS
Definition: d3d8types.h:1153
Definition: d3d8types.h:410
Definition: d3d8types.h:887
Definition: d3d8types.h:402
Definition: d3d8types.h:384
float _14
Definition: d3d8types.h:80
Definition: d3d8types.h:875
_D3DSHADER_INSTRUCTION_OPCODE_TYPE
Definition: d3d8types.h:873
Definition: d3d8types.h:336
Definition: d3d8types.h:335
Definition: d3d8types.h:976
Definition: d3d8types.h:899
Definition: d3d8types.h:1387
UINT BackBufferHeight
Definition: d3d8types.h:1361
struct _D3DTRIPATCH_INFO D3DTRIPATCH_INFO
Definition: d3d8types.h:367
DWORD NumEvicts
Definition: d3d8types.h:1621
enum _D3DBASISTYPE D3DBASISTYPE
Definition: d3d8types.h:723
Definition: d3d8types.h:1199
Definition: d3d8types.h:1089
_D3DPOOL
Definition: d3d8types.h:1342
_D3DBLEND
Definition: d3d8types.h:212
Definition: d3d8types.h:972
Definition: d3d8types.h:447
Definition: d3d8types.h:1616
Definition: d3d8types.h:67
Definition: d3d8types.h:564
float _22
Definition: d3d8types.h:81
Definition: d3d8types.h:1312
_D3DSHADER_PARAM_SRCMOD_TYPE
Definition: d3d8types.h:1079
D3DDEVTYPE DeviceType
Definition: d3d8types.h:1324
Definition: d3d8types.h:1208
Definition: d3d8types.h:411
D3DFORMAT AutoDepthStencilFormat
Definition: d3d8types.h:1371
Definition: d3d8types.h:224
_D3DCUBEMAP_FACES
Definition: d3d8types.h:1433
float a
Definition: d3d8types.h:61
Definition: d3d8types.h:350
DWORD VendorId
Definition: d3d8types.h:1572
Definition: d3d8types.h:884
Definition: d3d8types.h:1295
Definition: d3d8types.h:459
Definition: d3d8types.h:354
Definition: d3d8types.h:1144
unsigned int BOOL
Definition: gctypes.h:51
Definition: d3d8types.h:446
_D3DPRIMITIVETYPE
Definition: d3d8types.h:294
D3DCOLORVALUE Diffuse
Definition: d3d8types.h:168
Definition: d3d8types.h:485
Definition: d3d8types.h:1121
Definition: d3d8types.h:364
struct _D3DMATERIAL8 D3DMATERIAL8
Definition: d3d8types.h:226
LONG y1
Definition: d3d8types.h:69
enum _D3DORDERTYPE D3DORDERTYPE
Definition: d3d8types.h:504
Definition: d3d8types.h:408
Definition: d3d8types.h:986
Definition: d3d8types.h:1297
WORD wLinePattern
Definition: d3d8types.h:209
Definition: d3d8types.h:906
UINT ScanLine
Definition: d3d8types.h:1588
Definition: d3d8types.h:559
Definition: d3d8types.h:161
Definition: d3d8types.h:563
UINT Width
Definition: d3d8types.h:1314
Definition: d3d8types.h:394
Definition: d3d8types.h:353
Definition: d3d8types.h:1607
Definition: d3d8types.h:998
D3DCOLORVALUE Specular
Definition: d3d8types.h:169
Definition: d3d8types.h:233
Definition: d3d8types.h:1157
enum _D3DFOGMODE D3DFOGMODE
Definition: d3d8types.h:1158
Definition: d3d8types.h:327
UINT Width
Definition: d3d8types.h:1500
struct _D3DRECTPATCH_INFO D3DRECTPATCH_INFO
char Description[MAX_DEVICE_IDENTIFIER_STRING]
Definition: d3d8types.h:1563
D3DCOLORVALUE Emissive
Definition: d3d8types.h:155
D3DFORMAT Format
Definition: d3d8types.h:1457
Definition: d3d8types.h:328
Definition: d3d8types.h:1506
Definition: d3d8types.h:561
Definition: d3d8types.h:1292
Definition: d3d8types.h:373
Definition: d3d8types.h:348
GLfloat green
Definition: glext.h:6290
Definition: d3d8types.h:1264
Definition: d3d8types.h:444
DWORD NumVidCreates
Definition: d3d8types.h:1622
#define D3DVS_ADDRESSMODE_SHIFT
Definition: d3d8types.h:993
Definition: d3d8types.h:146
enum _D3DCULL D3DCULL
UINT Height
Definition: d3d8types.h:1489
Definition: d3d8types.h:1468
Definition: glslang_tab.cpp:135
Definition: d3d8types.h:1407
Definition: d3d8types.h:1131
Definition: d3d8types.h:312
Definition: d3d8types.h:162
Definition: d3d8types.h:332
Definition: d3d8types.h:562
Definition: d3d8types.h:909
UINT Height
Definition: d3d8types.h:1315
Definition: d3d8types.h:458
#define D3DSP_REGTYPE_SHIFT
Definition: d3d8types.h:966
Definition: d3d8types.h:886
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
Definition: d3d8types.h:1137
Definition: d3d8types.h:356
Definition: d3d8types.h:1410
D3DORDERTYPE Order
Definition: d3d8types.h:1546
Definition: d3d8types.h:987
HWND hDeviceWindow
Definition: d3d8types.h:1368
Definition: d3d8types.h:1000
Definition: d3d8types.h:890
Definition: d3d8types.h:908
D3DPOOL Pool
Definition: d3d8types.h:1484
UINT Width
Definition: d3d8types.h:1542
Definition: glslang_tab.cpp:136
D3DCOLORVALUE Specular
Definition: d3d8types.h:154
Definition: d3d8types.h:347
Definition: d3d8types.h:1358
Definition: d3d8types.h:1282
Definition: d3d8types.h:274
Definition: d3d8types.h:911
Definition: d3d8types.h:382
Definition: d3d8types.h:261
DWORD Flags
Definition: d3d8types.h:1372
enum _D3DTEXTUREOP D3DTEXTUREOP
float Attenuation1
Definition: d3d8types.h:176
Definition: d3d8types.h:498
Definition: d3d8types.h:1440
Definition: d3d8types.h:251
Definition: d3d8types.h:389
struct _D3DVERTEXBUFFER_DESC D3DVERTEXBUFFER_DESC
INT RowPitch
Definition: d3d8types.h:1525
D3DCOLORVALUE Ambient
Definition: d3d8types.h:170
Definition: d3d8types.h:289
Definition: d3d8types.h:1345
Definition: d3d8types.h:879
Definition: d3d8types.h:207
Definition: d3d8types.h:466
Definition: d3d8types.h:1213
Definition: d3d8types.h:920
struct _D3DDEVINFO_D3DVERTEXSTATS * LPD3DDEVINFO_D3DVERTEXSTATS
Definition: d3d8types.h:1436
BOOL Windowed
Definition: d3d8types.h:1369
UINT Height
Definition: d3d8types.h:1543
UINT Left
Definition: d3d8types.h:1515
Definition: d3d8types.h:311
Definition: d3d8types.h:928
Definition: d3d8types.h:1122
char Driver[MAX_DEVICE_IDENTIFIER_STRING]
Definition: d3d8types.h:1562
struct _D3DDEVINFO_RESOURCEMANAGER D3DDEVINFO_RESOURCEMANAGER
Definition: d3d8types.h:443
Definition: d3d8types.h:462
_D3DTEXTUREADDRESS
Definition: d3d8types.h:238
Definition: d3d8types.h:314
enum _D3DMATERIALCOLORSOURCE D3DMATERIALCOLORSOURCE
UINT Stride
Definition: d3d8types.h:1544
Definition: d3d8types.h:1128
Definition: d3d8types.h:565
Definition: d3d8types.h:232
HWND hFocusWindow
Definition: d3d8types.h:1325
_D3DTEXTURETRANSFORMFLAGS
Definition: d3d8types.h:1162
UINT NumVertices
Definition: d3d8types.h:1552
Definition: d3d8types.h:1168
Definition: d3d8types.h:355
_D3DTEXTUREFILTERTYPE
Definition: d3d8types.h:557
Definition: d3d8types.h:1088
enum _D3DSHADER_PARAM_DSTMOD_TYPE D3DSHADER_PARAM_DSTMOD_TYPE
Definition: d3d8types.h:505
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
Definition: d3d8types.h:1210
Definition: d3d8types.h:1549
Definition: d3d8types.h:343
Definition: d3d8types.h:249
float g
Definition: d3d8types.h:59
Definition: d3d8types.h:1266
Definition: d3d8types.h:1397
Definition: d3d8types.h:1091
Definition: d3d8types.h:305
DWORD Width
Definition: d3d8types.h:95
DWORD NumExtraClippingTriangles
Definition: d3d8types.h:1643
D3DLIGHTTYPE Type
Definition: d3d8types.h:167
Definition: d3d8types.h:978
D3DPOOL Pool
Definition: d3d8types.h:1473
Definition: d3d8types.h:905
struct _D3DRESOURCESTATS D3DRESOURCESTATS
Definition: d3d8types.h:331
Definition: d3d8types.h:1523
Definition: d3d8types.h:1412
float Falloff
Definition: d3d8types.h:174
Definition: d3d8types.h:329
D3DFORMAT Format
Definition: d3d8types.h:1494
float _24
Definition: d3d8types.h:81
Definition: d3d8types.h:1287
void * pBits
Definition: d3d8types.h:1527
Definition: d3d8types.h:287
Definition: d3d8types.h:1606
DWORD Y
Definition: d3d8types.h:94
Definition: d3d8types.h:1209
Definition: d3d8types.h:1492
Definition: d3d8types.h:375
Definition: d3d8types.h:1145
Definition: d3d8types.h:901
D3DVECTOR Direction
Definition: d3d8types.h:172
struct _D3DVECTOR D3DVECTOR
float MaxZ
Definition: d3d8types.h:98
Definition: d3d8types.h:915
_D3DFILLMODE
Definition: d3d8types.h:200
Definition: d3d8types.h:1120
Definition: d3d8types.h:160
_D3DZBUFFERTYPE
Definition: d3d8types.h:286
Definition: d3d8types.h:465
Definition: d3d8types.h:390
enum _D3DSTENCILOP D3DSTENCILOP
Definition: d3d8types.h:309
D3DMULTISAMPLE_TYPE MultiSampleType
Definition: d3d8types.h:1365
Definition: d3d8types.h:1455
Definition: d3d8types.h:1092
Definition: d3d8types.h:454
DWORD LastPri
Definition: d3d8types.h:1623
Definition: d3d8types.h:1608
Definition: d3d8types.h:194
struct _D3DDEVINFO_D3DVERTEXSTATS D3DDEVINFO_D3DVERTEXSTATS
Definition: d3d8types.h:386
Definition: d3d8types.h:1193
LONG x1
Definition: d3d8types.h:68
Definition: d3d8types.h:921
Definition: d3d8types.h:271
Definition: d3d8types.h:1260
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
D3DFORMAT Format
Definition: d3d8types.h:1470
Definition: d3d8types.h:1155
_D3DSHADER_PARAM_REGISTER_TYPE
Definition: d3d8types.h:969
Definition: d3d8types.h:219
Definition: d3d8types.h:877
Definition: d3d8types.h:880
Definition: d3d8types.h:1169
Definition: d3d8types.h:904
D3DRESOURCETYPE Type
Definition: d3d8types.h:1482
_D3DMULTISAMPLE_TYPE
Definition: d3d8types.h:1197
Definition: d3d8types.h:1640
Definition: d3d8types.h:455
Definition: d3d8types.h:722
enum _D3DBACKBUFFER_TYPE D3DBACKBUFFER_TYPE
UINT Right
Definition: d3d8types.h:1517
enum _D3DSHADER_PARAM_REGISTER_TYPE D3DSHADER_PARAM_REGISTER_TYPE
Definition: d3d8types.h:339
Definition: d3d8types.h:313
Definition: d3d8types.h:525
D3DFORMAT BackBufferFormat
Definition: d3d8types.h:1362
Definition: d3d8types.h:396
const GLfloat * m
Definition: glext.h:11755
Definition: d3d8types.h:1206
Definition: d3d8types.h:929
Definition: d3d8types.h:345
DWORD Usage
Definition: d3d8types.h:1459
Definition: d3d8types.h:537
Definition: d3d8types.h:924
DWORD NumRenderedTriangles
Definition: d3d8types.h:1642
_D3DVSD_TOKENTYPE
Definition: d3d8types.h:719
Definition: d3d8types.h:881
Definition: d3d8types.h:1585
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
Definition: d3d8types.h:357
Definition: d3d8types.h:1293
Definition: d3d8types.h:1202
float _41
Definition: d3d8types.h:83
Definition: d3d8types.h:290
Definition: d3d8types.h:516
Definition: d3d8types.h:1270
Definition: d3d8types.h:1348
Definition: d3d8types.h:378
Definition: d3d8types.h:279
Definition: d3d8types.h:1344
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
Definition: d3d8types.h:1248
enum _D3DPATCHEDGESTYLE D3DPATCHEDGESTYLE
struct _D3DRANGE D3DRANGE
Definition: d3d8types.h:1538
_D3DSHADEMODE
Definition: d3d8types.h:193
enum _D3DFILLMODE D3DFILLMODE
DWORD BehaviorFlags
Definition: d3d8types.h:1326
Definition: d3d8types.h:1258
D3DBASISTYPE Basis
Definition: d3d8types.h:1553
Definition: d3d8types.h:256
UINT BackBufferWidth
Definition: d3d8types.h:1360
Definition: d3d8types.h:220
Definition: d3d8types.h:397
Definition: d3d8types.h:1207
Definition: d3d8types.h:918
UINT Size
Definition: d3d8types.h:1534
Definition: d3d8types.h:1513
Definition: d3d8types.h:262