1 ##########################################################################
3 # Copyright 2008-2009 VMware, Inc.
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 ##########################################################################/
31 LPD3DVALUE = Pointer(Float)
34 LPD3DVALIDATECALLBACK = Opaque("LPD3DVALIDATECALLBACK")
35 LPD3DENUMTEXTUREFORMATSCALLBACK = Opaque("LPD3DENUMTEXTUREFORMATSCALLBACK")
36 LPD3DENUMPIXELFORMATSCALLBACK = Opaque("LPD3DENUMPIXELFORMATSCALLBACK")
39 LPD3DCOLOR = Pointer(D3DCOLOR)
41 D3DMATERIALHANDLE = DWORD
42 LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE)
44 D3DTEXTUREHANDLE = DWORD
45 LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE)
47 D3DMATRIXHANDLE = DWORD
48 LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE)
50 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
56 LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE)
58 D3DRECT = Struct("D3DRECT", [
64 LPD3DRECT = Pointer(D3DRECT)
66 D3DVECTOR = Struct("D3DVECTOR", [
71 LPD3DVECTOR = Pointer(D3DVECTOR)
73 D3DHVERTEX = Struct("D3DHVERTEX", [
79 LPD3DHVERTEX = Pointer(D3DHVERTEX)
81 D3DTLVERTEX = Struct("D3DTLVERTEX", [
87 (D3DCOLOR, "specular"),
91 LPD3DTLVERTEX = Pointer(D3DTLVERTEX)
93 D3DLVERTEX = Struct("D3DLVERTEX", [
97 (DWORD, "dwReserved"),
99 (D3DCOLOR, "specular"),
103 LPD3DLVERTEX = Pointer(D3DLVERTEX)
105 D3DVERTEX = Struct("D3DVERTEX", [
115 LPD3DVERTEX = Pointer(D3DVERTEX)
117 D3DMATRIX = Struct("D3DMATRIX", [
118 (D3DVALUE, "_%u" % index) for index in [
125 LPD3DMATRIX = Pointer(D3DMATRIX)
127 D3DVIEWPORT = Struct("D3DVIEWPORT", [
133 (D3DVALUE, "dvScaleX"),
134 (D3DVALUE, "dvScaleY"),
135 (D3DVALUE, "dvMaxX"),
136 (D3DVALUE, "dvMaxY"),
137 (D3DVALUE, "dvMinZ"),
138 (D3DVALUE, "dvMaxZ"),
140 LPD3DVIEWPORT = Pointer(D3DVIEWPORT)
142 D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [
148 (D3DVALUE, "dvClipX"),
149 (D3DVALUE, "dvClipY"),
150 (D3DVALUE, "dvClipWidth"),
151 (D3DVALUE, "dvClipHeight"),
152 (D3DVALUE, "dvMinZ"),
153 (D3DVALUE, "dvMaxZ"),
155 LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2)
157 D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [
162 (D3DVALUE, "dvMinZ"),
163 (D3DVALUE, "dvMaxZ"),
165 LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7)
167 D3DCLIP = Flags(DWORD, [
182 D3DSTATUS = Flags(DWORD, [
184 "D3DSTATUS_CLIPUNIONALL",
185 "D3DSTATUS_CLIPUNIONLEFT",
186 "D3DSTATUS_CLIPUNIONRIGHT",
187 "D3DSTATUS_CLIPUNIONTOP",
188 "D3DSTATUS_CLIPUNIONBOTTOM",
189 "D3DSTATUS_CLIPUNIONFRONT",
190 "D3DSTATUS_CLIPUNIONBACK",
191 "D3DSTATUS_CLIPUNIONGEN0",
192 "D3DSTATUS_CLIPUNIONGEN1",
193 "D3DSTATUS_CLIPUNIONGEN2",
194 "D3DSTATUS_CLIPUNIONGEN3",
195 "D3DSTATUS_CLIPUNIONGEN4",
196 "D3DSTATUS_CLIPUNIONGEN5",
197 "D3DSTATUS_CLIPINTERSECTIONALL",
198 "D3DSTATUS_CLIPINTERSECTIONLEFT",
199 "D3DSTATUS_CLIPINTERSECTIONRIGHT",
200 "D3DSTATUS_CLIPINTERSECTIONTOP",
201 "D3DSTATUS_CLIPINTERSECTIONBOTTOM",
202 "D3DSTATUS_CLIPINTERSECTIONFRONT",
203 "D3DSTATUS_CLIPINTERSECTIONBACK",
204 "D3DSTATUS_CLIPINTERSECTIONGEN0",
205 "D3DSTATUS_CLIPINTERSECTIONGEN1",
206 "D3DSTATUS_CLIPINTERSECTIONGEN2",
207 "D3DSTATUS_CLIPINTERSECTIONGEN3",
208 "D3DSTATUS_CLIPINTERSECTIONGEN4",
209 "D3DSTATUS_CLIPINTERSECTIONGEN5",
210 "D3DSTATUS_ZNOTVISIBLE",
213 D3DTRANSFORM = Flags(DWORD, [
214 "D3DTRANSFORM_CLIPPED",
215 "D3DTRANSFORM_UNCLIPPED",
218 D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [
223 (DWORD, "dwOutSize"),
224 (LPD3DHVERTEX, "lpHOut"),
226 (DWORD, "dwClipIntersection"),
227 (DWORD, "dwClipUnion"),
228 (D3DRECT, "drExtent"),
230 LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA)
232 D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [
233 (D3DVECTOR, "dvPosition"),
234 (D3DVECTOR, "dvNormal"),
236 LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT)
238 D3DMATERIAL = Struct("D3DMATERIAL", [
240 (D3DCOLORVALUE, "diffuse"),
241 (D3DCOLORVALUE, "ambient"),
242 (D3DCOLORVALUE, "specular"),
243 (D3DCOLORVALUE, "emissive"),
245 (D3DTEXTUREHANDLE, "hTexture"),
246 (DWORD, "dwRampSize"),
248 LPD3DMATERIAL = Pointer(D3DMATERIAL)
250 D3DMATERIAL7 = Struct("D3DMATERIAL7", [
251 (D3DCOLORVALUE, "diffuse"),
252 (D3DCOLORVALUE, "ambient"),
253 (D3DCOLORVALUE, "specular"),
254 (D3DCOLORVALUE, "emissive"),
257 LPD3DMATERIAL7 = Pointer(D3DMATERIAL7)
259 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
262 "D3DLIGHT_DIRECTIONAL",
263 "D3DLIGHT_PARALLELPOINT",
267 D3DLIGHT = Struct("D3DLIGHT", [
269 (D3DLIGHTTYPE, "dltType"),
270 (D3DCOLORVALUE, "dcvColor"),
271 (D3DVECTOR, "dvPosition"),
272 (D3DVECTOR, "dvDirection"),
273 (D3DVALUE, "dvRange"),
274 (D3DVALUE, "dvFalloff"),
275 (D3DVALUE, "dvAttenuation0"),
276 (D3DVALUE, "dvAttenuation1"),
277 (D3DVALUE, "dvAttenuation2"),
278 (D3DVALUE, "dvTheta"),
281 LPD3DLIGHT = Pointer(D3DLIGHT)
283 D3DLIGHT7 = Struct("D3DLIGHT7", [
284 (D3DLIGHTTYPE, "dltType"),
285 (D3DCOLORVALUE, "dcvDiffuse"),
286 (D3DCOLORVALUE, "dcvSpecular"),
287 (D3DCOLORVALUE, "dcvAmbient"),
288 (D3DVECTOR, "dvPosition"),
289 (D3DVECTOR, "dvDirection"),
290 (D3DVALUE, "dvRange"),
291 (D3DVALUE, "dvFalloff"),
292 (D3DVALUE, "dvAttenuation0"),
293 (D3DVALUE, "dvAttenuation1"),
294 (D3DVALUE, "dvAttenuation2"),
295 (D3DVALUE, "dvTheta"),
298 LPD3DLIGHT7 = Pointer(D3DLIGHT7)
300 D3DLIGHTFLAGS = Flags(DWORD, [
302 "D3DLIGHT_NO_SPECULAR",
306 D3DLIGHT2 = Struct("D3DLIGHT2", [
308 (D3DLIGHTTYPE, "dltType"),
309 (D3DCOLORVALUE, "dcvColor"),
310 (D3DVECTOR, "dvPosition"),
311 (D3DVECTOR, "dvDirection"),
312 (D3DVALUE, "dvRange"),
313 (D3DVALUE, "dvFalloff"),
314 (D3DVALUE, "dvAttenuation0"),
315 (D3DVALUE, "dvAttenuation1"),
316 (D3DVALUE, "dvAttenuation2"),
317 (D3DVALUE, "dvTheta"),
321 LPD3DLIGHT2 = Pointer(D3DLIGHT2)
323 D3DLIGHTDATA = Struct("D3DLIGHTDATA", [
325 (LPD3DLIGHTINGELEMENT, "lpIn"),
327 (LPD3DTLVERTEX, "lpOut"),
328 (DWORD, "dwOutSize"),
330 LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA)
332 D3DCOLOR = Flags(DWORD, [
337 D3DCOLORMODEL = DWORD
339 D3DCLEAR = Flags(DWORD, [
345 D3DOPCODE = Enum("D3DOPCODE", [
350 "D3DOP_MATRIXMULTIPLY",
351 "D3DOP_STATETRANSFORM",
354 "D3DOP_PROCESSVERTICES",
357 "D3DOP_BRANCHFORWARD",
362 D3DINSTRUCTION = Struct("D3DINSTRUCTION", [
368 D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [
369 (D3DTEXTUREHANDLE, "hDestTexture"),
370 (D3DTEXTUREHANDLE, "hSrcTexture"),
373 D3DPICKRECORD = Struct("D3DPICKRECORD", [
379 LPD3DPICKRECORD = Pointer(D3DPICKRECORD)
381 D3DSHADEMODE = Enum("D3DSHADEMODE", [
387 D3DFILLMODE = Enum("D3DFILLMODE", [
393 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
394 (WORD, "wRepeatFactor"),
395 (WORD, "wLinePattern"),
398 D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [
401 "D3DFILTER_MIPNEAREST",
402 "D3DFILTER_MIPLINEAR",
403 "D3DFILTER_LINEARMIPNEAREST",
404 "D3DFILTER_LINEARMIPLINEAR",
407 D3DBLEND = Enum("D3DBLEND", [
411 "D3DBLEND_INVSRCCOLOR",
413 "D3DBLEND_INVSRCALPHA",
414 "D3DBLEND_DESTALPHA",
415 "D3DBLEND_INVDESTALPHA",
416 "D3DBLEND_DESTCOLOR",
417 "D3DBLEND_INVDESTCOLOR",
418 "D3DBLEND_SRCALPHASAT",
419 "D3DBLEND_BOTHSRCALPHA",
420 "D3DBLEND_BOTHINVSRCALPHA",
423 D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [
425 "D3DTBLEND_MODULATE",
426 "D3DTBLEND_DECALALPHA",
427 "D3DTBLEND_MODULATEALPHA",
428 "D3DTBLEND_DECALMASK",
429 "D3DTBLEND_MODULATEMASK",
434 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
436 "D3DTADDRESS_MIRROR",
438 "D3DTADDRESS_BORDER",
441 D3DCULL = Enum("D3DCULL", [
447 D3DCMPFUNC = Enum("D3DCMPFUNC", [
454 "D3DCMP_GREATEREQUAL",
458 D3DSTENCILOP = Enum("D3DSTENCILOP", [
461 "D3DSTENCILOP_REPLACE",
462 "D3DSTENCILOP_INCRSAT",
463 "D3DSTENCILOP_DECRSAT",
464 "D3DSTENCILOP_INVERT",
469 D3DFOGMODE = Enum("D3DFOGMODE", [
476 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
482 D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [
484 "D3DANTIALIAS_SORTDEPENDENT",
485 "D3DANTIALIAS_SORTINDEPENDENT",
488 D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [
494 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
498 "D3DPT_TRIANGLELIST",
499 "D3DPT_TRIANGLESTRIP",
503 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
504 "D3DTRANSFORMSTATE_WORLD",
505 "D3DTRANSFORMSTATE_VIEW",
506 "D3DTRANSFORMSTATE_PROJECTION",
507 "D3DTRANSFORMSTATE_WORLD1",
508 "D3DTRANSFORMSTATE_WORLD2",
509 "D3DTRANSFORMSTATE_WORLD3",
510 "D3DTRANSFORMSTATE_TEXTURE0",
511 "D3DTRANSFORMSTATE_TEXTURE1",
512 "D3DTRANSFORMSTATE_TEXTURE2",
513 "D3DTRANSFORMSTATE_TEXTURE3",
514 "D3DTRANSFORMSTATE_TEXTURE4",
515 "D3DTRANSFORMSTATE_TEXTURE5",
516 "D3DTRANSFORMSTATE_TEXTURE6",
517 "D3DTRANSFORMSTATE_TEXTURE7",
520 D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [
521 "D3DLIGHTSTATE_MATERIAL",
522 "D3DLIGHTSTATE_AMBIENT",
523 "D3DLIGHTSTATE_COLORMODEL",
524 "D3DLIGHTSTATE_FOGMODE",
525 "D3DLIGHTSTATE_FOGSTART",
526 "D3DLIGHTSTATE_FOGEND",
527 "D3DLIGHTSTATE_FOGDENSITY",
528 "D3DLIGHTSTATE_COLORVERTEX",
531 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
532 "D3DRENDERSTATE_ANTIALIAS",
533 "D3DRENDERSTATE_TEXTUREPERSPECTIVE",
534 "D3DRENDERSTATE_ZENABLE",
535 "D3DRENDERSTATE_FILLMODE",
536 "D3DRENDERSTATE_SHADEMODE",
537 "D3DRENDERSTATE_LINEPATTERN",
538 "D3DRENDERSTATE_ZWRITEENABLE",
539 "D3DRENDERSTATE_ALPHATESTENABLE",
540 "D3DRENDERSTATE_LASTPIXEL",
541 "D3DRENDERSTATE_SRCBLEND",
542 "D3DRENDERSTATE_DESTBLEND",
543 "D3DRENDERSTATE_CULLMODE",
544 "D3DRENDERSTATE_ZFUNC",
545 "D3DRENDERSTATE_ALPHAREF",
546 "D3DRENDERSTATE_ALPHAFUNC",
547 "D3DRENDERSTATE_DITHERENABLE",
548 "D3DRENDERSTATE_ALPHABLENDENABLE",
549 "D3DRENDERSTATE_FOGENABLE",
550 "D3DRENDERSTATE_SPECULARENABLE",
551 "D3DRENDERSTATE_ZVISIBLE",
552 "D3DRENDERSTATE_STIPPLEDALPHA",
553 "D3DRENDERSTATE_FOGCOLOR",
554 "D3DRENDERSTATE_FOGTABLEMODE",
555 "D3DRENDERSTATE_FOGSTART",
556 "D3DRENDERSTATE_FOGEND",
557 "D3DRENDERSTATE_FOGDENSITY",
558 "D3DRENDERSTATE_EDGEANTIALIAS",
559 "D3DRENDERSTATE_COLORKEYENABLE",
560 "D3DRENDERSTATE_ZBIAS",
561 "D3DRENDERSTATE_RANGEFOGENABLE",
562 "D3DRENDERSTATE_STENCILENABLE",
563 "D3DRENDERSTATE_STENCILFAIL",
564 "D3DRENDERSTATE_STENCILZFAIL",
565 "D3DRENDERSTATE_STENCILPASS",
566 "D3DRENDERSTATE_STENCILFUNC",
567 "D3DRENDERSTATE_STENCILREF",
568 "D3DRENDERSTATE_STENCILMASK",
569 "D3DRENDERSTATE_STENCILWRITEMASK",
570 "D3DRENDERSTATE_TEXTUREFACTOR",
571 "D3DRENDERSTATE_WRAP0",
572 "D3DRENDERSTATE_WRAP1",
573 "D3DRENDERSTATE_WRAP2",
574 "D3DRENDERSTATE_WRAP3",
575 "D3DRENDERSTATE_WRAP4",
576 "D3DRENDERSTATE_WRAP5",
577 "D3DRENDERSTATE_WRAP6",
578 "D3DRENDERSTATE_WRAP7",
579 "D3DRENDERSTATE_CLIPPING",
580 "D3DRENDERSTATE_LIGHTING",
581 "D3DRENDERSTATE_EXTENTS",
582 "D3DRENDERSTATE_AMBIENT",
583 "D3DRENDERSTATE_FOGVERTEXMODE",
584 "D3DRENDERSTATE_COLORVERTEX",
585 "D3DRENDERSTATE_LOCALVIEWER",
586 "D3DRENDERSTATE_NORMALIZENORMALS",
587 "D3DRENDERSTATE_COLORKEYBLENDENABLE",
588 "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE",
589 "D3DRENDERSTATE_SPECULARMATERIALSOURCE",
590 "D3DRENDERSTATE_AMBIENTMATERIALSOURCE",
591 "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE",
592 "D3DRENDERSTATE_VERTEXBLEND",
593 "D3DRENDERSTATE_CLIPPLANEENABLE",
594 "D3DRENDERSTATE_TEXTUREHANDLE",
595 "D3DRENDERSTATE_TEXTUREADDRESS",
596 "D3DRENDERSTATE_WRAPU",
597 "D3DRENDERSTATE_WRAPV",
598 "D3DRENDERSTATE_MONOENABLE",
599 "D3DRENDERSTATE_ROP2",
600 "D3DRENDERSTATE_PLANEMASK",
601 "D3DRENDERSTATE_TEXTUREMAG",
602 "D3DRENDERSTATE_TEXTUREMIN",
603 "D3DRENDERSTATE_TEXTUREMAPBLEND",
604 "D3DRENDERSTATE_SUBPIXEL",
605 "D3DRENDERSTATE_SUBPIXELX",
606 "D3DRENDERSTATE_STIPPLEENABLE",
607 "D3DRENDERSTATE_BORDERCOLOR",
608 "D3DRENDERSTATE_TEXTUREADDRESSU",
609 "D3DRENDERSTATE_TEXTUREADDRESSV",
610 "D3DRENDERSTATE_MIPMAPLODBIAS",
611 "D3DRENDERSTATE_ANISOTROPY",
612 "D3DRENDERSTATE_FLUSHBATCH",
613 "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT",
614 "D3DRENDERSTATE_STIPPLEPATTERN00",
615 "D3DRENDERSTATE_STIPPLEPATTERN01",
616 "D3DRENDERSTATE_STIPPLEPATTERN02",
617 "D3DRENDERSTATE_STIPPLEPATTERN03",
618 "D3DRENDERSTATE_STIPPLEPATTERN04",
619 "D3DRENDERSTATE_STIPPLEPATTERN05",
620 "D3DRENDERSTATE_STIPPLEPATTERN06",
621 "D3DRENDERSTATE_STIPPLEPATTERN07",
622 "D3DRENDERSTATE_STIPPLEPATTERN08",
623 "D3DRENDERSTATE_STIPPLEPATTERN09",
624 "D3DRENDERSTATE_STIPPLEPATTERN10",
625 "D3DRENDERSTATE_STIPPLEPATTERN11",
626 "D3DRENDERSTATE_STIPPLEPATTERN12",
627 "D3DRENDERSTATE_STIPPLEPATTERN13",
628 "D3DRENDERSTATE_STIPPLEPATTERN14",
629 "D3DRENDERSTATE_STIPPLEPATTERN15",
630 "D3DRENDERSTATE_STIPPLEPATTERN16",
631 "D3DRENDERSTATE_STIPPLEPATTERN17",
632 "D3DRENDERSTATE_STIPPLEPATTERN18",
633 "D3DRENDERSTATE_STIPPLEPATTERN19",
634 "D3DRENDERSTATE_STIPPLEPATTERN20",
635 "D3DRENDERSTATE_STIPPLEPATTERN21",
636 "D3DRENDERSTATE_STIPPLEPATTERN22",
637 "D3DRENDERSTATE_STIPPLEPATTERN23",
638 "D3DRENDERSTATE_STIPPLEPATTERN24",
639 "D3DRENDERSTATE_STIPPLEPATTERN25",
640 "D3DRENDERSTATE_STIPPLEPATTERN26",
641 "D3DRENDERSTATE_STIPPLEPATTERN27",
642 "D3DRENDERSTATE_STIPPLEPATTERN28",
643 "D3DRENDERSTATE_STIPPLEPATTERN29",
644 "D3DRENDERSTATE_STIPPLEPATTERN30",
645 "D3DRENDERSTATE_STIPPLEPATTERN31",
648 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
654 D3DWRAP = Flags(DWORD, [
663 D3DSTATE = Struct("D3DSTATE", [
664 (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"),
665 (D3DLIGHTSTATETYPE, "dlstLightStateType"),
666 (D3DRENDERSTATETYPE, "drstRenderStateType"),
667 (Array(DWORD, "1"), "dwArg"),
668 (Array(D3DVALUE, "1"), "dvArg"),
671 D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [
672 (D3DMATRIXHANDLE, "hDestMatrix"),
673 (D3DMATRIXHANDLE, "hSrcMatrix"),
676 D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [
677 (D3DMATRIXHANDLE, "hDestMatrix"),
678 (D3DMATRIXHANDLE, "hSrcMatrix1"),
679 (D3DMATRIXHANDLE, "hSrcMatrix2"),
682 D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [
687 (DWORD, "dwReserved"),
690 D3DPROCESSVERTICES = Flags(DWORD, [
691 "D3DPROCESSVERTICES_TRANSFORMLIGHT",
692 "D3DPROCESSVERTICES_TRANSFORM",
693 "D3DPROCESSVERTICES_COPY",
694 "D3DPROCESSVERTICES_OPMASK",
695 "D3DPROCESSVERTICES_UPDATEEXTENTS",
696 "D3DPROCESSVERTICES_NOCOLOR",
699 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
706 "D3DTSS_BUMPENVMAT00",
707 "D3DTSS_BUMPENVMAT01",
708 "D3DTSS_BUMPENVMAT10",
709 "D3DTSS_BUMPENVMAT11",
710 "D3DTSS_TEXCOORDINDEX",
714 "D3DTSS_BORDERCOLOR",
718 "D3DTSS_MIPMAPLODBIAS",
719 "D3DTSS_MAXMIPLEVEL",
720 "D3DTSS_MAXANISOTROPY",
721 "D3DTSS_BUMPENVLSCALE",
722 "D3DTSS_BUMPENVLOFFSET",
723 "D3DTSS_TEXTURETRANSFORMFLAGS",
726 D3DTSS_TCI = Flags(DWORD, [
727 "D3DTSS_TCI_PASSTHRU",
728 "D3DTSS_TCI_CAMERASPACENORMAL",
729 "D3DTSS_TCI_CAMERASPACEPOSITION",
730 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
733 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
742 "D3DTOP_ADDSIGNED2X",
745 "D3DTOP_BLENDDIFFUSEALPHA",
746 "D3DTOP_BLENDTEXTUREALPHA",
747 "D3DTOP_BLENDFACTORALPHA",
748 "D3DTOP_BLENDTEXTUREALPHAPM",
749 "D3DTOP_BLENDCURRENTALPHA",
750 "D3DTOP_PREMODULATE",
751 "D3DTOP_MODULATEALPHA_ADDCOLOR",
752 "D3DTOP_MODULATECOLOR_ADDALPHA",
753 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
754 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
756 "D3DTOP_BUMPENVMAPLUMINANCE",
757 "D3DTOP_DOTPRODUCT3",
760 D3DTA = Flags(DWORD, [
768 "D3DTA_ALPHAREPLICATE",
771 D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [
775 "D3DTFG_GAUSSIANCUBIC",
776 "D3DTFG_ANISOTROPIC",
779 D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [
782 "D3DTFN_ANISOTROPIC",
785 D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [
791 D3DTRIFLAG = Flags(DWORD, [
793 "D3DTRIFLAG_STARTFLAT(len)",
796 "D3DTRIFLAG_EDGEENABLETRIANGLE",
797 "D3DTRIFLAG_EDGEENABLE1",
798 "D3DTRIFLAG_EDGEENABLE2",
799 "D3DTRIFLAG_EDGEENABLE3",
802 D3DTRIANGLE = Struct("D3DTRIANGLE", [
809 D3DLINE = Struct("D3DLINE", [
814 D3DSPAN = Struct("D3DSPAN", [
819 D3DPOINT = Struct("D3DPOINT", [
824 D3DBRANCH = Struct("D3DBRANCH", [
831 D3DSTATUS = Struct("D3DSTATUS", [
834 (D3DRECT, "drExtent"),
837 D3DSETSTATUS = Flags(DWORD, [
838 "D3DSETSTATUS_STATUS",
839 "D3DSETSTATUS_EXTENTS",
843 D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [
853 LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS)
855 D3DCLIPSTATUS = Flags(DWORD, [
856 "D3DCLIPSTATUS_STATUS",
857 "D3DCLIPSTATUS_EXTENTS2",
858 "D3DCLIPSTATUS_EXTENTS3",
861 D3DSTATS = Struct("D3DSTATS", [
863 (DWORD, "dwTrianglesDrawn"),
864 (DWORD, "dwLinesDrawn"),
865 (DWORD, "dwPointsDrawn"),
866 (DWORD, "dwSpansDrawn"),
867 (DWORD, "dwVerticesProcessed"),
869 LPD3DSTATS = Pointer(D3DSTATS)
871 D3DEXECUTE = Flags(DWORD, [
872 "D3DEXECUTE_CLIPPED",
873 "D3DEXECUTE_UNCLIPPED",
876 D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [
878 (DWORD, "dwVertexOffset"),
879 (DWORD, "dwVertexCount"),
880 (DWORD, "dwInstructionOffset"),
881 (DWORD, "dwInstructionLength"),
882 (DWORD, "dwHVertexOffset"),
883 (D3DSTATUS, "dsStatus"),
885 LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA)
887 D3DPAL = Flags(DWORD, [
893 D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [
897 (DWORD, "dwNumVertices"),
899 LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC)
901 D3DVBCAPS = Flags(DWORD, [
902 "D3DVBCAPS_SYSTEMMEMORY",
903 "D3DVBCAPS_WRITEONLY",
904 "D3DVBCAPS_OPTIMIZED",
905 "D3DVBCAPS_DONOTCLIP",
908 D3DVOP = Flags(DWORD, [
915 D3DPV = Flags(DWORD, [
916 "D3DPV_DONOTCOPYDATA",
919 D3DFVF = Flags(DWORD, [
921 "D3DFVF_POSITION_MASK",
933 "D3DFVF_TEXCOUNT_MASK",
934 "D3DFVF_TEXCOUNT_SHIFT",
949 "D3DFVF_TEXCOORDSIZE1(0)",
950 "D3DFVF_TEXCOORDSIZE1(1)",
951 "D3DFVF_TEXCOORDSIZE2(0)",
952 "D3DFVF_TEXCOORDSIZE2(1)",
953 "D3DFVF_TEXCOORDSIZE3(0)",
954 "D3DFVF_TEXCOORDSIZE3(1)",
955 "D3DFVF_TEXCOORDSIZE4(0)",
956 "D3DFVF_TEXCOORDSIZE4(1)",
959 D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [
964 D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [
965 (D3DDP_PTRSTRIDE, "position"),
966 (D3DDP_PTRSTRIDE, "normal"),
967 (D3DDP_PTRSTRIDE, "diffuse"),
968 (D3DDP_PTRSTRIDE, "specular"),
969 (Array(D3DDP_PTRSTRIDE, "D3DDP_MAXTEXCOORD"), "textureCoords"),
971 LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA)
973 D3DVIS = Flags(DWORD, [
974 "D3DVIS_INSIDE_FRUSTUM",
975 "D3DVIS_INTERSECT_FRUSTUM",
976 "D3DVIS_OUTSIDE_FRUSTUM",
977 "D3DVIS_INSIDE_LEFT",
978 "D3DVIS_INTERSECT_LEFT",
979 "D3DVIS_OUTSIDE_LEFT",
980 "D3DVIS_INSIDE_RIGHT",
981 "D3DVIS_INTERSECT_RIGHT",
982 "D3DVIS_OUTSIDE_RIGHT",
984 "D3DVIS_INTERSECT_TOP",
985 "D3DVIS_OUTSIDE_TOP",
986 "D3DVIS_INSIDE_BOTTOM",
987 "D3DVIS_INTERSECT_BOTTOM",
988 "D3DVIS_OUTSIDE_BOTTOM",
989 "D3DVIS_INSIDE_NEAR",
990 "D3DVIS_INTERSECT_NEAR",
991 "D3DVIS_OUTSIDE_NEAR",
993 "D3DVIS_INTERSECT_FAR",
994 "D3DVIS_OUTSIDE_FAR",
995 "D3DVIS_MASK_FRUSTUM",
999 "D3DVIS_MASK_BOTTOM",
1004 D3DDEVINFOID = Flags(DWORD, [
1005 "D3DDEVINFOID_TEXTUREMANAGER",
1006 "D3DDEVINFOID_D3DTEXTUREMANAGER",
1007 "D3DDEVINFOID_TEXTURING",
1010 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
1012 "D3DSBT_PIXELSTATE",
1013 "D3DSBT_VERTEXSTATE",
1016 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
1017 "D3DVBLEND_DISABLE",
1018 "D3DVBLEND_1WEIGHT",
1019 "D3DVBLEND_2WEIGHTS",
1020 "D3DVBLEND_3WEIGHTS",
1023 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
1029 "D3DTTFF_PROJECTED",