DirectX 5 Redocumentation
A redocumentation of DirectX 5, brought to you by a bunch of Infomaniacs.
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
93#define D3DENUMRET_CANCEL DDENUMRET_CANCEL
94
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
256typedef struct _D3DHVERTEX {
258 union {
261 };
262 union {
265 };
266 union {
269 };
271
275typedef struct _D3DTLVERTEX {
276 union {
279 };
280 union {
283 };
284 union {
287 };
288 union {
291 };
292 union {
295 };
296 union {
299 };
300 union {
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
323typedef struct _D3DLVERTEX {
324 union {
327 };
328 union {
331 };
332 union {
335 };
337 union {
340 };
341 union {
344 };
345 union {
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
368typedef struct _D3DVERTEX {
369 union {
372 };
373 union {
376 };
377 union {
380 };
381 union {
384 };
385 union {
388 };
389 union {
392 };
393 union {
396 };
397 union {
400 };
401#if (defined __cplusplus) && (defined D3D_OVERLOADS)
402 _D3DVERTEX() { }
403 _D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv)
404 { x = v.x; y = v.y; z = v.z;
405 nx = n.x; ny = n.y; nz = n.z;
406 tu = _tu; tv = _tv;
407 }
408#endif
410
415typedef struct _D3DMATRIX {
416#if (defined __cplusplus) && (defined D3D_OVERLOADS)
417 union {
418 struct {
419#endif
420
425
426#if (defined __cplusplus) && (defined D3D_OVERLOADS)
427 };
428 D3DVALUE m[4][4];
429 };
430 _D3DMATRIX() { }
431 _D3DMATRIX( D3DVALUE _m00, D3DVALUE _m01, D3DVALUE _m02, D3DVALUE _m03,
432 D3DVALUE _m10, D3DVALUE _m11, D3DVALUE _m12, D3DVALUE _m13,
433 D3DVALUE _m20, D3DVALUE _m21, D3DVALUE _m22, D3DVALUE _m23,
434 D3DVALUE _m30, D3DVALUE _m31, D3DVALUE _m32, D3DVALUE _m33
435 )
436 {
437 m[0][0] = _m00; m[0][1] = _m01; m[0][2] = _m02; m[0][3] = _m03;
438 m[1][0] = _m10; m[1][1] = _m11; m[1][2] = _m12; m[1][3] = _m13;
439 m[2][0] = _m20; m[2][1] = _m21; m[2][2] = _m22; m[2][3] = _m23;
440 m[3][0] = _m30; m[3][1] = _m31; m[3][2] = _m32; m[3][3] = _m33;
441 }
442
443 D3DVALUE& operator()(int iRow, int iColumn) { return m[iRow][iColumn]; }
444 const D3DVALUE& operator()(int iRow, int iColumn) const { return m[iRow][iColumn]; }
445#endif
447
448typedef struct _D3DVIEWPORT {
461
462typedef struct _D3DVIEWPORT2 {
475
476/*
477 * Values for clip fields.
478 */
479#define D3DCLIP_LEFT 0x00000001L
480#define D3DCLIP_RIGHT 0x00000002L
481#define D3DCLIP_TOP 0x00000004L
482#define D3DCLIP_BOTTOM 0x00000008L
483#define D3DCLIP_FRONT 0x00000010L
484#define D3DCLIP_BACK 0x00000020L
485#define D3DCLIP_GEN0 0x00000040L
486#define D3DCLIP_GEN1 0x00000080L
487#define D3DCLIP_GEN2 0x00000100L
488#define D3DCLIP_GEN3 0x00000200L
489#define D3DCLIP_GEN4 0x00000400L
490#define D3DCLIP_GEN5 0x00000800L
491
492/*
493 * Values for d3d status.
494 */
495#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
496#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
497#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
498#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
499#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
500#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
501#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
502#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
503#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
504#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
505#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
506#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
507
508#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000L
509#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000L
510#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000L
511#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000L
512#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000L
513#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000L
514#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000L
515#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000L
516#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000L
517#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000L
518#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000L
519#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000L
520#define D3DSTATUS_ZNOTVISIBLE 0x01000000L
521/* Do not use 0x80000000 for any status flags in future as it is reserved */
522
523#define D3DSTATUS_CLIPUNIONALL ( \
524 D3DSTATUS_CLIPUNIONLEFT | \
525 D3DSTATUS_CLIPUNIONRIGHT | \
526 D3DSTATUS_CLIPUNIONTOP | \
527 D3DSTATUS_CLIPUNIONBOTTOM | \
528 D3DSTATUS_CLIPUNIONFRONT | \
529 D3DSTATUS_CLIPUNIONBACK | \
530 D3DSTATUS_CLIPUNIONGEN0 | \
531 D3DSTATUS_CLIPUNIONGEN1 | \
532 D3DSTATUS_CLIPUNIONGEN2 | \
533 D3DSTATUS_CLIPUNIONGEN3 | \
534 D3DSTATUS_CLIPUNIONGEN4 | \
535 D3DSTATUS_CLIPUNIONGEN5 \
536 )
537
538#define D3DSTATUS_CLIPINTERSECTIONALL ( \
539 D3DSTATUS_CLIPINTERSECTIONLEFT | \
540 D3DSTATUS_CLIPINTERSECTIONRIGHT | \
541 D3DSTATUS_CLIPINTERSECTIONTOP | \
542 D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
543 D3DSTATUS_CLIPINTERSECTIONFRONT | \
544 D3DSTATUS_CLIPINTERSECTIONBACK | \
545 D3DSTATUS_CLIPINTERSECTIONGEN0 | \
546 D3DSTATUS_CLIPINTERSECTIONGEN1 | \
547 D3DSTATUS_CLIPINTERSECTIONGEN2 | \
548 D3DSTATUS_CLIPINTERSECTIONGEN3 | \
549 D3DSTATUS_CLIPINTERSECTIONGEN4 | \
550 D3DSTATUS_CLIPINTERSECTIONGEN5 \
551 )
552
553#define D3DSTATUS_DEFAULT ( \
554 D3DSTATUS_CLIPINTERSECTIONALL | \
555 D3DSTATUS_ZNOTVISIBLE)
556
557
558/*
559 * Options for direct transform calls
560 */
561#define D3DTRANSFORM_CLIPPED 0x00000001l
562#define D3DTRANSFORM_UNCLIPPED 0x00000002l
563
564typedef struct _D3DTRANSFORMDATA {
576
580typedef struct _D3DLIGHTINGELEMENT {
584
588typedef struct _D3DMATERIAL {
590 union {
593 };
594 union {
597 };
598 union {
601 };
602 union {
605 };
606 union {
609 };
613
614typedef enum _D3DLIGHTTYPE {
619 D3DLIGHT_FORCE_DWORD = 0x7fffffff,
621
625typedef struct _D3DLIGHT {
639
640/*
641 * Structure defining a light source and its properties.
642 */
643
644/* flags bits */
645#define D3DLIGHT_ACTIVE 0x00000001
646#define D3DLIGHT_NO_SPECULAR 0x00000002
647
648/* maximum valid light range */
649#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
650
651typedef struct _D3DLIGHT2 {
666
667typedef struct _D3DLIGHTDATA {
674
675/*
676 * Before DX5, these values were in an enum called
677 * D3DCOLORMODEL. This was not correct, since they are
678 * bit flags. A driver can surface either or both flags
679 * in the dcmColorModel member of D3DDEVICEDESC.
680 */
681#define D3DCOLOR_MONO 1
682#define D3DCOLOR_RGB 2
683
685
686/*
687 * Options for clearing
688 */
689#define D3DCLEAR_TARGET 0x00000001l /* Clear target surface */
690#define D3DCLEAR_ZBUFFER 0x00000002l /* Clear target z buffer */
691
692/*
693 * Execute buffers are allocated via Direct3D. These buffers may then
694 * be filled by the application with instructions to execute along with
695 * vertex data.
696 */
697
698/*
699 * Supported op codes for execute instructions.
700 */
701typedef enum _D3DOPCODE {
716 D3DOP_FORCE_DWORD = 0x7fffffff,
718
719typedef struct _D3DINSTRUCTION {
720 BYTE bOpcode;
721 BYTE bSize;
722 WORD wCount;
724
728typedef struct _D3DTEXTURELOAD {
732
736typedef struct _D3DPICKRECORD {
738 BYTE bPad;
742
748typedef enum _D3DSHADEMODE {
752 D3DSHADE_FORCE_DWORD = 0x7fffffff,
754
755typedef enum _D3DFILLMODE {
759 D3DFILL_FORCE_DWORD = 0x7fffffff,
761
762typedef struct _D3DLINEPATTERN {
766
767typedef enum _D3DTEXTUREFILTER {
776
777typedef enum _D3DBLEND {
791 D3DBLEND_FORCE_DWORD = 0x7fffffff,
793
794typedef enum _D3DTEXTUREBLEND {
805
806typedef enum _D3DTEXTUREADDRESS {
813
814typedef enum _D3DCULL {
818 D3DCULL_FORCE_DWORD = 0x7fffffff,
820
821typedef enum _D3DCMPFUNC {
830 D3DCMP_FORCE_DWORD = 0x7fffffff,
832
833typedef enum _D3DFOGMODE {
838 D3DFOG_FORCE_DWORD = 0x7fffffff,
840
841typedef enum _D3DANTIALIASMODE {
847
849typedef enum _D3DVERTEXTYPE {
853 D3DVT_FORCE_DWORD = 0x7fffffff,
855
857typedef enum _D3DPRIMITIVETYPE {
864 D3DPT_FORCE_DWORD = 0x7fffffff,
866
870#define D3DSTATE_OVERRIDE_BIAS 256
871
875#define D3DSTATE_OVERRIDE(type) ((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS)
876
883
884typedef enum _D3DLIGHTSTATETYPE {
894
979
980// For back-compatibility with legacy compilations
981#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
982
983#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
984
985typedef struct _D3DSTATE {
986 union {
990 };
991 union {
994 };
996
1001typedef struct _D3DMATRIXLOAD {
1005
1010typedef struct _D3DMATRIXMULTIPLY {
1015
1019typedef struct _D3DPROCESSVERTICES {
1021 WORD wStart;
1022 WORD wDest;
1026
1027#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
1028#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
1029#define D3DPROCESSVERTICES_COPY 0x00000002L
1030#define D3DPROCESSVERTICES_OPMASK 0x00000007L
1031
1032#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
1033#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
1034
1035
1036/*
1037 * Triangle flags
1038 */
1039
1040/*
1041 * Tri strip and fan flags.
1042 * START loads all three vertices
1043 * EVEN and ODD load just v3 with even or odd culling
1044 * START_FLAT contains a count from 0 to 29 that allows the
1045 * whole strip or fan to be culled in one hit.
1046 * e.g. for a quad len = 1
1047 */
1048#define D3DTRIFLAG_START 0x00000000L
1049#define D3DTRIFLAG_STARTFLAT(len) (len)
1050#define D3DTRIFLAG_ODD 0x0000001eL
1051#define D3DTRIFLAG_EVEN 0x0000001fL
1052
1053/*
1054 * Triangle edge flags
1055 * enable edges for wireframe or antialiasing
1056 */
1057#define D3DTRIFLAG_EDGEENABLE1 0x00000100L
1058#define D3DTRIFLAG_EDGEENABLE2 0x00000200L
1059#define D3DTRIFLAG_EDGEENABLE3 0x00000400L
1060#define D3DTRIFLAG_EDGEENABLETRIANGLE \
1061 (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
1062
1063/*
1064 * Primitive structures and related defines. Vertex offsets are to types
1065 * D3DVERTEX, D3DLVERTEX, or D3DTLVERTEX.
1066 */
1067
1071typedef struct _D3DTRIANGLE {
1072 union {
1073 WORD v1;
1074 WORD wV1;
1075 };
1076 union {
1077 WORD v2;
1078 WORD wV2;
1079 };
1080 union {
1081 WORD v3;
1082 WORD wV3;
1083 };
1084 WORD wFlags;
1086
1091typedef struct _D3DLINE {
1092 union {
1093 WORD v1;
1094 WORD wV1;
1095 };
1096 union {
1097 WORD v2;
1098 WORD wV2;
1099 };
1101
1107typedef struct _D3DSPAN {
1108 WORD wCount;
1109 WORD wFirst;
1111
1115typedef struct _D3DPOINT {
1116 WORD wCount;
1117 WORD wFirst;
1119
1120
1126typedef struct _D3DBRANCH {
1132
1138typedef struct _D3DSTATUS {
1143
1144#define D3DSETSTATUS_STATUS 0x00000001L
1145#define D3DSETSTATUS_EXTENTS 0x00000002L
1146#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
1147
1148typedef struct _D3DCLIPSTATUS {
1151 float minx, maxx;
1152 float miny, maxy;
1153 float minz, maxz;
1155
1156#define D3DCLIPSTATUS_STATUS 0x00000001L
1157#define D3DCLIPSTATUS_EXTENTS2 0x00000002L
1158#define D3DCLIPSTATUS_EXTENTS3 0x00000004L
1159
1163typedef struct _D3DSTATS {
1171
1172/*
1173 * Execute options.
1174 * When calling using D3DEXECUTE_UNCLIPPED all the primitives
1175 * inside the buffer must be contained within the viewport.
1176 */
1177#define D3DEXECUTE_CLIPPED 0x00000001l
1178#define D3DEXECUTE_UNCLIPPED 0x00000002l
1179
1180typedef struct _D3DEXECUTEDATA {
1189
1190/*
1191 * Palette flags.
1192 * This are or'ed with the peFlags in the PALETTEENTRYs passed to DirectDraw.
1193 */
1194#define D3DPAL_FREE 0x00 /* Renderer may use this entry freely */
1195#define D3DPAL_READONLY 0x40 /* Renderer may not set this entry */
1196#define D3DPAL_RESERVED 0x80 /* Renderer may not use this entry */
1197
1198#pragma pack()
1199
1200#endif /* _D3DTYPES_H_ */
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
_D3DRENDERSTATETYPE
Definition: d3dtypes.h:895
@ D3DRENDERSTATE_STIPPLEPATTERN26
Definition: d3dtypes.h:971
@ D3DRENDERSTATE_STIPPLEDALPHA
Definition: d3dtypes.h:928
@ D3DRENDERSTATE_STIPPLEPATTERN28
Definition: d3dtypes.h:973
@ D3DRENDERSTATE_ZBIAS
Definition: d3dtypes.h:941
@ D3DRENDERSTATE_STIPPLEPATTERN14
Definition: d3dtypes.h:959
@ D3DRENDERSTATE_FOGCOLOR
Definition: d3dtypes.h:929
@ D3DRENDERSTATE_STIPPLEPATTERN22
Definition: d3dtypes.h:967
@ D3DRENDERSTATE_STIPPLEPATTERN19
Definition: d3dtypes.h:964
@ D3DRENDERSTATE_ALPHABLENDENABLE
Definition: d3dtypes.h:922
@ D3DRENDERSTATE_FLUSHBATCH
Definition: d3dtypes.h:944
@ D3DRENDERSTATE_STIPPLEPATTERN25
Definition: d3dtypes.h:970
@ D3DRENDERSTATE_STIPPLEPATTERN24
Definition: d3dtypes.h:969
@ D3DRENDERSTATE_STIPPLEENABLE
Definition: d3dtypes.h:934
@ D3DRENDERSTATE_BORDERCOLOR
Definition: d3dtypes.h:937
@ D3DRENDERSTATE_FOGTABLEEND
Definition: d3dtypes.h:932
@ D3DRENDERSTATE_COLORKEYENABLE
Definition: d3dtypes.h:936
@ D3DRENDERSTATE_STIPPLEPATTERN05
Definition: d3dtypes.h:950
@ D3DRENDERSTATE_LASTPIXEL
Definition: d3dtypes.h:911
@ D3DRENDERSTATE_WRAPU
Definition: d3dtypes.h:900
@ D3DRENDERSTATE_RANGEFOGENABLE
Definition: d3dtypes.h:942
@ D3DRENDERSTATE_DITHERENABLE
Definition: d3dtypes.h:921
@ D3DRENDERSTATE_STIPPLEPATTERN10
Definition: d3dtypes.h:955
@ D3DRENDERSTATE_STIPPLEPATTERN31
Definition: d3dtypes.h:976
@ D3DRENDERSTATE_FILLMODE
Definition: d3dtypes.h:903
@ D3DRENDERSTATE_STIPPLEPATTERN18
Definition: d3dtypes.h:963
@ D3DRENDERSTATE_STIPPLEPATTERN02
Definition: d3dtypes.h:947
@ D3DRENDERSTATE_EDGEANTIALIAS
Definition: d3dtypes.h:935
@ D3DRENDERSTATE_SPECULARENABLE
Definition: d3dtypes.h:924
@ D3DRENDERSTATE_ROP2
Definition: d3dtypes.h:907
@ D3DRENDERSTATE_TEXTUREMAG
Definition: d3dtypes.h:912
@ D3DRENDERSTATE_TEXTUREMIN
Definition: d3dtypes.h:913
@ D3DRENDERSTATE_FOGTABLESTART
Definition: d3dtypes.h:931
@ D3DRENDERSTATE_STIPPLEPATTERN07
Definition: d3dtypes.h:952
@ D3DRENDERSTATE_STIPPLEPATTERN29
Definition: d3dtypes.h:974
@ D3DRENDERSTATE_STIPPLEPATTERN01
Definition: d3dtypes.h:946
@ D3DRENDERSTATE_ZWRITEENABLE
Definition: d3dtypes.h:909
@ D3DRENDERSTATE_TEXTUREADDRESS
Definition: d3dtypes.h:898
@ D3DRENDERSTATE_ANTIALIAS
Definition: d3dtypes.h:897
@ D3DRENDERSTATE_MONOENABLE
Definition: d3dtypes.h:906
@ D3DRENDERSTATE_STIPPLEPATTERN13
Definition: d3dtypes.h:958
@ D3DRENDERSTATE_DESTBLEND
Definition: d3dtypes.h:915
@ D3DRENDERSTATE_FOGTABLEDENSITY
Definition: d3dtypes.h:933
@ D3DRENDERSTATE_ALPHAFUNC
Definition: d3dtypes.h:920
@ D3DRENDERSTATE_WRAPV
Definition: d3dtypes.h:901
@ D3DRENDERSTATE_SUBPIXEL
Definition: d3dtypes.h:926
@ D3DRENDERSTATE_STIPPLEPATTERN09
Definition: d3dtypes.h:954
@ D3DRENDERSTATE_TEXTUREHANDLE
Definition: d3dtypes.h:896
@ D3DRENDERSTATE_FOGTABLEMODE
Definition: d3dtypes.h:930
@ D3DRENDERSTATE_STIPPLEPATTERN04
Definition: d3dtypes.h:949
@ D3DRENDERSTATE_STIPPLEPATTERN16
Definition: d3dtypes.h:961
@ D3DRENDERSTATE_TEXTUREADDRESSU
Definition: d3dtypes.h:938
@ D3DRENDERSTATE_TEXTUREADDRESSV
Definition: d3dtypes.h:939
@ D3DRENDERSTATE_STIPPLEPATTERN30
Definition: d3dtypes.h:975
@ D3DRENDERSTATE_SUBPIXELX
Definition: d3dtypes.h:927
@ D3DRENDERSTATE_STIPPLEPATTERN17
Definition: d3dtypes.h:962
@ D3DRENDERSTATE_STIPPLEPATTERN15
Definition: d3dtypes.h:960
@ D3DRENDERSTATE_TEXTUREPERSPECTIVE
Definition: d3dtypes.h:899
@ D3DRENDERSTATE_ALPHATESTENABLE
Definition: d3dtypes.h:910
@ D3DRENDERSTATE_STIPPLEPATTERN11
Definition: d3dtypes.h:956
@ D3DRENDERSTATE_STIPPLEPATTERN12
Definition: d3dtypes.h:957
@ D3DRENDERSTATE_CULLMODE
Definition: d3dtypes.h:917
@ D3DRENDERSTATE_FORCE_DWORD
Definition: d3dtypes.h:977
@ D3DRENDERSTATE_STIPPLEPATTERN21
Definition: d3dtypes.h:966
@ D3DRENDERSTATE_ZVISIBLE
Definition: d3dtypes.h:925
@ D3DRENDERSTATE_ZFUNC
Definition: d3dtypes.h:918
@ D3DRENDERSTATE_STIPPLEPATTERN23
Definition: d3dtypes.h:968
@ D3DRENDERSTATE_ZENABLE
Definition: d3dtypes.h:902
@ D3DRENDERSTATE_STIPPLEPATTERN20
Definition: d3dtypes.h:965
@ D3DRENDERSTATE_SRCBLEND
Definition: d3dtypes.h:914
@ D3DRENDERSTATE_FOGENABLE
Definition: d3dtypes.h:923
@ D3DRENDERSTATE_STIPPLEPATTERN03
Definition: d3dtypes.h:948
@ D3DRENDERSTATE_ALPHAREF
Definition: d3dtypes.h:919
@ D3DRENDERSTATE_TEXTUREMAPBLEND
Definition: d3dtypes.h:916
@ D3DRENDERSTATE_PLANEMASK
Definition: d3dtypes.h:908
@ D3DRENDERSTATE_MIPMAPLODBIAS
Definition: d3dtypes.h:940
@ D3DRENDERSTATE_STIPPLEPATTERN08
Definition: d3dtypes.h:953
@ D3DRENDERSTATE_SHADEMODE
Definition: d3dtypes.h:904
@ D3DRENDERSTATE_LINEPATTERN
Definition: d3dtypes.h:905
@ D3DRENDERSTATE_ANISOTROPY
Definition: d3dtypes.h:943
@ D3DRENDERSTATE_STIPPLEPATTERN06
Definition: d3dtypes.h:951
@ D3DRENDERSTATE_STIPPLEPATTERN00
Definition: d3dtypes.h:945
@ D3DRENDERSTATE_STIPPLEPATTERN27
Definition: d3dtypes.h:972
struct _D3DBRANCH D3DBRANCH
_D3DSHADEMODE
Definition: d3dtypes.h:748
@ D3DSHADE_PHONG
Definition: d3dtypes.h:751
@ D3DSHADE_FLAT
Definition: d3dtypes.h:749
@ D3DSHADE_GOURAUD
Definition: d3dtypes.h:750
@ D3DSHADE_FORCE_DWORD
Definition: d3dtypes.h:752
struct _D3DMATRIXLOAD D3DMATRIXLOAD
struct _D3DMATRIXLOAD * LPD3DMATRIXLOAD
struct _D3DSPAN D3DSPAN
struct _D3DHVERTEX D3DHVERTEX
DWORD * LPD3DMATERIALHANDLE
Definition: d3dtypes.h:105
_D3DTEXTUREADDRESS
Definition: d3dtypes.h:806
@ D3DTADDRESS_MIRROR
Definition: d3dtypes.h:808
@ D3DTADDRESS_WRAP
Definition: d3dtypes.h:807
@ D3DTADDRESS_BORDER
Definition: d3dtypes.h:810
@ D3DTADDRESS_CLAMP
Definition: d3dtypes.h:809
@ D3DTADDRESS_FORCE_DWORD
Definition: d3dtypes.h:811
_D3DOPCODE
Definition: d3dtypes.h:701
@ D3DOP_STATELIGHT
Definition: d3dtypes.h:708
@ D3DOP_TEXTURELOAD
Definition: d3dtypes.h:711
@ D3DOP_MATRIXMULTIPLY
Definition: d3dtypes.h:706
@ D3DOP_PROCESSVERTICES
Definition: d3dtypes.h:710
@ D3DOP_MATRIXLOAD
Definition: d3dtypes.h:705
@ D3DOP_STATETRANSFORM
Definition: d3dtypes.h:707
@ D3DOP_TRIANGLE
Definition: d3dtypes.h:704
@ D3DOP_SPAN
Definition: d3dtypes.h:714
@ D3DOP_FORCE_DWORD
Definition: d3dtypes.h:716
@ D3DOP_LINE
Definition: d3dtypes.h:703
@ D3DOP_STATERENDER
Definition: d3dtypes.h:709
@ D3DOP_SETSTATUS
Definition: d3dtypes.h:715
@ D3DOP_POINT
Definition: d3dtypes.h:702
@ D3DOP_EXIT
Definition: d3dtypes.h:712
@ D3DOP_BRANCHFORWARD
Definition: d3dtypes.h:713
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:777
@ D3DBLEND_SRCALPHASAT
Definition: d3dtypes.h:788
@ D3DBLEND_BOTHSRCALPHA
Definition: d3dtypes.h:789
@ D3DBLEND_SRCALPHA
Definition: d3dtypes.h:782
@ D3DBLEND_DESTALPHA
Definition: d3dtypes.h:784
@ D3DBLEND_ZERO
Definition: d3dtypes.h:778
@ D3DBLEND_FORCE_DWORD
Definition: d3dtypes.h:791
@ D3DBLEND_ONE
Definition: d3dtypes.h:779
@ D3DBLEND_SRCCOLOR
Definition: d3dtypes.h:780
@ D3DBLEND_BOTHINVSRCALPHA
Definition: d3dtypes.h:790
@ D3DBLEND_INVDESTALPHA
Definition: d3dtypes.h:785
@ D3DBLEND_DESTCOLOR
Definition: d3dtypes.h:786
@ D3DBLEND_INVDESTCOLOR
Definition: d3dtypes.h:787
@ D3DBLEND_INVSRCCOLOR
Definition: d3dtypes.h:781
@ D3DBLEND_INVSRCALPHA
Definition: d3dtypes.h:783
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
Vertex types supported by Direct3D.
enum _D3DFILLMODE D3DFILLMODE
_D3DLIGHTTYPE
Definition: d3dtypes.h:614
@ D3DLIGHT_SPOT
Definition: d3dtypes.h:616
@ D3DLIGHT_DIRECTIONAL
Definition: d3dtypes.h:617
@ D3DLIGHT_PARALLELPOINT
Definition: d3dtypes.h:618
@ D3DLIGHT_FORCE_DWORD
Definition: d3dtypes.h:619
@ D3DLIGHT_POINT
Definition: d3dtypes.h:615
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
Vertex types supported by Direct3D.
Definition: d3dtypes.h:849
@ D3DVT_TLVERTEX
Definition: d3dtypes.h:852
@ D3DVT_LVERTEX
Definition: d3dtypes.h:851
@ D3DVT_VERTEX
Definition: d3dtypes.h:850
@ D3DVT_FORCE_DWORD
Definition: d3dtypes.h:853
enum _D3DCMPFUNC D3DCMPFUNC
enum _D3DPRIMITIVETYPE D3DPRIMITIVETYPE
Primitives supported by draw-primitive API.
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:814
@ D3DCULL_CW
Definition: d3dtypes.h:816
@ D3DCULL_FORCE_DWORD
Definition: d3dtypes.h:818
@ D3DCULL_NONE
Definition: d3dtypes.h:815
@ D3DCULL_CCW
Definition: d3dtypes.h:817
struct _D3DSTATS D3DSTATS
_D3DPRIMITIVETYPE
Primitives supported by draw-primitive API.
Definition: d3dtypes.h:857
@ D3DPT_LINELIST
Definition: d3dtypes.h:859
@ D3DPT_POINTLIST
Definition: d3dtypes.h:858
@ D3DPT_TRIANGLELIST
Definition: d3dtypes.h:861
@ D3DPT_LINESTRIP
Definition: d3dtypes.h:860
@ D3DPT_TRIANGLEFAN
Definition: d3dtypes.h:863
@ D3DPT_TRIANGLESTRIP
Definition: d3dtypes.h:862
@ D3DPT_FORCE_DWORD
Definition: d3dtypes.h:864
struct _D3DPROCESSVERTICES * LPD3DPROCESSVERTICES
struct _D3DCOLORVALUE D3DCOLORVALUE
struct _D3DMATRIX * LPD3DMATRIX
struct _D3DMATRIX D3DMATRIX
struct _D3DPICKRECORD * LPD3DPICKRECORD
_D3DCMPFUNC
Definition: d3dtypes.h:821
@ D3DCMP_GREATER
Definition: d3dtypes.h:826
@ D3DCMP_FORCE_DWORD
Definition: d3dtypes.h:830
@ D3DCMP_NOTEQUAL
Definition: d3dtypes.h:827
@ D3DCMP_GREATEREQUAL
Definition: d3dtypes.h:828
@ D3DCMP_NEVER
Definition: d3dtypes.h:822
@ D3DCMP_LESS
Definition: d3dtypes.h:823
@ D3DCMP_EQUAL
Definition: d3dtypes.h:824
@ D3DCMP_LESSEQUAL
Definition: d3dtypes.h:825
@ D3DCMP_ALWAYS
Definition: d3dtypes.h:829
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:884
@ D3DLIGHTSTATE_MATERIAL
Definition: d3dtypes.h:885
@ D3DLIGHTSTATE_FOGSTART
Definition: d3dtypes.h:889
@ D3DLIGHTSTATE_COLORMODEL
Definition: d3dtypes.h:887
@ D3DLIGHTSTATE_FOGMODE
Definition: d3dtypes.h:888
@ D3DLIGHTSTATE_FOGDENSITY
Definition: d3dtypes.h:891
@ D3DLIGHTSTATE_FOGEND
Definition: d3dtypes.h:890
@ D3DLIGHTSTATE_FORCE_DWORD
Definition: d3dtypes.h:892
@ D3DLIGHTSTATE_AMBIENT
Definition: d3dtypes.h:886
DWORD * LPD3DCOLOR
Definition: d3dtypes.h:103
_D3DANTIALIASMODE
Definition: d3dtypes.h:841
@ D3DANTIALIAS_SORTINDEPENDENT
Definition: d3dtypes.h:844
@ D3DANTIALIAS_NONE
Definition: d3dtypes.h:842
@ D3DANTIALIAS_SORTDEPENDENT
Definition: d3dtypes.h:843
@ D3DANTIALIAS_FORCE_DWORD
Definition: d3dtypes.h:845
struct _D3DEXECUTEDATA D3DEXECUTEDATA
struct _D3DHVERTEX * LPD3DHVERTEX
enum _D3DCULL D3DCULL
enum _D3DANTIALIASMODE D3DANTIALIASMODE
_D3DTEXTUREBLEND
Definition: d3dtypes.h:794
@ D3DTBLEND_DECALALPHA
Definition: d3dtypes.h:797
@ D3DTBLEND_DECALMASK
Definition: d3dtypes.h:799
@ D3DTBLEND_MODULATE
Definition: d3dtypes.h:796
@ D3DTBLEND_DECAL
Definition: d3dtypes.h:795
@ D3DTBLEND_MODULATEMASK
Definition: d3dtypes.h:800
@ D3DTBLEND_MODULATEALPHA
Definition: d3dtypes.h:798
@ D3DTBLEND_FORCE_DWORD
Definition: d3dtypes.h:803
@ D3DTBLEND_ADD
Definition: d3dtypes.h:802
@ D3DTBLEND_COPY
Definition: d3dtypes.h:801
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:877
@ D3DTRANSFORMSTATE_VIEW
Definition: d3dtypes.h:879
@ D3DTRANSFORMSTATE_PROJECTION
Definition: d3dtypes.h:880
@ D3DTRANSFORMSTATE_WORLD
Definition: d3dtypes.h:878
@ D3DTRANSFORMSTATE_FORCE_DWORD
Definition: d3dtypes.h:881
DWORD * LPD3DTEXTUREHANDLE
Definition: d3dtypes.h:106
struct _D3DTRIANGLE D3DTRIANGLE
struct _D3DVIEWPORT D3DVIEWPORT
struct _D3DVERTEX * LPD3DVERTEX
_D3DFOGMODE
Definition: d3dtypes.h:833
@ D3DFOG_FORCE_DWORD
Definition: d3dtypes.h:838
@ D3DFOG_NONE
Definition: d3dtypes.h:834
@ D3DFOG_EXP2
Definition: d3dtypes.h:836
@ D3DFOG_EXP
Definition: d3dtypes.h:835
@ D3DFOG_LINEAR
Definition: d3dtypes.h:837
_D3DFILLMODE
Definition: d3dtypes.h:755
@ D3DFILL_FORCE_DWORD
Definition: d3dtypes.h:759
@ D3DFILL_WIREFRAME
Definition: d3dtypes.h:757
@ D3DFILL_SOLID
Definition: d3dtypes.h:758
@ D3DFILL_POINT
Definition: d3dtypes.h:756
DWORD D3DCOLORMODEL
Definition: d3dtypes.h:684
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:767
@ D3DFILTER_MIPLINEAR
Definition: d3dtypes.h:771
@ D3DFILTER_LINEARMIPLINEAR
Definition: d3dtypes.h:773
@ D3DFILTER_FORCE_DWORD
Definition: d3dtypes.h:774
@ D3DFILTER_MIPNEAREST
Definition: d3dtypes.h:770
@ D3DFILTER_LINEAR
Definition: d3dtypes.h:769
@ D3DFILTER_NEAREST
Definition: d3dtypes.h:768
@ D3DFILTER_LINEARMIPNEAREST
Definition: d3dtypes.h:772
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:423
typedef BOOL(FAR PASCAL *LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA
Definition: d3dtypes.h:1126
BOOL bNegate
Definition: d3dtypes.h:1129
DWORD dwOffset
Definition: d3dtypes.h:1130
DWORD dwValue
Definition: d3dtypes.h:1128
DWORD dwMask
Definition: d3dtypes.h:1127
Definition: d3dtypes.h:1148
float minz
Definition: d3dtypes.h:1153
float miny
Definition: d3dtypes.h:1152
float maxz
Definition: d3dtypes.h:1153
DWORD dwFlags
Definition: d3dtypes.h:1149
DWORD dwStatus
Definition: d3dtypes.h:1150
float maxx
Definition: d3dtypes.h:1151
float maxy
Definition: d3dtypes.h:1152
float minx
Definition: d3dtypes.h:1151
Definition: d3dtypes.h:109
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
Definition: d3dtypes.h:1180
DWORD dwSize
Definition: d3dtypes.h:1181
DWORD dwInstructionOffset
Definition: d3dtypes.h:1184
DWORD dwVertexCount
Definition: d3dtypes.h:1183
DWORD dwVertexOffset
Definition: d3dtypes.h:1182
DWORD dwInstructionLength
Definition: d3dtypes.h:1185
DWORD dwHVertexOffset
Definition: d3dtypes.h:1186
D3DSTATUS dsStatus
Definition: d3dtypes.h:1187
Definition: d3dtypes.h:256
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
Definition: d3dtypes.h:719
BYTE bSize
Definition: d3dtypes.h:721
WORD wCount
Definition: d3dtypes.h:722
BYTE bOpcode
Definition: d3dtypes.h:720
Definition: d3dtypes.h:651
D3DVECTOR dvPosition
Definition: d3dtypes.h:655
D3DCOLORVALUE dcvColor
Definition: d3dtypes.h:654
DWORD dwSize
Definition: d3dtypes.h:652
D3DVALUE dvAttenuation0
Definition: d3dtypes.h:659
D3DVECTOR dvDirection
Definition: d3dtypes.h:656
D3DVALUE dvFalloff
Definition: d3dtypes.h:658
D3DLIGHTTYPE dltType
Definition: d3dtypes.h:653
D3DVALUE dvAttenuation2
Definition: d3dtypes.h:661
DWORD dwFlags
Definition: d3dtypes.h:664
D3DVALUE dvRange
Definition: d3dtypes.h:657
D3DVALUE dvAttenuation1
Definition: d3dtypes.h:660
D3DVALUE dvPhi
Definition: d3dtypes.h:663
D3DVALUE dvTheta
Definition: d3dtypes.h:662
Definition: d3dtypes.h:667
DWORD dwInSize
Definition: d3dtypes.h:670
DWORD dwOutSize
Definition: d3dtypes.h:672
LPD3DLIGHTINGELEMENT lpIn
Definition: d3dtypes.h:669
LPD3DTLVERTEX lpOut
Definition: d3dtypes.h:671
DWORD dwSize
Definition: d3dtypes.h:668
Definition: d3dtypes.h:580
D3DVECTOR dvPosition
Definition: d3dtypes.h:581
D3DVECTOR dvNormal
Definition: d3dtypes.h:582
Definition: d3dtypes.h:625
D3DVECTOR dvDirection
Definition: d3dtypes.h:630
D3DVALUE dvAttenuation2
Definition: d3dtypes.h:635
D3DLIGHTTYPE dltType
Definition: d3dtypes.h:627
DWORD dwSize
Definition: d3dtypes.h:626
D3DVALUE dvAttenuation0
Definition: d3dtypes.h:633
D3DVECTOR dvPosition
Definition: d3dtypes.h:629
D3DVALUE dvFalloff
Definition: d3dtypes.h:632
D3DVALUE dvAttenuation1
Definition: d3dtypes.h:634
D3DCOLORVALUE dcvColor
Definition: d3dtypes.h:628
D3DVALUE dvPhi
Definition: d3dtypes.h:637
D3DVALUE dvRange
Definition: d3dtypes.h:631
D3DVALUE dvTheta
Definition: d3dtypes.h:636
Definition: d3dtypes.h:762
WORD wLinePattern
Definition: d3dtypes.h:764
WORD wRepeatFactor
Definition: d3dtypes.h:763
Definition: d3dtypes.h:1091
WORD wV1
Definition: d3dtypes.h:1094
WORD v2
Definition: d3dtypes.h:1097
WORD wV2
Definition: d3dtypes.h:1098
WORD v1
Definition: d3dtypes.h:1093
Definition: d3dtypes.h:323
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
Definition: d3dtypes.h:588
D3DCOLORVALUE dcvDiffuse
Definition: d3dtypes.h:592
DWORD dwSize
Definition: d3dtypes.h:589
D3DCOLORVALUE dcvAmbient
Definition: d3dtypes.h:596
D3DCOLORVALUE dcvEmissive
Definition: d3dtypes.h:604
DWORD dwRampSize
Definition: d3dtypes.h:611
D3DCOLORVALUE ambient
Definition: d3dtypes.h:595
D3DCOLORVALUE emissive
Definition: d3dtypes.h:603
D3DCOLORVALUE dcvSpecular
Definition: d3dtypes.h:600
D3DVALUE power
Definition: d3dtypes.h:607
D3DCOLORVALUE diffuse
Definition: d3dtypes.h:591
D3DVALUE dvPower
Definition: d3dtypes.h:608
D3DTEXTUREHANDLE hTexture
Definition: d3dtypes.h:610
D3DCOLORVALUE specular
Definition: d3dtypes.h:599
Definition: d3dtypes.h:1001
D3DMATRIXHANDLE hSrcMatrix
Definition: d3dtypes.h:1003
D3DMATRIXHANDLE hDestMatrix
Definition: d3dtypes.h:1002
Definition: d3dtypes.h:1010
D3DMATRIXHANDLE hDestMatrix
Definition: d3dtypes.h:1011
D3DMATRIXHANDLE hSrcMatrix1
Definition: d3dtypes.h:1012
D3DMATRIXHANDLE hSrcMatrix2
Definition: d3dtypes.h:1013
Definition: d3dtypes.h:415
D3DVALUE _21
Definition: d3dtypes.h:422
D3DVALUE _23
Definition: d3dtypes.h:422
D3DVALUE _14
Definition: d3dtypes.h:421
D3DVALUE _22
Definition: d3dtypes.h:422
D3DVALUE _44
Definition: d3dtypes.h:424
D3DVALUE _12
Definition: d3dtypes.h:421
D3DVALUE _42
Definition: d3dtypes.h:424
D3DVALUE _33
Definition: d3dtypes.h:423
D3DVALUE _13
Definition: d3dtypes.h:421
D3DVALUE _24
Definition: d3dtypes.h:422
D3DVALUE _34
Definition: d3dtypes.h:423
D3DVALUE _43
Definition: d3dtypes.h:424
D3DVALUE _31
Definition: d3dtypes.h:423
D3DVALUE _11
Definition: d3dtypes.h:421
D3DVALUE _32
Definition: d3dtypes.h:423
D3DVALUE _41
Definition: d3dtypes.h:424
Definition: d3dtypes.h:736
D3DVALUE dvZ
Definition: d3dtypes.h:740
BYTE bOpcode
Definition: d3dtypes.h:737
DWORD dwOffset
Definition: d3dtypes.h:739
BYTE bPad
Definition: d3dtypes.h:738
Definition: d3dtypes.h:1115
WORD wFirst
Definition: d3dtypes.h:1117
WORD wCount
Definition: d3dtypes.h:1116
Definition: d3dtypes.h:1019
DWORD dwCount
Definition: d3dtypes.h:1023
DWORD dwReserved
Definition: d3dtypes.h:1024
DWORD dwFlags
Definition: d3dtypes.h:1020
WORD wDest
Definition: d3dtypes.h:1022
WORD wStart
Definition: d3dtypes.h:1021
Definition: d3dtypes.h:128
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
Definition: d3dtypes.h:1107
WORD wFirst
Definition: d3dtypes.h:1109
WORD wCount
Definition: d3dtypes.h:1108
Definition: d3dtypes.h:985
DWORD dwArg[1]
Definition: d3dtypes.h:992
D3DLIGHTSTATETYPE dlstLightStateType
Definition: d3dtypes.h:988
D3DTRANSFORMSTATETYPE dtstTransformStateType
Definition: d3dtypes.h:987
D3DRENDERSTATETYPE drstRenderStateType
Definition: d3dtypes.h:989
D3DVALUE dvArg[1]
Definition: d3dtypes.h:993
Definition: d3dtypes.h:1163
DWORD dwVerticesProcessed
Definition: d3dtypes.h:1169
DWORD dwSpansDrawn
Definition: d3dtypes.h:1168
DWORD dwTrianglesDrawn
Definition: d3dtypes.h:1165
DWORD dwPointsDrawn
Definition: d3dtypes.h:1167
DWORD dwLinesDrawn
Definition: d3dtypes.h:1166
DWORD dwSize
Definition: d3dtypes.h:1164
Definition: d3dtypes.h:1138
DWORD dwFlags
Definition: d3dtypes.h:1139
D3DRECT drExtent
Definition: d3dtypes.h:1141
DWORD dwStatus
Definition: d3dtypes.h:1140
Definition: d3dtypes.h:728
D3DTEXTUREHANDLE hSrcTexture
Definition: d3dtypes.h:730
D3DTEXTUREHANDLE hDestTexture
Definition: d3dtypes.h:729
Definition: d3dtypes.h:275
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
Definition: d3dtypes.h:564
DWORD dwSize
Definition: d3dtypes.h:565
DWORD dwOutSize
Definition: d3dtypes.h:569
DWORD dwClipIntersection
Definition: d3dtypes.h:572
LPVOID lpIn
Definition: d3dtypes.h:566
LPD3DHVERTEX lpHOut
Definition: d3dtypes.h:570
D3DRECT drExtent
Definition: d3dtypes.h:574
LPVOID lpOut
Definition: d3dtypes.h:568
DWORD dwClip
Definition: d3dtypes.h:571
DWORD dwClipUnion
Definition: d3dtypes.h:573
DWORD dwInSize
Definition: d3dtypes.h:567
Definition: d3dtypes.h:1071
WORD v3
Definition: d3dtypes.h:1081
WORD wFlags
Definition: d3dtypes.h:1084
WORD v2
Definition: d3dtypes.h:1077
WORD v1
Definition: d3dtypes.h:1073
WORD wV1
Definition: d3dtypes.h:1074
WORD wV2
Definition: d3dtypes.h:1078
WORD wV3
Definition: d3dtypes.h:1082
Definition: d3dtypes.h:147
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
Definition: d3dtypes.h:368
D3DVALUE tu
Definition: d3dtypes.h:394
D3DVALUE dvY
Definition: d3dtypes.h:375
D3DVALUE nz
Definition: d3dtypes.h:390
D3DVALUE dvNX
Definition: d3dtypes.h:383
D3DVALUE y
Definition: d3dtypes.h:374
D3DVALUE ny
Definition: d3dtypes.h:386
D3DVALUE z
Definition: d3dtypes.h:378
D3DVALUE dvTU
Definition: d3dtypes.h:395
D3DVALUE nx
Definition: d3dtypes.h:382
D3DVALUE dvTV
Definition: d3dtypes.h:399
D3DVALUE dvX
Definition: d3dtypes.h:371
D3DVALUE dvNY
Definition: d3dtypes.h:387
D3DVALUE tv
Definition: d3dtypes.h:398
D3DVALUE dvNZ
Definition: d3dtypes.h:391
D3DVALUE dvZ
Definition: d3dtypes.h:379
D3DVALUE x
Definition: d3dtypes.h:370
Definition: d3dtypes.h:462
DWORD dwX
Definition: d3dtypes.h:464
D3DVALUE dvMaxZ
Definition: d3dtypes.h:473
DWORD dwSize
Definition: d3dtypes.h:463
D3DVALUE dvClipHeight
Definition: d3dtypes.h:471
D3DVALUE dvClipY
Definition: d3dtypes.h:469
D3DVALUE dvMinZ
Definition: d3dtypes.h:472
D3DVALUE dvClipX
Definition: d3dtypes.h:468
DWORD dwHeight
Definition: d3dtypes.h:467
DWORD dwY
Definition: d3dtypes.h:465
DWORD dwWidth
Definition: d3dtypes.h:466
D3DVALUE dvClipWidth
Definition: d3dtypes.h:470
Definition: d3dtypes.h:448
DWORD dwHeight
Definition: d3dtypes.h:453
D3DVALUE dvMaxX
Definition: d3dtypes.h:456
D3DVALUE dvMaxZ
Definition: d3dtypes.h:459
D3DVALUE dvScaleY
Definition: d3dtypes.h:455
DWORD dwSize
Definition: d3dtypes.h:449
DWORD dwWidth
Definition: d3dtypes.h:452
DWORD dwX
Definition: d3dtypes.h:450
D3DVALUE dvMaxY
Definition: d3dtypes.h:457
DWORD dwY
Definition: d3dtypes.h:451
D3DVALUE dvScaleX
Definition: d3dtypes.h:454
D3DVALUE dvMinZ
Definition: d3dtypes.h:458