Isle
Loading...
Searching...
No Matches
d3dtypes.h
Go to the documentation of this file.
1/*==========================================================================;
2 *
3 * Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
4 *
5 * File: d3dtypes.h
6 * Content: Direct3D types include file
7 *
8 ***************************************************************************/
9
10#ifndef _D3DTYPES_H_
11#define _D3DTYPES_H_
12
13#if (! defined WIN32) && (! defined WIN95)
14#include "subwtype.h"
15#else
16#include <windows.h>
17#endif
18
19#include <float.h>
20#include <ddraw.h>
21
22#pragma pack(4)
23
24/* D3DVALUE is the fundamental Direct3D fractional data type */
25
26#define D3DVALP(val, prec) ((float)(val))
27#define D3DVAL(val) ((float)(val))
28typedef float D3DVALUE, *LPD3DVALUE;
29#define D3DDivide(a, b) (float)((double) (a) / (double) (b))
30#define D3DMultiply(a, b) ((a) * (b))
31
32typedef LONG D3DFIXED;
33
34#ifndef RGB_MAKE
35/*
36 * Format of CI colors is
37 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38 * | alpha | color index | fraction |
39 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40 */
41#define CI_GETALPHA(ci) ((ci) >> 24)
42#define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff)
43#define CI_GETFRACTION(ci) ((ci) & 0xff)
44#define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80)
45#define CI_MASKALPHA(ci) ((ci) & 0xffffff)
46#define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f))
47
48/*
49 * Format of RGBA colors is
50 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
51 * | alpha | red | green | blue |
52 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
53 */
54#define RGBA_GETALPHA(rgb) ((rgb) >> 24)
55#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
56#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
57#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
58#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
59
60/* D3DRGB and D3DRGBA may be used as initialisers for D3DCOLORs
61 * The float values must be in the range 0..1
62 */
63#define D3DRGB(r, g, b) \
64 (0xff000000L | ( ((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
65#define D3DRGBA(r, g, b, a) \
66 ( (((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) \
67 | (((long)((g) * 255)) << 8) | (long)((b) * 255) \
68 )
69
70/*
71 * Format of RGB colors is
72 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
73 * | ignored | red | green | blue |
74 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
75 */
76#define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff)
77#define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
78#define RGB_GETBLUE(rgb) ((rgb) & 0xff)
79#define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
80#define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b)))
81#define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff))
82#define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000))
83
84#endif
85
86/*
87 * Flags for Enumerate functions
88 */
89
90/*
91 * Stop the enumeration
92 */
93#define D3DENUMRET_CANCEL DDENUMRET_CANCEL
94
95/*
96 * Continue the enumeration
97 */
98#define D3DENUMRET_OK DDENUMRET_OK
99
100typedef HRESULT (WINAPI* LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
102
104
108
109typedef struct _D3DCOLORVALUE {
110 union {
113 };
114 union {
117 };
118 union {
121 };
122 union {
125 };
127
128typedef struct _D3DRECT {
129 union {
130 LONG x1;
131 LONG lX1;
132 };
133 union {
134 LONG y1;
135 LONG lY1;
136 };
137 union {
138 LONG x2;
139 LONG lX2;
140 };
141 union {
142 LONG y2;
143 LONG lY2;
144 };
146
147typedef struct _D3DVECTOR {
148 union {
151 };
152 union {
155 };
156 union {
159 };
160#if (defined __cplusplus) && (defined D3D_OVERLOADS)
161
162public:
163
164 // =====================================
165 // Constructors
166 // =====================================
167
168 _D3DVECTOR() { }
171 _D3DVECTOR(const D3DVALUE f[3]);
172
173 // =====================================
174 // Access grants
175 // =====================================
176
177 const D3DVALUE&operator[](int i) const;
178 D3DVALUE&operator[](int i);
179
180 // =====================================
181 // Assignment operators
182 // =====================================
183
184 _D3DVECTOR& operator += (const _D3DVECTOR& v);
185 _D3DVECTOR& operator -= (const _D3DVECTOR& v);
186 _D3DVECTOR& operator *= (const _D3DVECTOR& v);
187 _D3DVECTOR& operator /= (const _D3DVECTOR& v);
188 _D3DVECTOR& operator *= (D3DVALUE s);
189 _D3DVECTOR& operator /= (D3DVALUE s);
190
191 // =====================================
192 // Unary operators
193 // =====================================
194
195 friend _D3DVECTOR operator + (const _D3DVECTOR& v);
196 friend _D3DVECTOR operator - (const _D3DVECTOR& v);
197
198
199 // =====================================
200 // Binary operators
201 // =====================================
202
203 // Addition and subtraction
204 friend _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
205 friend _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
206 // Scalar multiplication and division
207 friend _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s);
208 friend _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v);
209 friend _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s);
210 // Memberwise multiplication and division
211 friend _D3DVECTOR operator * (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
212 friend _D3DVECTOR operator / (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
213
214 // Vector dominance
215 friend int operator < (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
216 friend int operator <= (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
217
218 // Bitwise equality
219 friend int operator == (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
220
221 // Length-related functions
222 friend D3DVALUE SquareMagnitude (const _D3DVECTOR& v);
223 friend D3DVALUE Magnitude (const _D3DVECTOR& v);
224
225 // Returns vector with same direction and unit length
226 friend _D3DVECTOR Normalize (const _D3DVECTOR& v);
227
228 // Return min/max component of the input vector
229 friend D3DVALUE Min (const _D3DVECTOR& v);
230 friend D3DVALUE Max (const _D3DVECTOR& v);
231
232 // Return memberwise min/max of input vectors
233 friend _D3DVECTOR Minimize (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
234 friend _D3DVECTOR Maximize (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
235
236 // Dot and cross product
237 friend D3DVALUE DotProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
238 friend _D3DVECTOR CrossProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
239
240#endif
241
243
244#if (defined __cplusplus) && (defined D3D_OVERLOADS)
245#include "d3dvec.inl"
246#endif
247
248/*
249 * Vertex data types supported in an ExecuteBuffer.
250 */
251
252/*
253 * Homogeneous vertices
254 */
255
256typedef struct _D3DHVERTEX {
257 DWORD dwFlags; /* Homogeneous clipping flags */
258 union {
261 };
262 union {
265 };
266 union {
269 };
271
272/*
273 * Transformed/lit vertices
274 */
275typedef struct _D3DTLVERTEX {
276 union {
277 D3DVALUE sx; /* Screen coordinates */
279 };
280 union {
283 };
284 union {
287 };
288 union {
289 D3DVALUE rhw; /* Reciprocal of homogeneous w */
291 };
292 union {
293 D3DCOLOR color; /* Vertex color */
295 };
296 union {
297 D3DCOLOR specular; /* Specular component of vertex */
299 };
300 union {
301 D3DVALUE tu; /* Texture coordinates */
303 };
304 union {
307 };
308#if (defined __cplusplus) && (defined D3D_OVERLOADS)
309 _D3DTLVERTEX() { }
310 _D3DTLVERTEX(const D3DVECTOR& v, float _rhw,
311 D3DCOLOR _color, D3DCOLOR _specular,
312 float _tu, float _tv)
313 { sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
314 color = _color; specular = _specular;
315 tu = _tu; tv = _tv;
316 }
317#endif
319
320/*
321 * Untransformed/lit vertices
322 */
323typedef struct _D3DLVERTEX {
324 union {
325 D3DVALUE x; /* Homogeneous coordinates */
327 };
328 union {
331 };
332 union {
335 };
337 union {
338 D3DCOLOR color; /* Vertex color */
340 };
341 union {
342 D3DCOLOR specular; /* Specular component of vertex */
344 };
345 union {
346 D3DVALUE tu; /* Texture coordinates */
348 };
349 union {
352 };
353#if (defined __cplusplus) && (defined D3D_OVERLOADS)
354 _D3DLVERTEX() { }
355 _D3DLVERTEX(const D3DVECTOR& v,
356 D3DCOLOR _color, D3DCOLOR _specular,
357 float _tu, float _tv)
358 { x = v.x; y = v.y; z = v.z; dwReserved = 0;
359 color = _color; specular = _specular;
360 tu = _tu; tv = _tv;
361 }
362#endif
364
365/*
366 * Untransformed/unlit vertices
367 */
368
369typedef struct _D3DVERTEX {
370 union {
371 D3DVALUE x; /* Homogeneous coordinates */
373 };
374 union {
377 };
378 union {
381 };
382 union {
383 D3DVALUE nx; /* Normal */
385 };
386 union {
389 };
390 union {
393 };
394 union {
395 D3DVALUE tu; /* Texture coordinates */
397 };
398 union {
401 };
402#if (defined __cplusplus) && (defined D3D_OVERLOADS)
403 _D3DVERTEX() { }
404 _D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv)
405 { x = v.x; y = v.y; z = v.z;
406 nx = n.x; ny = n.y; nz = n.z;
407 tu = _tu; tv = _tv;
408 }
409#endif
411
412/*
413 * Matrix, viewport, and tranformation structures and definitions.
414 */
415
416typedef struct _D3DMATRIX {
417#if (defined __cplusplus) && (defined D3D_OVERLOADS)
418 union {
419 struct {
420#endif
421
426
427#if (defined __cplusplus) && (defined D3D_OVERLOADS)
428 };
429 D3DVALUE m[4][4];
430 };
431 _D3DMATRIX() { }
432 _D3DMATRIX( D3DVALUE _m00, D3DVALUE _m01, D3DVALUE _m02, D3DVALUE _m03,
433 D3DVALUE _m10, D3DVALUE _m11, D3DVALUE _m12, D3DVALUE _m13,
434 D3DVALUE _m20, D3DVALUE _m21, D3DVALUE _m22, D3DVALUE _m23,
435 D3DVALUE _m30, D3DVALUE _m31, D3DVALUE _m32, D3DVALUE _m33
436 )
437 {
438 m[0][0] = _m00; m[0][1] = _m01; m[0][2] = _m02; m[0][3] = _m03;
439 m[1][0] = _m10; m[1][1] = _m11; m[1][2] = _m12; m[1][3] = _m13;
440 m[2][0] = _m20; m[2][1] = _m21; m[2][2] = _m22; m[2][3] = _m23;
441 m[3][0] = _m30; m[3][1] = _m31; m[3][2] = _m32; m[3][3] = _m33;
442 }
443
444 D3DVALUE& operator()(int iRow, int iColumn) { return m[iRow][iColumn]; }
445 const D3DVALUE& operator()(int iRow, int iColumn) const { return m[iRow][iColumn]; }
446#endif
448
449typedef struct _D3DVIEWPORT {
452 DWORD dwY; /* Top left */
454 DWORD dwHeight; /* Dimensions */
455 D3DVALUE dvScaleX; /* Scale homogeneous to screen */
456 D3DVALUE dvScaleY; /* Scale homogeneous to screen */
457 D3DVALUE dvMaxX; /* Min/max homogeneous x coord */
458 D3DVALUE dvMaxY; /* Min/max homogeneous y coord */
460 D3DVALUE dvMaxZ; /* Min/max homogeneous z coord */
462
463typedef struct _D3DVIEWPORT2 {
466 DWORD dwY; /* Viewport Top left */
468 DWORD dwHeight; /* Viewport Dimensions */
469 D3DVALUE dvClipX; /* Top left of clip volume */
471 D3DVALUE dvClipWidth; /* Clip Volume Dimensions */
473 D3DVALUE dvMinZ; /* Min/max of clip Volume */
476
477/*
478 * Values for clip fields.
479 */
480#define D3DCLIP_LEFT 0x00000001L
481#define D3DCLIP_RIGHT 0x00000002L
482#define D3DCLIP_TOP 0x00000004L
483#define D3DCLIP_BOTTOM 0x00000008L
484#define D3DCLIP_FRONT 0x00000010L
485#define D3DCLIP_BACK 0x00000020L
486#define D3DCLIP_GEN0 0x00000040L
487#define D3DCLIP_GEN1 0x00000080L
488#define D3DCLIP_GEN2 0x00000100L
489#define D3DCLIP_GEN3 0x00000200L
490#define D3DCLIP_GEN4 0x00000400L
491#define D3DCLIP_GEN5 0x00000800L
492
493/*
494 * Values for d3d status.
495 */
496#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
497#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
498#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
499#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
500#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
501#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
502#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
503#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
504#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
505#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
506#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
507#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
508
509#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000L
510#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000L
511#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000L
512#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000L
513#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000L
514#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000L
515#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000L
516#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000L
517#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000L
518#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000L
519#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000L
520#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000L
521#define D3DSTATUS_ZNOTVISIBLE 0x01000000L
522/* Do not use 0x80000000 for any status flags in future as it is reserved */
523
524#define D3DSTATUS_CLIPUNIONALL ( \
525 D3DSTATUS_CLIPUNIONLEFT | \
526 D3DSTATUS_CLIPUNIONRIGHT | \
527 D3DSTATUS_CLIPUNIONTOP | \
528 D3DSTATUS_CLIPUNIONBOTTOM | \
529 D3DSTATUS_CLIPUNIONFRONT | \
530 D3DSTATUS_CLIPUNIONBACK | \
531 D3DSTATUS_CLIPUNIONGEN0 | \
532 D3DSTATUS_CLIPUNIONGEN1 | \
533 D3DSTATUS_CLIPUNIONGEN2 | \
534 D3DSTATUS_CLIPUNIONGEN3 | \
535 D3DSTATUS_CLIPUNIONGEN4 | \
536 D3DSTATUS_CLIPUNIONGEN5 \
537 )
538
539#define D3DSTATUS_CLIPINTERSECTIONALL ( \
540 D3DSTATUS_CLIPINTERSECTIONLEFT | \
541 D3DSTATUS_CLIPINTERSECTIONRIGHT | \
542 D3DSTATUS_CLIPINTERSECTIONTOP | \
543 D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
544 D3DSTATUS_CLIPINTERSECTIONFRONT | \
545 D3DSTATUS_CLIPINTERSECTIONBACK | \
546 D3DSTATUS_CLIPINTERSECTIONGEN0 | \
547 D3DSTATUS_CLIPINTERSECTIONGEN1 | \
548 D3DSTATUS_CLIPINTERSECTIONGEN2 | \
549 D3DSTATUS_CLIPINTERSECTIONGEN3 | \
550 D3DSTATUS_CLIPINTERSECTIONGEN4 | \
551 D3DSTATUS_CLIPINTERSECTIONGEN5 \
552 )
553
554#define D3DSTATUS_DEFAULT ( \
555 D3DSTATUS_CLIPINTERSECTIONALL | \
556 D3DSTATUS_ZNOTVISIBLE)
557
558
559/*
560 * Options for direct transform calls
561 */
562#define D3DTRANSFORM_CLIPPED 0x00000001l
563#define D3DTRANSFORM_UNCLIPPED 0x00000002l
564
565typedef struct _D3DTRANSFORMDATA {
567 LPVOID lpIn; /* Input vertices */
568 DWORD dwInSize; /* Stride of input vertices */
569 LPVOID lpOut; /* Output vertices */
570 DWORD dwOutSize; /* Stride of output vertices */
571 LPD3DHVERTEX lpHOut; /* Output homogeneous vertices */
572 DWORD dwClip; /* Clipping hint */
574 DWORD dwClipUnion; /* Union of all clip flags */
575 D3DRECT drExtent; /* Extent of transformed vertices */
577
578/*
579 * Structure defining position and direction properties for lighting.
580 */
581typedef struct _D3DLIGHTINGELEMENT {
582 D3DVECTOR dvPosition; /* Lightable point in model space */
583 D3DVECTOR dvNormal; /* Normalised unit vector */
585
586/*
587 * Structure defining material properties for lighting.
588 */
589typedef struct _D3DMATERIAL {
591 union {
592 D3DCOLORVALUE diffuse; /* Diffuse color RGBA */
594 };
595 union {
596 D3DCOLORVALUE ambient; /* Ambient color RGB */
598 };
599 union {
600 D3DCOLORVALUE specular; /* Specular 'shininess' */
602 };
603 union {
604 D3DCOLORVALUE emissive; /* Emissive color RGB */
606 };
607 union {
608 D3DVALUE power; /* Sharpness if specular highlight */
610 };
611 D3DTEXTUREHANDLE hTexture; /* Handle to texture map */
614
615typedef enum _D3DLIGHTTYPE {
620 D3DLIGHT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
622
623/*
624 * Structure defining a light source and its properties.
625 */
626typedef struct _D3DLIGHT {
628 D3DLIGHTTYPE dltType; /* Type of light source */
629 D3DCOLORVALUE dcvColor; /* Color of light */
630 D3DVECTOR dvPosition; /* Position in world space */
631 D3DVECTOR dvDirection; /* Direction in world space */
632 D3DVALUE dvRange; /* Cutoff range */
633 D3DVALUE dvFalloff; /* Falloff */
634 D3DVALUE dvAttenuation0; /* Constant attenuation */
635 D3DVALUE dvAttenuation1; /* Linear attenuation */
636 D3DVALUE dvAttenuation2; /* Quadratic attenuation */
637 D3DVALUE dvTheta; /* Inner angle of spotlight cone */
638 D3DVALUE dvPhi; /* Outer angle of spotlight cone */
640
641/*
642 * Structure defining a light source and its properties.
643 */
644
645/* flags bits */
646#define D3DLIGHT_ACTIVE 0x00000001
647#define D3DLIGHT_NO_SPECULAR 0x00000002
648
649/* maximum valid light range */
650#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
651
652typedef struct _D3DLIGHT2 {
654 D3DLIGHTTYPE dltType; /* Type of light source */
655 D3DCOLORVALUE dcvColor; /* Color of light */
656 D3DVECTOR dvPosition; /* Position in world space */
657 D3DVECTOR dvDirection; /* Direction in world space */
658 D3DVALUE dvRange; /* Cutoff range */
659 D3DVALUE dvFalloff; /* Falloff */
660 D3DVALUE dvAttenuation0; /* Constant attenuation */
661 D3DVALUE dvAttenuation1; /* Linear attenuation */
662 D3DVALUE dvAttenuation2; /* Quadratic attenuation */
663 D3DVALUE dvTheta; /* Inner angle of spotlight cone */
664 D3DVALUE dvPhi; /* Outer angle of spotlight cone */
667
668typedef struct _D3DLIGHTDATA {
670 LPD3DLIGHTINGELEMENT lpIn; /* Input positions and normals */
671 DWORD dwInSize; /* Stride of input elements */
672 LPD3DTLVERTEX lpOut; /* Output colors */
673 DWORD dwOutSize; /* Stride of output colors */
675
676/*
677 * Before DX5, these values were in an enum called
678 * D3DCOLORMODEL. This was not correct, since they are
679 * bit flags. A driver can surface either or both flags
680 * in the dcmColorModel member of D3DDEVICEDESC.
681 */
682#define D3DCOLOR_MONO 1
683#define D3DCOLOR_RGB 2
684
686
687/*
688 * Options for clearing
689 */
690#define D3DCLEAR_TARGET 0x00000001l /* Clear target surface */
691#define D3DCLEAR_ZBUFFER 0x00000002l /* Clear target z buffer */
692
693/*
694 * Execute buffers are allocated via Direct3D. These buffers may then
695 * be filled by the application with instructions to execute along with
696 * vertex data.
697 */
698
699/*
700 * Supported op codes for execute instructions.
701 */
702typedef enum _D3DOPCODE {
717 D3DOP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
719
720typedef struct _D3DINSTRUCTION {
721 BYTE bOpcode; /* Instruction opcode */
722 BYTE bSize; /* Size of each instruction data unit */
723 WORD wCount; /* Count of instruction data units to follow */
725
726/*
727 * Structure for texture loads
728 */
729typedef struct _D3DTEXTURELOAD {
733
734/*
735 * Structure for picking
736 */
737typedef struct _D3DPICKRECORD {
739 BYTE bPad;
743
744/*
745 * The following defines the rendering states which can be set in the
746 * execute buffer.
747 */
748
749typedef enum _D3DSHADEMODE {
753 D3DSHADE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
755
756typedef enum _D3DFILLMODE {
760 D3DFILL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
762
763typedef struct _D3DLINEPATTERN {
767
768typedef enum _D3DTEXTUREFILTER {
775 D3DFILTER_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
777
778typedef enum _D3DBLEND {
792 D3DBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
794
795typedef enum _D3DTEXTUREBLEND {
804 D3DTBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
806
807typedef enum _D3DTEXTUREADDRESS {
812 D3DTADDRESS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
814
815typedef enum _D3DCULL {
819 D3DCULL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
821
822typedef enum _D3DCMPFUNC {
831 D3DCMP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
833
834typedef enum _D3DFOGMODE {
839 D3DFOG_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
841
842typedef enum _D3DANTIALIASMODE {
846 D3DANTIALIAS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
848
849// Vertex types supported by Direct3D
850typedef enum _D3DVERTEXTYPE {
854 D3DVT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
856
857// Primitives supported by draw-primitive API
858typedef enum _D3DPRIMITIVETYPE {
865 D3DPT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
867
868/*
869 * Amount to add to a state to generate the override for that state.
870 */
871#define D3DSTATE_OVERRIDE_BIAS 256
872
873/*
874 * A state which sets the override flag for the specified state type.
875 */
876#define D3DSTATE_OVERRIDE(type) ((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS)
877
882 D3DTRANSFORMSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
884
885typedef enum _D3DLIGHTSTATETYPE {
893 D3DLIGHTSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
895
897 D3DRENDERSTATE_TEXTUREHANDLE = 1, /* Texture handle */
898 D3DRENDERSTATE_ANTIALIAS = 2, /* D3DANTIALIASMODE */
899 D3DRENDERSTATE_TEXTUREADDRESS = 3, /* D3DTEXTUREADDRESS */
900 D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4, /* TRUE for perspective correction */
901 D3DRENDERSTATE_WRAPU = 5, /* TRUE for wrapping in u */
902 D3DRENDERSTATE_WRAPV = 6, /* TRUE for wrapping in v */
903 D3DRENDERSTATE_ZENABLE = 7, /* TRUE to enable z test */
904 D3DRENDERSTATE_FILLMODE = 8, /* D3DFILL_MODE */
905 D3DRENDERSTATE_SHADEMODE = 9, /* D3DSHADEMODE */
906 D3DRENDERSTATE_LINEPATTERN = 10, /* D3DLINEPATTERN */
907 D3DRENDERSTATE_MONOENABLE = 11, /* TRUE to enable mono rasterization */
908 D3DRENDERSTATE_ROP2 = 12, /* ROP2 */
909 D3DRENDERSTATE_PLANEMASK = 13, /* DWORD physical plane mask */
910 D3DRENDERSTATE_ZWRITEENABLE = 14, /* TRUE to enable z writes */
911 D3DRENDERSTATE_ALPHATESTENABLE = 15, /* TRUE to enable alpha tests */
912 D3DRENDERSTATE_LASTPIXEL = 16, /* TRUE for last-pixel on lines */
913 D3DRENDERSTATE_TEXTUREMAG = 17, /* D3DTEXTUREFILTER */
914 D3DRENDERSTATE_TEXTUREMIN = 18, /* D3DTEXTUREFILTER */
915 D3DRENDERSTATE_SRCBLEND = 19, /* D3DBLEND */
916 D3DRENDERSTATE_DESTBLEND = 20, /* D3DBLEND */
917 D3DRENDERSTATE_TEXTUREMAPBLEND = 21, /* D3DTEXTUREBLEND */
918 D3DRENDERSTATE_CULLMODE = 22, /* D3DCULL */
919 D3DRENDERSTATE_ZFUNC = 23, /* D3DCMPFUNC */
920 D3DRENDERSTATE_ALPHAREF = 24, /* D3DFIXED */
921 D3DRENDERSTATE_ALPHAFUNC = 25, /* D3DCMPFUNC */
922 D3DRENDERSTATE_DITHERENABLE = 26, /* TRUE to enable dithering */
923 D3DRENDERSTATE_ALPHABLENDENABLE = 27, /* TRUE to enable alpha blending */
924 D3DRENDERSTATE_FOGENABLE = 28, /* TRUE to enable fog */
925 D3DRENDERSTATE_SPECULARENABLE = 29, /* TRUE to enable specular */
926 D3DRENDERSTATE_ZVISIBLE = 30, /* TRUE to enable z checking */
927 D3DRENDERSTATE_SUBPIXEL = 31, /* TRUE to enable subpixel correction */
928 D3DRENDERSTATE_SUBPIXELX = 32, /* TRUE to enable correction in X only */
929 D3DRENDERSTATE_STIPPLEDALPHA = 33, /* TRUE to enable stippled alpha */
930 D3DRENDERSTATE_FOGCOLOR = 34, /* D3DCOLOR */
931 D3DRENDERSTATE_FOGTABLEMODE = 35, /* D3DFOGMODE */
932 D3DRENDERSTATE_FOGTABLESTART = 36, /* Fog table start */
933 D3DRENDERSTATE_FOGTABLEEND = 37, /* Fog table end */
934 D3DRENDERSTATE_FOGTABLEDENSITY = 38, /* Fog table density */
935 D3DRENDERSTATE_STIPPLEENABLE = 39, /* TRUE to enable stippling */
936 D3DRENDERSTATE_EDGEANTIALIAS = 40, /* TRUE to enable edge antialiasing */
937 D3DRENDERSTATE_COLORKEYENABLE = 41, /* TRUE to enable source colorkeyed textures */
938 D3DRENDERSTATE_BORDERCOLOR = 43, /* Border color for texturing w/border */
939 D3DRENDERSTATE_TEXTUREADDRESSU = 44, /* Texture addressing mode for U coordinate */
940 D3DRENDERSTATE_TEXTUREADDRESSV = 45, /* Texture addressing mode for V coordinate */
941 D3DRENDERSTATE_MIPMAPLODBIAS = 46, /* D3DVALUE Mipmap LOD bias */
942 D3DRENDERSTATE_ZBIAS = 47, /* LONG Z bias */
943 D3DRENDERSTATE_RANGEFOGENABLE = 48, /* Enables range-based fog */
944 D3DRENDERSTATE_ANISOTROPY = 49, /* Max. anisotropy. 1 = no anisotropy */
945 D3DRENDERSTATE_FLUSHBATCH = 50, /* Explicit flush for DP batching (DX5 Only) */
946 D3DRENDERSTATE_STIPPLEPATTERN00 = 64, /* Stipple pattern 01... */
978 D3DRENDERSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
980
981// For back-compatibility with legacy compilations
982#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
983
984#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
985
986typedef struct _D3DSTATE {
987 union {
991 };
992 union {
995 };
997
998/*
999 * Operation used to load matrices
1000 * hDstMat = hSrcMat
1001 */
1002typedef struct _D3DMATRIXLOAD {
1003 D3DMATRIXHANDLE hDestMatrix; /* Destination matrix */
1004 D3DMATRIXHANDLE hSrcMatrix; /* Source matrix */
1006
1007/*
1008 * Operation used to multiply matrices
1009 * hDstMat = hSrcMat1 * hSrcMat2
1010 */
1011typedef struct _D3DMATRIXMULTIPLY {
1012 D3DMATRIXHANDLE hDestMatrix; /* Destination matrix */
1013 D3DMATRIXHANDLE hSrcMatrix1; /* First source matrix */
1014 D3DMATRIXHANDLE hSrcMatrix2; /* Second source matrix */
1016
1017/*
1018 * Operation used to transform and light vertices.
1019 */
1020typedef struct _D3DPROCESSVERTICES {
1021 DWORD dwFlags; /* Do we transform or light or just copy? */
1022 WORD wStart; /* Index to first vertex in source */
1023 WORD wDest; /* Index to first vertex in local buffer */
1024 DWORD dwCount; /* Number of vertices to be processed */
1025 DWORD dwReserved; /* Must be zero */
1027
1028#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
1029#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
1030#define D3DPROCESSVERTICES_COPY 0x00000002L
1031#define D3DPROCESSVERTICES_OPMASK 0x00000007L
1032
1033#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
1034#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
1035
1036
1037/*
1038 * Triangle flags
1039 */
1040
1041/*
1042 * Tri strip and fan flags.
1043 * START loads all three vertices
1044 * EVEN and ODD load just v3 with even or odd culling
1045 * START_FLAT contains a count from 0 to 29 that allows the
1046 * whole strip or fan to be culled in one hit.
1047 * e.g. for a quad len = 1
1048 */
1049#define D3DTRIFLAG_START 0x00000000L
1050#define D3DTRIFLAG_STARTFLAT(len) (len) /* 0 < len < 30 */
1051#define D3DTRIFLAG_ODD 0x0000001eL
1052#define D3DTRIFLAG_EVEN 0x0000001fL
1053
1054/*
1055 * Triangle edge flags
1056 * enable edges for wireframe or antialiasing
1057 */
1058#define D3DTRIFLAG_EDGEENABLE1 0x00000100L /* v0-v1 edge */
1059#define D3DTRIFLAG_EDGEENABLE2 0x00000200L /* v1-v2 edge */
1060#define D3DTRIFLAG_EDGEENABLE3 0x00000400L /* v2-v0 edge */
1061#define D3DTRIFLAG_EDGEENABLETRIANGLE \
1062 (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
1063
1064/*
1065 * Primitive structures and related defines. Vertex offsets are to types
1066 * D3DVERTEX, D3DLVERTEX, or D3DTLVERTEX.
1067 */
1068
1069/*
1070 * Triangle list primitive structure
1071 */
1072typedef struct _D3DTRIANGLE {
1073 union {
1074 WORD v1; /* Vertex indices */
1075 WORD wV1;
1076 };
1077 union {
1078 WORD v2;
1079 WORD wV2;
1080 };
1081 union {
1082 WORD v3;
1083 WORD wV3;
1084 };
1085 WORD wFlags; /* Edge (and other) flags */
1087
1088/*
1089 * Line list structure.
1090 * The instruction count defines the number of line segments.
1091 */
1092typedef struct _D3DLINE {
1093 union {
1094 WORD v1; /* Vertex indices */
1095 WORD wV1;
1096 };
1097 union {
1098 WORD v2;
1099 WORD wV2;
1100 };
1102
1103/*
1104 * Span structure
1105 * Spans join a list of points with the same y value.
1106 * If the y value changes, a new span is started.
1107 */
1108typedef struct _D3DSPAN {
1109 WORD wCount; /* Number of spans */
1110 WORD wFirst; /* Index to first vertex */
1112
1113/*
1114 * Point structure
1115 */
1116typedef struct _D3DPOINT {
1117 WORD wCount; /* number of points */
1118 WORD wFirst; /* index to first vertex */
1120
1121
1122/*
1123 * Forward branch structure.
1124 * Mask is logically anded with the driver status mask
1125 * if the result equals 'value', the branch is taken.
1126 */
1127typedef struct _D3DBRANCH {
1128 DWORD dwMask; /* Bitmask against D3D status */
1130 BOOL bNegate; /* TRUE to negate comparison */
1131 DWORD dwOffset; /* How far to branch forward (0 for exit)*/
1133
1134/*
1135 * Status used for set status instruction.
1136 * The D3D status is initialised on device creation
1137 * and is modified by all execute calls.
1138 */
1139typedef struct _D3DSTATUS {
1140 DWORD dwFlags; /* Do we set extents or status */
1141 DWORD dwStatus; /* D3D status */
1144
1145#define D3DSETSTATUS_STATUS 0x00000001L
1146#define D3DSETSTATUS_EXTENTS 0x00000002L
1147#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
1148
1149typedef struct _D3DCLIPSTATUS {
1150 DWORD dwFlags; /* Do we set 2d extents, 3D extents or status */
1151 DWORD dwStatus; /* Clip status */
1152 float minx, maxx; /* X extents */
1153 float miny, maxy; /* Y extents */
1154 float minz, maxz; /* Z extents */
1156
1157#define D3DCLIPSTATUS_STATUS 0x00000001L
1158#define D3DCLIPSTATUS_EXTENTS2 0x00000002L
1159#define D3DCLIPSTATUS_EXTENTS3 0x00000004L
1160
1161/*
1162 * Statistics structure
1163 */
1164typedef struct _D3DSTATS {
1172
1173/*
1174 * Execute options.
1175 * When calling using D3DEXECUTE_UNCLIPPED all the primitives
1176 * inside the buffer must be contained within the viewport.
1177 */
1178#define D3DEXECUTE_CLIPPED 0x00000001l
1179#define D3DEXECUTE_UNCLIPPED 0x00000002l
1180
1181typedef struct _D3DEXECUTEDATA {
1188 D3DSTATUS dsStatus; /* Status after execute */
1190
1191/*
1192 * Palette flags.
1193 * This are or'ed with the peFlags in the PALETTEENTRYs passed to DirectDraw.
1194 */
1195#define D3DPAL_FREE 0x00 /* Renderer may use this entry freely */
1196#define D3DPAL_READONLY 0x40 /* Renderer may not set this entry */
1197#define D3DPAL_RESERVED 0x80 /* Renderer may not use this entry */
1198
1199#pragma pack()
1200
1201#endif /* _D3DTYPES_H_ */
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:216
_D3DRENDERSTATETYPE
Definition: d3dtypes.h:896
@ D3DRENDERSTATE_STIPPLEPATTERN26
Definition: d3dtypes.h:972
@ D3DRENDERSTATE_STIPPLEDALPHA
Definition: d3dtypes.h:929
@ D3DRENDERSTATE_STIPPLEPATTERN28
Definition: d3dtypes.h:974
@ D3DRENDERSTATE_ZBIAS
Definition: d3dtypes.h:942
@ D3DRENDERSTATE_STIPPLEPATTERN14
Definition: d3dtypes.h:960
@ D3DRENDERSTATE_FOGCOLOR
Definition: d3dtypes.h:930
@ D3DRENDERSTATE_STIPPLEPATTERN22
Definition: d3dtypes.h:968
@ D3DRENDERSTATE_STIPPLEPATTERN19
Definition: d3dtypes.h:965
@ D3DRENDERSTATE_ALPHABLENDENABLE
Definition: d3dtypes.h:923
@ D3DRENDERSTATE_FLUSHBATCH
Definition: d3dtypes.h:945
@ D3DRENDERSTATE_STIPPLEPATTERN25
Definition: d3dtypes.h:971
@ D3DRENDERSTATE_STIPPLEPATTERN24
Definition: d3dtypes.h:970
@ D3DRENDERSTATE_STIPPLEENABLE
Definition: d3dtypes.h:935
@ D3DRENDERSTATE_BORDERCOLOR
Definition: d3dtypes.h:938
@ D3DRENDERSTATE_FOGTABLEEND
Definition: d3dtypes.h:933
@ D3DRENDERSTATE_COLORKEYENABLE
Definition: d3dtypes.h:937
@ D3DRENDERSTATE_STIPPLEPATTERN05
Definition: d3dtypes.h:951
@ D3DRENDERSTATE_LASTPIXEL
Definition: d3dtypes.h:912
@ D3DRENDERSTATE_WRAPU
Definition: d3dtypes.h:901
@ D3DRENDERSTATE_RANGEFOGENABLE
Definition: d3dtypes.h:943
@ D3DRENDERSTATE_DITHERENABLE
Definition: d3dtypes.h:922
@ D3DRENDERSTATE_STIPPLEPATTERN10
Definition: d3dtypes.h:956
@ D3DRENDERSTATE_STIPPLEPATTERN31
Definition: d3dtypes.h:977
@ D3DRENDERSTATE_FILLMODE
Definition: d3dtypes.h:904
@ D3DRENDERSTATE_STIPPLEPATTERN18
Definition: d3dtypes.h:964
@ D3DRENDERSTATE_STIPPLEPATTERN02
Definition: d3dtypes.h:948
@ D3DRENDERSTATE_EDGEANTIALIAS
Definition: d3dtypes.h:936
@ D3DRENDERSTATE_SPECULARENABLE
Definition: d3dtypes.h:925
@ D3DRENDERSTATE_ROP2
Definition: d3dtypes.h:908
@ D3DRENDERSTATE_TEXTUREMAG
Definition: d3dtypes.h:913
@ D3DRENDERSTATE_TEXTUREMIN
Definition: d3dtypes.h:914
@ D3DRENDERSTATE_FOGTABLESTART
Definition: d3dtypes.h:932
@ D3DRENDERSTATE_STIPPLEPATTERN07
Definition: d3dtypes.h:953
@ D3DRENDERSTATE_STIPPLEPATTERN29
Definition: d3dtypes.h:975
@ D3DRENDERSTATE_STIPPLEPATTERN01
Definition: d3dtypes.h:947
@ D3DRENDERSTATE_ZWRITEENABLE
Definition: d3dtypes.h:910
@ D3DRENDERSTATE_TEXTUREADDRESS
Definition: d3dtypes.h:899
@ D3DRENDERSTATE_ANTIALIAS
Definition: d3dtypes.h:898
@ D3DRENDERSTATE_MONOENABLE
Definition: d3dtypes.h:907
@ D3DRENDERSTATE_STIPPLEPATTERN13
Definition: d3dtypes.h:959
@ D3DRENDERSTATE_DESTBLEND
Definition: d3dtypes.h:916
@ D3DRENDERSTATE_FOGTABLEDENSITY
Definition: d3dtypes.h:934
@ D3DRENDERSTATE_ALPHAFUNC
Definition: d3dtypes.h:921
@ D3DRENDERSTATE_WRAPV
Definition: d3dtypes.h:902
@ D3DRENDERSTATE_SUBPIXEL
Definition: d3dtypes.h:927
@ D3DRENDERSTATE_STIPPLEPATTERN09
Definition: d3dtypes.h:955
@ D3DRENDERSTATE_TEXTUREHANDLE
Definition: d3dtypes.h:897
@ D3DRENDERSTATE_FOGTABLEMODE
Definition: d3dtypes.h:931
@ D3DRENDERSTATE_STIPPLEPATTERN04
Definition: d3dtypes.h:950
@ D3DRENDERSTATE_STIPPLEPATTERN16
Definition: d3dtypes.h:962
@ D3DRENDERSTATE_TEXTUREADDRESSU
Definition: d3dtypes.h:939
@ D3DRENDERSTATE_TEXTUREADDRESSV
Definition: d3dtypes.h:940
@ D3DRENDERSTATE_STIPPLEPATTERN30
Definition: d3dtypes.h:976
@ D3DRENDERSTATE_SUBPIXELX
Definition: d3dtypes.h:928
@ D3DRENDERSTATE_STIPPLEPATTERN17
Definition: d3dtypes.h:963
@ D3DRENDERSTATE_STIPPLEPATTERN15
Definition: d3dtypes.h:961
@ D3DRENDERSTATE_TEXTUREPERSPECTIVE
Definition: d3dtypes.h:900
@ D3DRENDERSTATE_ALPHATESTENABLE
Definition: d3dtypes.h:911
@ D3DRENDERSTATE_STIPPLEPATTERN11
Definition: d3dtypes.h:957
@ D3DRENDERSTATE_STIPPLEPATTERN12
Definition: d3dtypes.h:958
@ D3DRENDERSTATE_CULLMODE
Definition: d3dtypes.h:918
@ D3DRENDERSTATE_FORCE_DWORD
Definition: d3dtypes.h:978
@ D3DRENDERSTATE_STIPPLEPATTERN21
Definition: d3dtypes.h:967
@ D3DRENDERSTATE_ZVISIBLE
Definition: d3dtypes.h:926
@ D3DRENDERSTATE_ZFUNC
Definition: d3dtypes.h:919
@ D3DRENDERSTATE_STIPPLEPATTERN23
Definition: d3dtypes.h:969
@ D3DRENDERSTATE_ZENABLE
Definition: d3dtypes.h:903
@ D3DRENDERSTATE_STIPPLEPATTERN20
Definition: d3dtypes.h:966
@ D3DRENDERSTATE_SRCBLEND
Definition: d3dtypes.h:915
@ D3DRENDERSTATE_FOGENABLE
Definition: d3dtypes.h:924
@ D3DRENDERSTATE_STIPPLEPATTERN03
Definition: d3dtypes.h:949
@ D3DRENDERSTATE_ALPHAREF
Definition: d3dtypes.h:920
@ D3DRENDERSTATE_TEXTUREMAPBLEND
Definition: d3dtypes.h:917
@ D3DRENDERSTATE_PLANEMASK
Definition: d3dtypes.h:909
@ D3DRENDERSTATE_MIPMAPLODBIAS
Definition: d3dtypes.h:941
@ D3DRENDERSTATE_STIPPLEPATTERN08
Definition: d3dtypes.h:954
@ D3DRENDERSTATE_SHADEMODE
Definition: d3dtypes.h:905
@ D3DRENDERSTATE_LINEPATTERN
Definition: d3dtypes.h:906
@ D3DRENDERSTATE_ANISOTROPY
Definition: d3dtypes.h:944
@ D3DRENDERSTATE_STIPPLEPATTERN06
Definition: d3dtypes.h:952
@ D3DRENDERSTATE_STIPPLEPATTERN00
Definition: d3dtypes.h:946
@ D3DRENDERSTATE_STIPPLEPATTERN27
Definition: d3dtypes.h:973
struct _D3DBRANCH D3DBRANCH
_D3DSHADEMODE
Definition: d3dtypes.h:749
@ D3DSHADE_PHONG
Definition: d3dtypes.h:752
@ D3DSHADE_FLAT
Definition: d3dtypes.h:750
@ D3DSHADE_GOURAUD
Definition: d3dtypes.h:751
@ D3DSHADE_FORCE_DWORD
Definition: d3dtypes.h:753
struct _D3DMATRIXLOAD D3DMATRIXLOAD
struct _D3DMATRIXLOAD * LPD3DMATRIXLOAD
struct _D3DSPAN D3DSPAN
struct _D3DHVERTEX D3DHVERTEX
DWORD * LPD3DMATERIALHANDLE
Definition: d3dtypes.h:105
_D3DTEXTUREADDRESS
Definition: d3dtypes.h:807
@ D3DTADDRESS_MIRROR
Definition: d3dtypes.h:809
@ D3DTADDRESS_WRAP
Definition: d3dtypes.h:808
@ D3DTADDRESS_BORDER
Definition: d3dtypes.h:811
@ D3DTADDRESS_CLAMP
Definition: d3dtypes.h:810
@ D3DTADDRESS_FORCE_DWORD
Definition: d3dtypes.h:812
_D3DOPCODE
Definition: d3dtypes.h:702
@ D3DOP_STATELIGHT
Definition: d3dtypes.h:709
@ D3DOP_TEXTURELOAD
Definition: d3dtypes.h:712
@ D3DOP_MATRIXMULTIPLY
Definition: d3dtypes.h:707
@ D3DOP_PROCESSVERTICES
Definition: d3dtypes.h:711
@ D3DOP_MATRIXLOAD
Definition: d3dtypes.h:706
@ D3DOP_STATETRANSFORM
Definition: d3dtypes.h:708
@ D3DOP_TRIANGLE
Definition: d3dtypes.h:705
@ D3DOP_SPAN
Definition: d3dtypes.h:715
@ D3DOP_FORCE_DWORD
Definition: d3dtypes.h:717
@ D3DOP_LINE
Definition: d3dtypes.h:704
@ D3DOP_STATERENDER
Definition: d3dtypes.h:710
@ D3DOP_SETSTATUS
Definition: d3dtypes.h:716
@ D3DOP_POINT
Definition: d3dtypes.h:703
@ D3DOP_EXIT
Definition: d3dtypes.h:713
@ D3DOP_BRANCHFORWARD
Definition: d3dtypes.h:714
struct _D3DLINEPATTERN D3DLINEPATTERN
struct _D3DPICKRECORD D3DPICKRECORD
struct _D3DMATERIAL * LPD3DMATERIAL
struct _D3DPOINT * LPD3DPOINT
struct _D3DVIEWPORT2 * LPD3DVIEWPORT2
struct _D3DTLVERTEX * LPD3DTLVERTEX
struct _D3DRECT D3DRECT
float D3DVALUE
Definition: d3dtypes.h:28
DWORD * LPD3DMATRIXHANDLE
Definition: d3dtypes.h:107
_D3DBLEND
Definition: d3dtypes.h:778
@ D3DBLEND_SRCALPHASAT
Definition: d3dtypes.h:789
@ D3DBLEND_BOTHSRCALPHA
Definition: d3dtypes.h:790
@ D3DBLEND_SRCALPHA
Definition: d3dtypes.h:783
@ D3DBLEND_DESTALPHA
Definition: d3dtypes.h:785
@ D3DBLEND_ZERO
Definition: d3dtypes.h:779
@ D3DBLEND_FORCE_DWORD
Definition: d3dtypes.h:792
@ D3DBLEND_ONE
Definition: d3dtypes.h:780
@ D3DBLEND_SRCCOLOR
Definition: d3dtypes.h:781
@ D3DBLEND_BOTHINVSRCALPHA
Definition: d3dtypes.h:791
@ D3DBLEND_INVDESTALPHA
Definition: d3dtypes.h:786
@ D3DBLEND_DESTCOLOR
Definition: d3dtypes.h:787
@ D3DBLEND_INVDESTCOLOR
Definition: d3dtypes.h:788
@ D3DBLEND_INVSRCCOLOR
Definition: d3dtypes.h:782
@ D3DBLEND_INVSRCALPHA
Definition: d3dtypes.h:784
struct _D3DBRANCH * LPD3DBRANCH
struct _D3DVERTEX D3DVERTEX
enum _D3DTEXTUREADDRESS D3DTEXTUREADDRESS
DWORD D3DTEXTUREHANDLE
Definition: d3dtypes.h:106
struct _D3DVECTOR D3DVECTOR
struct _D3DTEXTURELOAD * LPD3DTEXTURELOAD
struct _D3DLIGHTDATA * LPD3DLIGHTDATA
enum _D3DSHADEMODE D3DSHADEMODE
struct _D3DTRIANGLE * LPD3DTRIANGLE
float * LPD3DVALUE
Definition: d3dtypes.h:28
enum _D3DLIGHTSTATETYPE D3DLIGHTSTATETYPE
struct _D3DVIEWPORT2 D3DVIEWPORT2
HRESULT(WINAPI * LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset)
Definition: d3dtypes.h:100
struct _D3DCLIPSTATUS * LPD3DCLIPSTATUS
struct _D3DTEXTURELOAD D3DTEXTURELOAD
enum _D3DVERTEXTYPE D3DVERTEXTYPE
enum _D3DFILLMODE D3DFILLMODE
_D3DLIGHTTYPE
Definition: d3dtypes.h:615
@ D3DLIGHT_SPOT
Definition: d3dtypes.h:617
@ D3DLIGHT_DIRECTIONAL
Definition: d3dtypes.h:618
@ D3DLIGHT_PARALLELPOINT
Definition: d3dtypes.h:619
@ D3DLIGHT_FORCE_DWORD
Definition: d3dtypes.h:620
@ D3DLIGHT_POINT
Definition: d3dtypes.h:616
struct _D3DMATRIXMULTIPLY D3DMATRIXMULTIPLY
enum _D3DTEXTUREFILTER D3DTEXTUREFILTER
struct _D3DSTATE * LPD3DSTATE
struct _D3DTRANSFORMDATA * LPD3DTRANSFORMDATA
struct _D3DSTATS * LPD3DSTATS
struct _D3DPOINT D3DPOINT
struct _D3DLIGHTINGELEMENT D3DLIGHTINGELEMENT
LONG D3DFIXED
Definition: d3dtypes.h:32
struct _D3DLIGHT2 * LPD3DLIGHT2
_D3DVERTEXTYPE
Definition: d3dtypes.h:850
@ D3DVT_TLVERTEX
Definition: d3dtypes.h:853
@ D3DVT_LVERTEX
Definition: d3dtypes.h:852
@ D3DVT_VERTEX
Definition: d3dtypes.h:851
@ D3DVT_FORCE_DWORD
Definition: d3dtypes.h:854
enum _D3DCMPFUNC D3DCMPFUNC
enum _D3DPRIMITIVETYPE D3DPRIMITIVETYPE
struct _D3DLIGHT * LPD3DLIGHT
struct _D3DINSTRUCTION D3DINSTRUCTION
struct _D3DLIGHT D3DLIGHT
DWORD D3DMATERIALHANDLE
Definition: d3dtypes.h:105
struct _D3DPROCESSVERTICES D3DPROCESSVERTICES
enum _D3DBLEND D3DBLEND
struct _D3DLIGHTINGELEMENT * LPD3DLIGHTINGELEMENT
struct _D3DLVERTEX D3DLVERTEX
struct _D3DCLIPSTATUS D3DCLIPSTATUS
enum _D3DTEXTUREBLEND D3DTEXTUREBLEND
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
_D3DCULL
Definition: d3dtypes.h:815
@ D3DCULL_CW
Definition: d3dtypes.h:817
@ D3DCULL_FORCE_DWORD
Definition: d3dtypes.h:819
@ D3DCULL_NONE
Definition: d3dtypes.h:816
@ D3DCULL_CCW
Definition: d3dtypes.h:818
struct _D3DSTATS D3DSTATS
_D3DPRIMITIVETYPE
Definition: d3dtypes.h:858
@ D3DPT_LINELIST
Definition: d3dtypes.h:860
@ D3DPT_POINTLIST
Definition: d3dtypes.h:859
@ D3DPT_TRIANGLELIST
Definition: d3dtypes.h:862
@ D3DPT_LINESTRIP
Definition: d3dtypes.h:861
@ D3DPT_TRIANGLEFAN
Definition: d3dtypes.h:864
@ D3DPT_TRIANGLESTRIP
Definition: d3dtypes.h:863
@ D3DPT_FORCE_DWORD
Definition: d3dtypes.h:865
struct _D3DPROCESSVERTICES * LPD3DPROCESSVERTICES
struct _D3DCOLORVALUE D3DCOLORVALUE
struct _D3DMATRIX * LPD3DMATRIX
struct _D3DMATRIX D3DMATRIX
struct _D3DPICKRECORD * LPD3DPICKRECORD
_D3DCMPFUNC
Definition: d3dtypes.h:822
@ D3DCMP_GREATER
Definition: d3dtypes.h:827
@ D3DCMP_FORCE_DWORD
Definition: d3dtypes.h:831
@ D3DCMP_NOTEQUAL
Definition: d3dtypes.h:828
@ D3DCMP_GREATEREQUAL
Definition: d3dtypes.h:829
@ D3DCMP_NEVER
Definition: d3dtypes.h:823
@ D3DCMP_LESS
Definition: d3dtypes.h:824
@ D3DCMP_EQUAL
Definition: d3dtypes.h:825
@ D3DCMP_LESSEQUAL
Definition: d3dtypes.h:826
@ D3DCMP_ALWAYS
Definition: d3dtypes.h:830
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
struct _D3DSTATE D3DSTATE
struct _D3DVIEWPORT * LPD3DVIEWPORT
struct _D3DMATRIXMULTIPLY * LPD3DMATRIXMULTIPLY
enum _D3DOPCODE D3DOPCODE
struct _D3DINSTRUCTION * LPD3DINSTRUCTION
struct _D3DLVERTEX * LPD3DLVERTEX
_D3DLIGHTSTATETYPE
Definition: d3dtypes.h:885
@ D3DLIGHTSTATE_MATERIAL
Definition: d3dtypes.h:886
@ D3DLIGHTSTATE_FOGSTART
Definition: d3dtypes.h:890
@ D3DLIGHTSTATE_COLORMODEL
Definition: d3dtypes.h:888
@ D3DLIGHTSTATE_FOGMODE
Definition: d3dtypes.h:889
@ D3DLIGHTSTATE_FOGDENSITY
Definition: d3dtypes.h:892
@ D3DLIGHTSTATE_FOGEND
Definition: d3dtypes.h:891
@ D3DLIGHTSTATE_FORCE_DWORD
Definition: d3dtypes.h:893
@ D3DLIGHTSTATE_AMBIENT
Definition: d3dtypes.h:887
DWORD * LPD3DCOLOR
Definition: d3dtypes.h:103
_D3DANTIALIASMODE
Definition: d3dtypes.h:842
@ D3DANTIALIAS_SORTINDEPENDENT
Definition: d3dtypes.h:845
@ D3DANTIALIAS_NONE
Definition: d3dtypes.h:843
@ D3DANTIALIAS_SORTDEPENDENT
Definition: d3dtypes.h:844
@ D3DANTIALIAS_FORCE_DWORD
Definition: d3dtypes.h:846
struct _D3DEXECUTEDATA D3DEXECUTEDATA
struct _D3DHVERTEX * LPD3DHVERTEX
enum _D3DCULL D3DCULL
enum _D3DANTIALIASMODE D3DANTIALIASMODE
_D3DTEXTUREBLEND
Definition: d3dtypes.h:795
@ D3DTBLEND_DECALALPHA
Definition: d3dtypes.h:798
@ D3DTBLEND_DECALMASK
Definition: d3dtypes.h:800
@ D3DTBLEND_MODULATE
Definition: d3dtypes.h:797
@ D3DTBLEND_DECAL
Definition: d3dtypes.h:796
@ D3DTBLEND_MODULATEMASK
Definition: d3dtypes.h:801
@ D3DTBLEND_MODULATEALPHA
Definition: d3dtypes.h:799
@ D3DTBLEND_FORCE_DWORD
Definition: d3dtypes.h:804
@ D3DTBLEND_ADD
Definition: d3dtypes.h:803
@ D3DTBLEND_COPY
Definition: d3dtypes.h:802
struct _D3DLINE * LPD3DLINE
struct _D3DSTATUS * LPD3DSTATUS
struct _D3DTLVERTEX D3DTLVERTEX
DWORD D3DCOLOR
Definition: d3dtypes.h:103
struct _D3DMATERIAL D3DMATERIAL
struct _D3DVECTOR * LPD3DVECTOR
struct _D3DLIGHTDATA D3DLIGHTDATA
struct _D3DLINE D3DLINE
_D3DTRANSFORMSTATETYPE
Definition: d3dtypes.h:878
@ D3DTRANSFORMSTATE_VIEW
Definition: d3dtypes.h:880
@ D3DTRANSFORMSTATE_PROJECTION
Definition: d3dtypes.h:881
@ D3DTRANSFORMSTATE_WORLD
Definition: d3dtypes.h:879
@ D3DTRANSFORMSTATE_FORCE_DWORD
Definition: d3dtypes.h:882
DWORD * LPD3DTEXTUREHANDLE
Definition: d3dtypes.h:106
struct _D3DTRIANGLE D3DTRIANGLE
struct _D3DVIEWPORT D3DVIEWPORT
struct _D3DVERTEX * LPD3DVERTEX
_D3DFOGMODE
Definition: d3dtypes.h:834
@ D3DFOG_FORCE_DWORD
Definition: d3dtypes.h:839
@ D3DFOG_NONE
Definition: d3dtypes.h:835
@ D3DFOG_EXP2
Definition: d3dtypes.h:837
@ D3DFOG_EXP
Definition: d3dtypes.h:836
@ D3DFOG_LINEAR
Definition: d3dtypes.h:838
_D3DFILLMODE
Definition: d3dtypes.h:756
@ D3DFILL_FORCE_DWORD
Definition: d3dtypes.h:760
@ D3DFILL_WIREFRAME
Definition: d3dtypes.h:758
@ D3DFILL_SOLID
Definition: d3dtypes.h:759
@ D3DFILL_POINT
Definition: d3dtypes.h:757
DWORD D3DCOLORMODEL
Definition: d3dtypes.h:685
struct _D3DSPAN * LPD3DSPAN
struct _D3DCOLORVALUE * LPD3DCOLORVALUE
struct _D3DLIGHT2 D3DLIGHT2
DWORD D3DMATRIXHANDLE
Definition: d3dtypes.h:107
struct _D3DSTATUS D3DSTATUS
enum _D3DLIGHTTYPE D3DLIGHTTYPE
struct _D3DRECT * LPD3DRECT
struct _D3DEXECUTEDATA * LPD3DEXECUTEDATA
struct _D3DTRANSFORMDATA D3DTRANSFORMDATA
HRESULT(WINAPI * LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext)
Definition: d3dtypes.h:101
_D3DTEXTUREFILTER
Definition: d3dtypes.h:768
@ D3DFILTER_MIPLINEAR
Definition: d3dtypes.h:772
@ D3DFILTER_LINEARMIPLINEAR
Definition: d3dtypes.h:774
@ D3DFILTER_FORCE_DWORD
Definition: d3dtypes.h:775
@ D3DFILTER_MIPNEAREST
Definition: d3dtypes.h:771
@ D3DFILTER_LINEAR
Definition: d3dtypes.h:770
@ D3DFILTER_NEAREST
Definition: d3dtypes.h:769
@ D3DFILTER_LINEARMIPNEAREST
Definition: d3dtypes.h:773
enum _D3DFOGMODE D3DFOGMODE
struct _DDSURFACEDESC FAR * LPDDSURFACEDESC
Definition: ddraw.h:83
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
long HRESULT
Definition: ddraw.h:115
HWND DWORD LPVOID lpContext
Definition: ddraw.h:425
typedef BOOL(FAR PASCAL *LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA
T Max(T p_t1, T p_t2)
[AI] Returns the maximum of two values.
Definition: legoutil.h:39
T Min(T p_t1, T p_t2)
[AI] Returns the minimum of two values.
Definition: legoutil.h:14
BOOL bNegate
Definition: d3dtypes.h:1130
DWORD dwOffset
Definition: d3dtypes.h:1131
DWORD dwValue
Definition: d3dtypes.h:1129
DWORD dwMask
Definition: d3dtypes.h:1128
DWORD dwStatus
Definition: d3dtypes.h:1151
D3DVALUE dvR
Definition: d3dtypes.h:112
D3DVALUE dvB
Definition: d3dtypes.h:120
D3DVALUE dvA
Definition: d3dtypes.h:124
D3DVALUE b
Definition: d3dtypes.h:119
D3DVALUE a
Definition: d3dtypes.h:123
D3DVALUE r
Definition: d3dtypes.h:111
D3DVALUE g
Definition: d3dtypes.h:115
D3DVALUE dvG
Definition: d3dtypes.h:116
DWORD dwInstructionOffset
Definition: d3dtypes.h:1185
DWORD dwVertexCount
Definition: d3dtypes.h:1184
DWORD dwVertexOffset
Definition: d3dtypes.h:1183
DWORD dwInstructionLength
Definition: d3dtypes.h:1186
DWORD dwHVertexOffset
Definition: d3dtypes.h:1187
D3DSTATUS dsStatus
Definition: d3dtypes.h:1188
D3DVALUE hy
Definition: d3dtypes.h:263
D3DVALUE hx
Definition: d3dtypes.h:259
DWORD dwFlags
Definition: d3dtypes.h:257
D3DVALUE dvHZ
Definition: d3dtypes.h:268
D3DVALUE dvHX
Definition: d3dtypes.h:260
D3DVALUE hz
Definition: d3dtypes.h:267
D3DVALUE dvHY
Definition: d3dtypes.h:264
D3DVECTOR dvPosition
Definition: d3dtypes.h:656
D3DCOLORVALUE dcvColor
Definition: d3dtypes.h:655
DWORD dwSize
Definition: d3dtypes.h:653
D3DVALUE dvAttenuation0
Definition: d3dtypes.h:660
D3DVECTOR dvDirection
Definition: d3dtypes.h:657
D3DVALUE dvFalloff
Definition: d3dtypes.h:659
D3DLIGHTTYPE dltType
Definition: d3dtypes.h:654
D3DVALUE dvAttenuation2
Definition: d3dtypes.h:662
DWORD dwFlags
Definition: d3dtypes.h:665
D3DVALUE dvRange
Definition: d3dtypes.h:658
D3DVALUE dvAttenuation1
Definition: d3dtypes.h:661
D3DVALUE dvPhi
Definition: d3dtypes.h:664
D3DVALUE dvTheta
Definition: d3dtypes.h:663
DWORD dwInSize
Definition: d3dtypes.h:671
DWORD dwOutSize
Definition: d3dtypes.h:673
LPD3DLIGHTINGELEMENT lpIn
Definition: d3dtypes.h:670
LPD3DTLVERTEX lpOut
Definition: d3dtypes.h:672
DWORD dwSize
Definition: d3dtypes.h:669
D3DVECTOR dvPosition
Definition: d3dtypes.h:582
D3DVECTOR dvNormal
Definition: d3dtypes.h:583
D3DVECTOR dvDirection
Definition: d3dtypes.h:631
D3DVALUE dvAttenuation2
Definition: d3dtypes.h:636
D3DLIGHTTYPE dltType
Definition: d3dtypes.h:628
DWORD dwSize
Definition: d3dtypes.h:627
D3DVALUE dvAttenuation0
Definition: d3dtypes.h:634
D3DVECTOR dvPosition
Definition: d3dtypes.h:630
D3DVALUE dvFalloff
Definition: d3dtypes.h:633
D3DVALUE dvAttenuation1
Definition: d3dtypes.h:635
D3DCOLORVALUE dcvColor
Definition: d3dtypes.h:629
D3DVALUE dvPhi
Definition: d3dtypes.h:638
D3DVALUE dvRange
Definition: d3dtypes.h:632
D3DVALUE dvTheta
Definition: d3dtypes.h:637
WORD wLinePattern
Definition: d3dtypes.h:765
WORD wRepeatFactor
Definition: d3dtypes.h:764
WORD wV1
Definition: d3dtypes.h:1095
WORD v2
Definition: d3dtypes.h:1098
WORD wV2
Definition: d3dtypes.h:1099
WORD v1
Definition: d3dtypes.h:1094
D3DCOLOR dcSpecular
Definition: d3dtypes.h:343
D3DVALUE tu
Definition: d3dtypes.h:346
D3DVALUE z
Definition: d3dtypes.h:333
D3DCOLOR specular
Definition: d3dtypes.h:342
D3DVALUE dvZ
Definition: d3dtypes.h:334
D3DVALUE y
Definition: d3dtypes.h:329
D3DVALUE dvY
Definition: d3dtypes.h:330
D3DCOLOR color
Definition: d3dtypes.h:338
D3DVALUE tv
Definition: d3dtypes.h:350
D3DVALUE dvX
Definition: d3dtypes.h:326
DWORD dwReserved
Definition: d3dtypes.h:336
D3DCOLOR dcColor
Definition: d3dtypes.h:339
D3DVALUE x
Definition: d3dtypes.h:325
D3DVALUE dvTU
Definition: d3dtypes.h:347
D3DVALUE dvTV
Definition: d3dtypes.h:351
D3DCOLORVALUE dcvDiffuse
Definition: d3dtypes.h:593
DWORD dwSize
Definition: d3dtypes.h:590
D3DCOLORVALUE dcvAmbient
Definition: d3dtypes.h:597
D3DCOLORVALUE dcvEmissive
Definition: d3dtypes.h:605
DWORD dwRampSize
Definition: d3dtypes.h:612
D3DCOLORVALUE ambient
Definition: d3dtypes.h:596
D3DCOLORVALUE emissive
Definition: d3dtypes.h:604
D3DCOLORVALUE dcvSpecular
Definition: d3dtypes.h:601
D3DVALUE power
Definition: d3dtypes.h:608
D3DCOLORVALUE diffuse
Definition: d3dtypes.h:592
D3DVALUE dvPower
Definition: d3dtypes.h:609
D3DTEXTUREHANDLE hTexture
Definition: d3dtypes.h:611
D3DCOLORVALUE specular
Definition: d3dtypes.h:600
D3DMATRIXHANDLE hSrcMatrix
Definition: d3dtypes.h:1004
D3DMATRIXHANDLE hDestMatrix
Definition: d3dtypes.h:1003
D3DMATRIXHANDLE hDestMatrix
Definition: d3dtypes.h:1012
D3DMATRIXHANDLE hSrcMatrix1
Definition: d3dtypes.h:1013
D3DMATRIXHANDLE hSrcMatrix2
Definition: d3dtypes.h:1014
D3DVALUE _21
Definition: d3dtypes.h:423
D3DVALUE _23
Definition: d3dtypes.h:423
D3DVALUE _14
Definition: d3dtypes.h:422
D3DVALUE _22
Definition: d3dtypes.h:423
D3DVALUE _44
Definition: d3dtypes.h:425
D3DVALUE _12
Definition: d3dtypes.h:422
D3DVALUE _42
Definition: d3dtypes.h:425
D3DVALUE _33
Definition: d3dtypes.h:424
D3DVALUE _13
Definition: d3dtypes.h:422
D3DVALUE _24
Definition: d3dtypes.h:423
D3DVALUE _34
Definition: d3dtypes.h:424
D3DVALUE _43
Definition: d3dtypes.h:425
D3DVALUE _31
Definition: d3dtypes.h:424
D3DVALUE _11
Definition: d3dtypes.h:422
D3DVALUE _32
Definition: d3dtypes.h:424
D3DVALUE _41
Definition: d3dtypes.h:425
D3DVALUE dvZ
Definition: d3dtypes.h:741
DWORD dwOffset
Definition: d3dtypes.h:740
WORD wFirst
Definition: d3dtypes.h:1118
WORD wCount
Definition: d3dtypes.h:1117
LONG y2
Definition: d3dtypes.h:142
LONG lX2
Definition: d3dtypes.h:139
LONG x1
Definition: d3dtypes.h:130
LONG y1
Definition: d3dtypes.h:134
LONG lY2
Definition: d3dtypes.h:143
LONG lX1
Definition: d3dtypes.h:131
LONG lY1
Definition: d3dtypes.h:135
LONG x2
Definition: d3dtypes.h:138
WORD wFirst
Definition: d3dtypes.h:1110
WORD wCount
Definition: d3dtypes.h:1109
DWORD dwArg[1]
Definition: d3dtypes.h:993
D3DLIGHTSTATETYPE dlstLightStateType
Definition: d3dtypes.h:989
D3DTRANSFORMSTATETYPE dtstTransformStateType
Definition: d3dtypes.h:988
D3DRENDERSTATETYPE drstRenderStateType
Definition: d3dtypes.h:990
D3DVALUE dvArg[1]
Definition: d3dtypes.h:994
DWORD dwVerticesProcessed
Definition: d3dtypes.h:1170
DWORD dwSpansDrawn
Definition: d3dtypes.h:1169
DWORD dwTrianglesDrawn
Definition: d3dtypes.h:1166
DWORD dwPointsDrawn
Definition: d3dtypes.h:1168
DWORD dwLinesDrawn
Definition: d3dtypes.h:1167
DWORD dwSize
Definition: d3dtypes.h:1165
DWORD dwFlags
Definition: d3dtypes.h:1140
D3DRECT drExtent
Definition: d3dtypes.h:1142
DWORD dwStatus
Definition: d3dtypes.h:1141
D3DTEXTUREHANDLE hSrcTexture
Definition: d3dtypes.h:731
D3DTEXTUREHANDLE hDestTexture
Definition: d3dtypes.h:730
D3DVALUE tu
Definition: d3dtypes.h:301
D3DVALUE tv
Definition: d3dtypes.h:305
D3DCOLOR dcSpecular
Definition: d3dtypes.h:298
D3DVALUE dvRHW
Definition: d3dtypes.h:290
D3DVALUE dvSZ
Definition: d3dtypes.h:286
D3DCOLOR specular
Definition: d3dtypes.h:297
D3DVALUE rhw
Definition: d3dtypes.h:289
D3DVALUE dvTU
Definition: d3dtypes.h:302
D3DCOLOR color
Definition: d3dtypes.h:293
D3DVALUE sx
Definition: d3dtypes.h:277
D3DVALUE sy
Definition: d3dtypes.h:281
D3DVALUE sz
Definition: d3dtypes.h:285
D3DVALUE dvTV
Definition: d3dtypes.h:306
D3DCOLOR dcColor
Definition: d3dtypes.h:294
D3DVALUE dvSY
Definition: d3dtypes.h:282
D3DVALUE dvSX
Definition: d3dtypes.h:278
DWORD dwClipIntersection
Definition: d3dtypes.h:573
LPD3DHVERTEX lpHOut
Definition: d3dtypes.h:571
D3DRECT drExtent
Definition: d3dtypes.h:575
D3DVALUE z
Definition: d3dtypes.h:157
D3DVALUE y
Definition: d3dtypes.h:153
D3DVALUE dvZ
Definition: d3dtypes.h:158
D3DVALUE x
Definition: d3dtypes.h:149
D3DVALUE dvX
Definition: d3dtypes.h:150
D3DVALUE dvY
Definition: d3dtypes.h:154
D3DVALUE tu
Definition: d3dtypes.h:395
D3DVALUE dvY
Definition: d3dtypes.h:376
D3DVALUE nz
Definition: d3dtypes.h:391
D3DVALUE dvNX
Definition: d3dtypes.h:384
D3DVALUE y
Definition: d3dtypes.h:375
D3DVALUE ny
Definition: d3dtypes.h:387
D3DVALUE z
Definition: d3dtypes.h:379
D3DVALUE dvTU
Definition: d3dtypes.h:396
D3DVALUE nx
Definition: d3dtypes.h:383
D3DVALUE dvTV
Definition: d3dtypes.h:400
D3DVALUE dvX
Definition: d3dtypes.h:372
D3DVALUE dvNY
Definition: d3dtypes.h:388
D3DVALUE tv
Definition: d3dtypes.h:399
D3DVALUE dvNZ
Definition: d3dtypes.h:392
D3DVALUE dvZ
Definition: d3dtypes.h:380
D3DVALUE x
Definition: d3dtypes.h:371
D3DVALUE dvMaxZ
Definition: d3dtypes.h:474
DWORD dwSize
Definition: d3dtypes.h:464
D3DVALUE dvClipHeight
Definition: d3dtypes.h:472
D3DVALUE dvClipY
Definition: d3dtypes.h:470
D3DVALUE dvMinZ
Definition: d3dtypes.h:473
D3DVALUE dvClipX
Definition: d3dtypes.h:469
DWORD dwHeight
Definition: d3dtypes.h:468
DWORD dwWidth
Definition: d3dtypes.h:467
D3DVALUE dvClipWidth
Definition: d3dtypes.h:471
DWORD dwHeight
Definition: d3dtypes.h:454
D3DVALUE dvMaxX
Definition: d3dtypes.h:457
D3DVALUE dvMaxZ
Definition: d3dtypes.h:460
D3DVALUE dvScaleY
Definition: d3dtypes.h:456
DWORD dwSize
Definition: d3dtypes.h:450
DWORD dwWidth
Definition: d3dtypes.h:453
DWORD dwX
Definition: d3dtypes.h:451
D3DVALUE dvMaxY
Definition: d3dtypes.h:458
DWORD dwY
Definition: d3dtypes.h:452
D3DVALUE dvScaleX
Definition: d3dtypes.h:455
D3DVALUE dvMinZ
Definition: d3dtypes.h:459