1 #############################################################################
3 # Copyright 2008 Tungsten Graphics, Inc.
5 # This program is free software: you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published
7 # by the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Lesser General Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #############################################################################
26 LPD3DVALUE = Pointer(Float)
29 LPD3DVALIDATECALLBACK = LPVOID
30 LPD3DENUMTEXTUREFORMATSCALLBACK = LPVOID
31 LPD3DENUMPIXELFORMATSCALLBACK = LPVOID
34 LPD3DCOLOR = Pointer(D3DCOLOR)
36 D3DMATERIALHANDLE = DWORD
37 LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE)
39 D3DTEXTUREHANDLE = DWORD
40 LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE)
42 D3DMATRIXHANDLE = DWORD
43 LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE)
45 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
51 LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE)
53 D3DRECT = Struct("D3DRECT", [
59 LPD3DRECT = Pointer(D3DRECT)
61 D3DVECTOR = Struct("D3DVECTOR", [
66 LPD3DVECTOR = Pointer(D3DVECTOR)
68 D3DHVERTEX = Struct("D3DHVERTEX", [
74 LPD3DHVERTEX = Pointer(D3DHVERTEX)
76 D3DTLVERTEX = Struct("D3DTLVERTEX", [
82 (D3DCOLOR, "specular"),
86 LPD3DTLVERTEX = Pointer(D3DTLVERTEX)
88 D3DLVERTEX = Struct("D3DLVERTEX", [
92 (DWORD, "dwReserved"),
94 (D3DCOLOR, "specular"),
98 LPD3DLVERTEX = Pointer(D3DLVERTEX)
100 D3DVERTEX = Struct("D3DVERTEX", [
110 LPD3DVERTEX = Pointer(D3DVERTEX)
112 D3DMATRIX = Struct("D3DMATRIX", [
113 (D3DVALUE, "m[4][4]"),
115 LPD3DMATRIX = Pointer(D3DMATRIX)
117 D3DVIEWPORT = Struct("D3DVIEWPORT", [
123 (D3DVALUE, "dvScaleX"),
124 (D3DVALUE, "dvScaleY"),
125 (D3DVALUE, "dvMaxX"),
126 (D3DVALUE, "dvMaxY"),
127 (D3DVALUE, "dvMinZ"),
128 (D3DVALUE, "dvMaxZ"),
130 LPD3DVIEWPORT = Pointer(D3DVIEWPORT)
132 D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [
138 (D3DVALUE, "dvClipX"),
139 (D3DVALUE, "dvClipY"),
140 (D3DVALUE, "dvClipWidth"),
141 (D3DVALUE, "dvClipHeight"),
142 (D3DVALUE, "dvMinZ"),
143 (D3DVALUE, "dvMaxZ"),
145 LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2)
147 D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [
152 (D3DVALUE, "dvMinZ"),
153 (D3DVALUE, "dvMaxZ"),
155 LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7)
157 D3DCLIP = Flags(DWORD, [
172 D3DSTATUS = Flags(DWORD, [
174 "D3DSTATUS_CLIPUNIONALL",
175 "D3DSTATUS_CLIPUNIONLEFT",
176 "D3DSTATUS_CLIPUNIONRIGHT",
177 "D3DSTATUS_CLIPUNIONTOP",
178 "D3DSTATUS_CLIPUNIONBOTTOM",
179 "D3DSTATUS_CLIPUNIONFRONT",
180 "D3DSTATUS_CLIPUNIONBACK",
181 "D3DSTATUS_CLIPUNIONGEN0",
182 "D3DSTATUS_CLIPUNIONGEN1",
183 "D3DSTATUS_CLIPUNIONGEN2",
184 "D3DSTATUS_CLIPUNIONGEN3",
185 "D3DSTATUS_CLIPUNIONGEN4",
186 "D3DSTATUS_CLIPUNIONGEN5",
187 "D3DSTATUS_CLIPINTERSECTIONALL",
188 "D3DSTATUS_CLIPINTERSECTIONLEFT",
189 "D3DSTATUS_CLIPINTERSECTIONRIGHT",
190 "D3DSTATUS_CLIPINTERSECTIONTOP",
191 "D3DSTATUS_CLIPINTERSECTIONBOTTOM",
192 "D3DSTATUS_CLIPINTERSECTIONFRONT",
193 "D3DSTATUS_CLIPINTERSECTIONBACK",
194 "D3DSTATUS_CLIPINTERSECTIONGEN0",
195 "D3DSTATUS_CLIPINTERSECTIONGEN1",
196 "D3DSTATUS_CLIPINTERSECTIONGEN2",
197 "D3DSTATUS_CLIPINTERSECTIONGEN3",
198 "D3DSTATUS_CLIPINTERSECTIONGEN4",
199 "D3DSTATUS_CLIPINTERSECTIONGEN5",
200 "D3DSTATUS_ZNOTVISIBLE",
203 D3DTRANSFORM = Flags(DWORD, [
204 "D3DTRANSFORM_CLIPPED",
205 "D3DTRANSFORM_UNCLIPPED",
208 D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [
213 (DWORD, "dwOutSize"),
214 (LPD3DHVERTEX, "lpHOut"),
216 (DWORD, "dwClipIntersection"),
217 (DWORD, "dwClipUnion"),
218 (D3DRECT, "drExtent"),
220 LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA)
222 D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [
223 (D3DVECTOR, "dvPosition"),
224 (D3DVECTOR, "dvNormal"),
226 LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT)
228 D3DMATERIAL = Struct("D3DMATERIAL", [
230 (D3DCOLORVALUE, "diffuse"),
231 (D3DCOLORVALUE, "ambient"),
232 (D3DCOLORVALUE, "specular"),
233 (D3DCOLORVALUE, "emissive"),
235 (D3DTEXTUREHANDLE, "hTexture"),
236 (DWORD, "dwRampSize"),
238 LPD3DMATERIAL = Pointer(D3DMATERIAL)
240 D3DMATERIAL7 = Struct("D3DMATERIAL7", [
241 (D3DCOLORVALUE, "diffuse"),
242 (D3DCOLORVALUE, "ambient"),
243 (D3DCOLORVALUE, "specular"),
244 (D3DCOLORVALUE, "emissive"),
247 LPD3DMATERIAL7 = Pointer(D3DMATERIAL7)
249 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
252 "D3DLIGHT_DIRECTIONAL",
253 "D3DLIGHT_PARALLELPOINT",
255 "D3DLIGHT_FORCE_DWORD",
258 D3DLIGHT = Struct("D3DLIGHT", [
260 (D3DLIGHTTYPE, "dltType"),
261 (D3DCOLORVALUE, "dcvColor"),
262 (D3DVECTOR, "dvPosition"),
263 (D3DVECTOR, "dvDirection"),
264 (D3DVALUE, "dvRange"),
265 (D3DVALUE, "dvFalloff"),
266 (D3DVALUE, "dvAttenuation0"),
267 (D3DVALUE, "dvAttenuation1"),
268 (D3DVALUE, "dvAttenuation2"),
269 (D3DVALUE, "dvTheta"),
272 LPD3DLIGHT = Pointer(D3DLIGHT)
274 D3DLIGHT7 = Struct("D3DLIGHT7", [
275 (D3DLIGHTTYPE, "dltType"),
276 (D3DCOLORVALUE, "dcvDiffuse"),
277 (D3DCOLORVALUE, "dcvSpecular"),
278 (D3DCOLORVALUE, "dcvAmbient"),
279 (D3DVECTOR, "dvPosition"),
280 (D3DVECTOR, "dvDirection"),
281 (D3DVALUE, "dvRange"),
282 (D3DVALUE, "dvFalloff"),
283 (D3DVALUE, "dvAttenuation0"),
284 (D3DVALUE, "dvAttenuation1"),
285 (D3DVALUE, "dvAttenuation2"),
286 (D3DVALUE, "dvTheta"),
289 LPD3DLIGHT7 = Pointer(D3DLIGHT7)
291 D3DLIGHTFLAGS = Flags(DWORD, [
293 "D3DLIGHT_NO_SPECULAR",
297 D3DLIGHT2 = Struct("D3DLIGHT2", [
299 (D3DLIGHTTYPE, "dltType"),
300 (D3DCOLORVALUE, "dcvColor"),
301 (D3DVECTOR, "dvPosition"),
302 (D3DVECTOR, "dvDirection"),
303 (D3DVALUE, "dvRange"),
304 (D3DVALUE, "dvFalloff"),
305 (D3DVALUE, "dvAttenuation0"),
306 (D3DVALUE, "dvAttenuation1"),
307 (D3DVALUE, "dvAttenuation2"),
308 (D3DVALUE, "dvTheta"),
312 LPD3DLIGHT2 = Pointer(D3DLIGHT2)
314 D3DLIGHTDATA = Struct("D3DLIGHTDATA", [
316 (LPD3DLIGHTINGELEMENT, "lpIn"),
318 (LPD3DTLVERTEX, "lpOut"),
319 (DWORD, "dwOutSize"),
321 LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA)
323 D3DCOLOR = Flags(DWORD, [
328 D3DCOLORMODEL = DWORD
330 D3DCLEAR = Flags(DWORD, [
336 D3DOPCODE = Enum("D3DOPCODE", [
341 "D3DOP_MATRIXMULTIPLY",
342 "D3DOP_STATETRANSFORM",
345 "D3DOP_PROCESSVERTICES",
348 "D3DOP_BRANCHFORWARD",
354 D3DINSTRUCTION = Struct("D3DINSTRUCTION", [
360 D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [
361 (D3DTEXTUREHANDLE, "hDestTexture"),
362 (D3DTEXTUREHANDLE, "hSrcTexture"),
365 D3DPICKRECORD = Struct("D3DPICKRECORD", [
371 LPD3DPICKRECORD = Pointer(D3DPICKRECORD)
373 D3DSHADEMODE = Enum("D3DSHADEMODE", [
377 "D3DSHADE_FORCE_DWORD",
380 D3DFILLMODE = Enum("D3DFILLMODE", [
384 "D3DFILL_FORCE_DWORD",
387 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
388 (WORD, "wRepeatFactor"),
389 (WORD, "wLinePattern"),
392 D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [
395 "D3DFILTER_MIPNEAREST",
396 "D3DFILTER_MIPLINEAR",
397 "D3DFILTER_LINEARMIPNEAREST",
398 "D3DFILTER_LINEARMIPLINEAR",
399 "D3DFILTER_FORCE_DWORD",
402 D3DBLEND = Enum("D3DBLEND", [
406 "D3DBLEND_INVSRCCOLOR",
408 "D3DBLEND_INVSRCALPHA",
409 "D3DBLEND_DESTALPHA",
410 "D3DBLEND_INVDESTALPHA",
411 "D3DBLEND_DESTCOLOR",
412 "D3DBLEND_INVDESTCOLOR",
413 "D3DBLEND_SRCALPHASAT",
414 "D3DBLEND_BOTHSRCALPHA",
415 "D3DBLEND_BOTHINVSRCALPHA",
416 "D3DBLEND_FORCE_DWORD",
419 D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [
421 "D3DTBLEND_MODULATE",
422 "D3DTBLEND_DECALALPHA",
423 "D3DTBLEND_MODULATEALPHA",
424 "D3DTBLEND_DECALMASK",
425 "D3DTBLEND_MODULATEMASK",
428 "D3DTBLEND_FORCE_DWORD",
431 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
433 "D3DTADDRESS_MIRROR",
435 "D3DTADDRESS_BORDER",
436 "D3DTADDRESS_FORCE_DWORD",
439 D3DCULL = Enum("D3DCULL", [
443 "D3DCULL_FORCE_DWORD",
446 D3DCMPFUNC = Enum("D3DCMPFUNC", [
453 "D3DCMP_GREATEREQUAL",
455 "D3DCMP_FORCE_DWORD",
458 D3DSTENCILOP = Enum("D3DSTENCILOP", [
461 "D3DSTENCILOP_REPLACE",
462 "D3DSTENCILOP_INCRSAT",
463 "D3DSTENCILOP_DECRSAT",
464 "D3DSTENCILOP_INVERT",
467 "D3DSTENCILOP_FORCE_DWORD",
470 D3DFOGMODE = Enum("D3DFOGMODE", [
475 "D3DFOG_FORCE_DWORD",
478 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
485 D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [
487 "D3DANTIALIAS_SORTDEPENDENT",
488 "D3DANTIALIAS_SORTINDEPENDENT",
489 "D3DANTIALIAS_FORCE_DWORD",
492 D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [
499 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
503 "D3DPT_TRIANGLELIST",
504 "D3DPT_TRIANGLESTRIP",
509 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
510 "D3DTRANSFORMSTATE_WORLD",
511 "D3DTRANSFORMSTATE_VIEW",
512 "D3DTRANSFORMSTATE_PROJECTION",
513 "D3DTRANSFORMSTATE_WORLD1",
514 "D3DTRANSFORMSTATE_WORLD2",
515 "D3DTRANSFORMSTATE_WORLD3",
516 "D3DTRANSFORMSTATE_TEXTURE0",
517 "D3DTRANSFORMSTATE_TEXTURE1",
518 "D3DTRANSFORMSTATE_TEXTURE2",
519 "D3DTRANSFORMSTATE_TEXTURE3",
520 "D3DTRANSFORMSTATE_TEXTURE4",
521 "D3DTRANSFORMSTATE_TEXTURE5",
522 "D3DTRANSFORMSTATE_TEXTURE6",
523 "D3DTRANSFORMSTATE_TEXTURE7",
524 "D3DTRANSFORMSTATE_FORCE_DWORD",
527 D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [
528 "D3DLIGHTSTATE_MATERIAL",
529 "D3DLIGHTSTATE_AMBIENT",
530 "D3DLIGHTSTATE_COLORMODEL",
531 "D3DLIGHTSTATE_FOGMODE",
532 "D3DLIGHTSTATE_FOGSTART",
533 "D3DLIGHTSTATE_FOGEND",
534 "D3DLIGHTSTATE_FOGDENSITY",
535 "D3DLIGHTSTATE_COLORVERTEX",
536 "D3DLIGHTSTATE_FORCE_DWORD",
539 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
540 "D3DRENDERSTATE_ANTIALIAS",
541 "D3DRENDERSTATE_TEXTUREPERSPECTIVE",
542 "D3DRENDERSTATE_ZENABLE",
543 "D3DRENDERSTATE_FILLMODE",
544 "D3DRENDERSTATE_SHADEMODE",
545 "D3DRENDERSTATE_LINEPATTERN",
546 "D3DRENDERSTATE_ZWRITEENABLE",
547 "D3DRENDERSTATE_ALPHATESTENABLE",
548 "D3DRENDERSTATE_LASTPIXEL",
549 "D3DRENDERSTATE_SRCBLEND",
550 "D3DRENDERSTATE_DESTBLEND",
551 "D3DRENDERSTATE_CULLMODE",
552 "D3DRENDERSTATE_ZFUNC",
553 "D3DRENDERSTATE_ALPHAREF",
554 "D3DRENDERSTATE_ALPHAFUNC",
555 "D3DRENDERSTATE_DITHERENABLE",
556 "D3DRENDERSTATE_ALPHABLENDENABLE",
557 "D3DRENDERSTATE_FOGENABLE",
558 "D3DRENDERSTATE_SPECULARENABLE",
559 "D3DRENDERSTATE_ZVISIBLE",
560 "D3DRENDERSTATE_STIPPLEDALPHA",
561 "D3DRENDERSTATE_FOGCOLOR",
562 "D3DRENDERSTATE_FOGTABLEMODE",
563 "D3DRENDERSTATE_FOGSTART",
564 "D3DRENDERSTATE_FOGEND",
565 "D3DRENDERSTATE_FOGDENSITY",
566 "D3DRENDERSTATE_EDGEANTIALIAS",
567 "D3DRENDERSTATE_COLORKEYENABLE",
568 "D3DRENDERSTATE_ZBIAS",
569 "D3DRENDERSTATE_RANGEFOGENABLE",
570 "D3DRENDERSTATE_STENCILENABLE",
571 "D3DRENDERSTATE_STENCILFAIL",
572 "D3DRENDERSTATE_STENCILZFAIL",
573 "D3DRENDERSTATE_STENCILPASS",
574 "D3DRENDERSTATE_STENCILFUNC",
575 "D3DRENDERSTATE_STENCILREF",
576 "D3DRENDERSTATE_STENCILMASK",
577 "D3DRENDERSTATE_STENCILWRITEMASK",
578 "D3DRENDERSTATE_TEXTUREFACTOR",
579 "D3DRENDERSTATE_WRAP0",
580 "D3DRENDERSTATE_WRAP1",
581 "D3DRENDERSTATE_WRAP2",
582 "D3DRENDERSTATE_WRAP3",
583 "D3DRENDERSTATE_WRAP4",
584 "D3DRENDERSTATE_WRAP5",
585 "D3DRENDERSTATE_WRAP6",
586 "D3DRENDERSTATE_WRAP7",
587 "D3DRENDERSTATE_CLIPPING",
588 "D3DRENDERSTATE_LIGHTING",
589 "D3DRENDERSTATE_EXTENTS",
590 "D3DRENDERSTATE_AMBIENT",
591 "D3DRENDERSTATE_FOGVERTEXMODE",
592 "D3DRENDERSTATE_COLORVERTEX",
593 "D3DRENDERSTATE_LOCALVIEWER",
594 "D3DRENDERSTATE_NORMALIZENORMALS",
595 "D3DRENDERSTATE_COLORKEYBLENDENABLE",
596 "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE",
597 "D3DRENDERSTATE_SPECULARMATERIALSOURCE",
598 "D3DRENDERSTATE_AMBIENTMATERIALSOURCE",
599 "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE",
600 "D3DRENDERSTATE_VERTEXBLEND",
601 "D3DRENDERSTATE_CLIPPLANEENABLE",
602 "D3DRENDERSTATE_TEXTUREHANDLE",
603 "D3DRENDERSTATE_TEXTUREADDRESS",
604 "D3DRENDERSTATE_WRAPU",
605 "D3DRENDERSTATE_WRAPV",
606 "D3DRENDERSTATE_MONOENABLE",
607 "D3DRENDERSTATE_ROP2",
608 "D3DRENDERSTATE_PLANEMASK",
609 "D3DRENDERSTATE_TEXTUREMAG",
610 "D3DRENDERSTATE_TEXTUREMIN",
611 "D3DRENDERSTATE_TEXTUREMAPBLEND",
612 "D3DRENDERSTATE_SUBPIXEL",
613 "D3DRENDERSTATE_SUBPIXELX",
614 "D3DRENDERSTATE_STIPPLEENABLE",
615 "D3DRENDERSTATE_BORDERCOLOR",
616 "D3DRENDERSTATE_TEXTUREADDRESSU",
617 "D3DRENDERSTATE_TEXTUREADDRESSV",
618 "D3DRENDERSTATE_MIPMAPLODBIAS",
619 "D3DRENDERSTATE_ANISOTROPY",
620 "D3DRENDERSTATE_FLUSHBATCH",
621 "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT",
622 "D3DRENDERSTATE_STIPPLEPATTERN00",
623 "D3DRENDERSTATE_STIPPLEPATTERN01",
624 "D3DRENDERSTATE_STIPPLEPATTERN02",
625 "D3DRENDERSTATE_STIPPLEPATTERN03",
626 "D3DRENDERSTATE_STIPPLEPATTERN04",
627 "D3DRENDERSTATE_STIPPLEPATTERN05",
628 "D3DRENDERSTATE_STIPPLEPATTERN06",
629 "D3DRENDERSTATE_STIPPLEPATTERN07",
630 "D3DRENDERSTATE_STIPPLEPATTERN08",
631 "D3DRENDERSTATE_STIPPLEPATTERN09",
632 "D3DRENDERSTATE_STIPPLEPATTERN10",
633 "D3DRENDERSTATE_STIPPLEPATTERN11",
634 "D3DRENDERSTATE_STIPPLEPATTERN12",
635 "D3DRENDERSTATE_STIPPLEPATTERN13",
636 "D3DRENDERSTATE_STIPPLEPATTERN14",
637 "D3DRENDERSTATE_STIPPLEPATTERN15",
638 "D3DRENDERSTATE_STIPPLEPATTERN16",
639 "D3DRENDERSTATE_STIPPLEPATTERN17",
640 "D3DRENDERSTATE_STIPPLEPATTERN18",
641 "D3DRENDERSTATE_STIPPLEPATTERN19",
642 "D3DRENDERSTATE_STIPPLEPATTERN20",
643 "D3DRENDERSTATE_STIPPLEPATTERN21",
644 "D3DRENDERSTATE_STIPPLEPATTERN22",
645 "D3DRENDERSTATE_STIPPLEPATTERN23",
646 "D3DRENDERSTATE_STIPPLEPATTERN24",
647 "D3DRENDERSTATE_STIPPLEPATTERN25",
648 "D3DRENDERSTATE_STIPPLEPATTERN26",
649 "D3DRENDERSTATE_STIPPLEPATTERN27",
650 "D3DRENDERSTATE_STIPPLEPATTERN28",
651 "D3DRENDERSTATE_STIPPLEPATTERN29",
652 "D3DRENDERSTATE_STIPPLEPATTERN30",
653 "D3DRENDERSTATE_STIPPLEPATTERN31",
654 "D3DRENDERSTATE_FOGTABLESTART",
655 "D3DRENDERSTATE_FOGTABLEEND",
656 "D3DRENDERSTATE_FOGTABLEDENSITY",
659 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
665 D3DWRAP = Flags(DWORD, [
674 D3DSTATE = Struct("D3DSTATE", [
675 (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"),
676 (D3DLIGHTSTATETYPE, "dlstLightStateType"),
677 (D3DRENDERSTATETYPE, "drstRenderStateType"),
679 (D3DVALUE, "dvArg[1]"),
682 D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [
683 (D3DMATRIXHANDLE, "hDestMatrix"),
684 (D3DMATRIXHANDLE, "hSrcMatrix"),
687 D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [
688 (D3DMATRIXHANDLE, "hDestMatrix"),
689 (D3DMATRIXHANDLE, "hSrcMatrix1"),
690 (D3DMATRIXHANDLE, "hSrcMatrix2"),
693 D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [
698 (DWORD, "dwReserved"),
701 D3DPROCESSVERTICES = Flags(DWORD, [
702 "D3DPROCESSVERTICES_TRANSFORMLIGHT",
703 "D3DPROCESSVERTICES_TRANSFORM",
704 "D3DPROCESSVERTICES_COPY",
705 "D3DPROCESSVERTICES_OPMASK",
706 "D3DPROCESSVERTICES_UPDATEEXTENTS",
707 "D3DPROCESSVERTICES_NOCOLOR",
710 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
717 "D3DTSS_BUMPENVMAT00",
718 "D3DTSS_BUMPENVMAT01",
719 "D3DTSS_BUMPENVMAT10",
720 "D3DTSS_BUMPENVMAT11",
721 "D3DTSS_TEXCOORDINDEX",
725 "D3DTSS_BORDERCOLOR",
729 "D3DTSS_MIPMAPLODBIAS",
730 "D3DTSS_MAXMIPLEVEL",
731 "D3DTSS_MAXANISOTROPY",
732 "D3DTSS_BUMPENVLSCALE",
733 "D3DTSS_BUMPENVLOFFSET",
734 "D3DTSS_TEXTURETRANSFORMFLAGS",
735 "D3DTSS_FORCE_DWORD",
738 D3DTSS_TCI = Flags(DWORD, [
739 "D3DTSS_TCI_PASSTHRU",
740 "D3DTSS_TCI_CAMERASPACENORMAL",
741 "D3DTSS_TCI_CAMERASPACEPOSITION",
742 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
745 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
754 "D3DTOP_ADDSIGNED2X",
757 "D3DTOP_BLENDDIFFUSEALPHA",
758 "D3DTOP_BLENDTEXTUREALPHA",
759 "D3DTOP_BLENDFACTORALPHA",
760 "D3DTOP_BLENDTEXTUREALPHAPM",
761 "D3DTOP_BLENDCURRENTALPHA",
762 "D3DTOP_PREMODULATE",
763 "D3DTOP_MODULATEALPHA_ADDCOLOR",
764 "D3DTOP_MODULATECOLOR_ADDALPHA",
765 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
766 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
768 "D3DTOP_BUMPENVMAPLUMINANCE",
769 "D3DTOP_DOTPRODUCT3",
772 D3DTA = Flags(DWORD, [
780 "D3DTA_ALPHAREPLICATE",
783 D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [
787 "D3DTFG_GAUSSIANCUBIC",
788 "D3DTFG_ANISOTROPIC",
789 "D3DTFG_FORCE_DWORD",
792 D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [
795 "D3DTFN_ANISOTROPIC",
796 "D3DTFN_FORCE_DWORD",
799 D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [
803 "D3DTFP_FORCE_DWORD",
806 D3DTRIFLAG = Flags(DWORD, [
808 "D3DTRIFLAG_STARTFLAT(len)",
811 "D3DTRIFLAG_EDGEENABLETRIANGLE",
812 "D3DTRIFLAG_EDGEENABLE1",
813 "D3DTRIFLAG_EDGEENABLE2",
814 "D3DTRIFLAG_EDGEENABLE3",
817 D3DTRIANGLE = Struct("D3DTRIANGLE", [
824 D3DLINE = Struct("D3DLINE", [
829 D3DSPAN = Struct("D3DSPAN", [
834 D3DPOINT = Struct("D3DPOINT", [
839 D3DBRANCH = Struct("D3DBRANCH", [
846 D3DSTATUS = Struct("D3DSTATUS", [
849 (D3DRECT, "drExtent"),
852 D3DSETSTATUS = Flags(DWORD, [
853 "D3DSETSTATUS_STATUS",
854 "D3DSETSTATUS_EXTENTS",
858 D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [
868 LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS)
870 D3DCLIPSTATUS = Flags(DWORD, [
871 "D3DCLIPSTATUS_STATUS",
872 "D3DCLIPSTATUS_EXTENTS2",
873 "D3DCLIPSTATUS_EXTENTS3",
876 D3DSTATS = Struct("D3DSTATS", [
878 (DWORD, "dwTrianglesDrawn"),
879 (DWORD, "dwLinesDrawn"),
880 (DWORD, "dwPointsDrawn"),
881 (DWORD, "dwSpansDrawn"),
882 (DWORD, "dwVerticesProcessed"),
884 LPD3DSTATS = Pointer(D3DSTATS)
886 D3DEXECUTE = Flags(DWORD, [
887 "D3DEXECUTE_CLIPPED",
888 "D3DEXECUTE_UNCLIPPED",
891 D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [
893 (DWORD, "dwVertexOffset"),
894 (DWORD, "dwVertexCount"),
895 (DWORD, "dwInstructionOffset"),
896 (DWORD, "dwInstructionLength"),
897 (DWORD, "dwHVertexOffset"),
898 (D3DSTATUS, "dsStatus"),
900 LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA)
902 D3DPAL = Flags(DWORD, [
908 D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [
912 (DWORD, "dwNumVertices"),
914 LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC)
916 D3DVBCAPS = Flags(DWORD, [
917 "D3DVBCAPS_SYSTEMMEMORY",
918 "D3DVBCAPS_WRITEONLY",
919 "D3DVBCAPS_OPTIMIZED",
920 "D3DVBCAPS_DONOTCLIP",
923 D3DVOP = Flags(DWORD, [
930 D3DPV = Flags(DWORD, [
931 "D3DPV_DONOTCOPYDATA",
934 D3DFVF = Flags(DWORD, [
936 "D3DFVF_POSITION_MASK",
948 "D3DFVF_TEXCOUNT_MASK",
949 "D3DFVF_TEXCOUNT_SHIFT",
964 "D3DFVF_TEXCOORDSIZE1(0)",
965 "D3DFVF_TEXCOORDSIZE1(1)",
966 "D3DFVF_TEXCOORDSIZE2(0)",
967 "D3DFVF_TEXCOORDSIZE2(1)",
968 "D3DFVF_TEXCOORDSIZE3(0)",
969 "D3DFVF_TEXCOORDSIZE3(1)",
970 "D3DFVF_TEXCOORDSIZE4(0)",
971 "D3DFVF_TEXCOORDSIZE4(1)",
974 D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [
979 D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [
980 (D3DDP_PTRSTRIDE, "position"),
981 (D3DDP_PTRSTRIDE, "normal"),
982 (D3DDP_PTRSTRIDE, "diffuse"),
983 (D3DDP_PTRSTRIDE, "specular"),
984 (D3DDP_PTRSTRIDE, "textureCoords[D3DDP_MAXTEXCOORD]"),
986 LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA)
988 D3DVIS = Flags(DWORD, [
989 "D3DVIS_INSIDE_FRUSTUM",
990 "D3DVIS_INTERSECT_FRUSTUM",
991 "D3DVIS_OUTSIDE_FRUSTUM",
992 "D3DVIS_INSIDE_LEFT",
993 "D3DVIS_INTERSECT_LEFT",
994 "D3DVIS_OUTSIDE_LEFT",
995 "D3DVIS_INSIDE_RIGHT",
996 "D3DVIS_INTERSECT_RIGHT",
997 "D3DVIS_OUTSIDE_RIGHT",
999 "D3DVIS_INTERSECT_TOP",
1000 "D3DVIS_OUTSIDE_TOP",
1001 "D3DVIS_INSIDE_BOTTOM",
1002 "D3DVIS_INTERSECT_BOTTOM",
1003 "D3DVIS_OUTSIDE_BOTTOM",
1004 "D3DVIS_INSIDE_NEAR",
1005 "D3DVIS_INTERSECT_NEAR",
1006 "D3DVIS_OUTSIDE_NEAR",
1007 "D3DVIS_INSIDE_FAR",
1008 "D3DVIS_INTERSECT_FAR",
1009 "D3DVIS_OUTSIDE_FAR",
1010 "D3DVIS_MASK_FRUSTUM",
1012 "D3DVIS_MASK_RIGHT",
1014 "D3DVIS_MASK_BOTTOM",
1019 D3DDEVINFOID = Flags(DWORD, [
1020 "D3DDEVINFOID_TEXTUREMANAGER",
1021 "D3DDEVINFOID_D3DTEXTUREMANAGER",
1022 "D3DDEVINFOID_TEXTURING",
1025 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
1027 "D3DSBT_PIXELSTATE",
1028 "D3DSBT_VERTEXSTATE",
1029 "D3DSBT_FORCE_DWORD",
1032 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
1033 "D3DVBLEND_DISABLE",
1034 "D3DVBLEND_1WEIGHT",
1035 "D3DVBLEND_2WEIGHTS",
1036 "D3DVBLEND_3WEIGHTS",
1039 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
1045 "D3DTTFF_PROJECTED",
1046 "D3DTTFF_FORCE_DWORD",