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 ##########################################################################/
32 LPD3DVALUE = Pointer(Float)
35 LPD3DVALIDATECALLBACK = LPVOID
36 LPD3DENUMTEXTUREFORMATSCALLBACK = LPVOID
37 LPD3DENUMPIXELFORMATSCALLBACK = LPVOID
40 LPD3DCOLOR = Pointer(D3DCOLOR)
42 D3DMATERIALHANDLE = DWORD
43 LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE)
45 D3DTEXTUREHANDLE = DWORD
46 LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE)
48 D3DMATRIXHANDLE = DWORD
49 LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE)
51 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
57 LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE)
59 D3DRECT = Struct("D3DRECT", [
65 LPD3DRECT = Pointer(D3DRECT)
67 D3DVECTOR = Struct("D3DVECTOR", [
72 LPD3DVECTOR = Pointer(D3DVECTOR)
74 D3DHVERTEX = Struct("D3DHVERTEX", [
80 LPD3DHVERTEX = Pointer(D3DHVERTEX)
82 D3DTLVERTEX = Struct("D3DTLVERTEX", [
88 (D3DCOLOR, "specular"),
92 LPD3DTLVERTEX = Pointer(D3DTLVERTEX)
94 D3DLVERTEX = Struct("D3DLVERTEX", [
98 (DWORD, "dwReserved"),
100 (D3DCOLOR, "specular"),
104 LPD3DLVERTEX = Pointer(D3DLVERTEX)
106 D3DVERTEX = Struct("D3DVERTEX", [
116 LPD3DVERTEX = Pointer(D3DVERTEX)
118 D3DMATRIX = Struct("D3DMATRIX", [
119 (D3DVALUE, "m[4][4]"),
121 LPD3DMATRIX = Pointer(D3DMATRIX)
123 D3DVIEWPORT = Struct("D3DVIEWPORT", [
129 (D3DVALUE, "dvScaleX"),
130 (D3DVALUE, "dvScaleY"),
131 (D3DVALUE, "dvMaxX"),
132 (D3DVALUE, "dvMaxY"),
133 (D3DVALUE, "dvMinZ"),
134 (D3DVALUE, "dvMaxZ"),
136 LPD3DVIEWPORT = Pointer(D3DVIEWPORT)
138 D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [
144 (D3DVALUE, "dvClipX"),
145 (D3DVALUE, "dvClipY"),
146 (D3DVALUE, "dvClipWidth"),
147 (D3DVALUE, "dvClipHeight"),
148 (D3DVALUE, "dvMinZ"),
149 (D3DVALUE, "dvMaxZ"),
151 LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2)
153 D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [
158 (D3DVALUE, "dvMinZ"),
159 (D3DVALUE, "dvMaxZ"),
161 LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7)
163 D3DCLIP = Flags(DWORD, [
178 D3DSTATUS = Flags(DWORD, [
180 "D3DSTATUS_CLIPUNIONALL",
181 "D3DSTATUS_CLIPUNIONLEFT",
182 "D3DSTATUS_CLIPUNIONRIGHT",
183 "D3DSTATUS_CLIPUNIONTOP",
184 "D3DSTATUS_CLIPUNIONBOTTOM",
185 "D3DSTATUS_CLIPUNIONFRONT",
186 "D3DSTATUS_CLIPUNIONBACK",
187 "D3DSTATUS_CLIPUNIONGEN0",
188 "D3DSTATUS_CLIPUNIONGEN1",
189 "D3DSTATUS_CLIPUNIONGEN2",
190 "D3DSTATUS_CLIPUNIONGEN3",
191 "D3DSTATUS_CLIPUNIONGEN4",
192 "D3DSTATUS_CLIPUNIONGEN5",
193 "D3DSTATUS_CLIPINTERSECTIONALL",
194 "D3DSTATUS_CLIPINTERSECTIONLEFT",
195 "D3DSTATUS_CLIPINTERSECTIONRIGHT",
196 "D3DSTATUS_CLIPINTERSECTIONTOP",
197 "D3DSTATUS_CLIPINTERSECTIONBOTTOM",
198 "D3DSTATUS_CLIPINTERSECTIONFRONT",
199 "D3DSTATUS_CLIPINTERSECTIONBACK",
200 "D3DSTATUS_CLIPINTERSECTIONGEN0",
201 "D3DSTATUS_CLIPINTERSECTIONGEN1",
202 "D3DSTATUS_CLIPINTERSECTIONGEN2",
203 "D3DSTATUS_CLIPINTERSECTIONGEN3",
204 "D3DSTATUS_CLIPINTERSECTIONGEN4",
205 "D3DSTATUS_CLIPINTERSECTIONGEN5",
206 "D3DSTATUS_ZNOTVISIBLE",
209 D3DTRANSFORM = Flags(DWORD, [
210 "D3DTRANSFORM_CLIPPED",
211 "D3DTRANSFORM_UNCLIPPED",
214 D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [
219 (DWORD, "dwOutSize"),
220 (LPD3DHVERTEX, "lpHOut"),
222 (DWORD, "dwClipIntersection"),
223 (DWORD, "dwClipUnion"),
224 (D3DRECT, "drExtent"),
226 LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA)
228 D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [
229 (D3DVECTOR, "dvPosition"),
230 (D3DVECTOR, "dvNormal"),
232 LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT)
234 D3DMATERIAL = Struct("D3DMATERIAL", [
236 (D3DCOLORVALUE, "diffuse"),
237 (D3DCOLORVALUE, "ambient"),
238 (D3DCOLORVALUE, "specular"),
239 (D3DCOLORVALUE, "emissive"),
241 (D3DTEXTUREHANDLE, "hTexture"),
242 (DWORD, "dwRampSize"),
244 LPD3DMATERIAL = Pointer(D3DMATERIAL)
246 D3DMATERIAL7 = Struct("D3DMATERIAL7", [
247 (D3DCOLORVALUE, "diffuse"),
248 (D3DCOLORVALUE, "ambient"),
249 (D3DCOLORVALUE, "specular"),
250 (D3DCOLORVALUE, "emissive"),
253 LPD3DMATERIAL7 = Pointer(D3DMATERIAL7)
255 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
258 "D3DLIGHT_DIRECTIONAL",
259 "D3DLIGHT_PARALLELPOINT",
263 D3DLIGHT = Struct("D3DLIGHT", [
265 (D3DLIGHTTYPE, "dltType"),
266 (D3DCOLORVALUE, "dcvColor"),
267 (D3DVECTOR, "dvPosition"),
268 (D3DVECTOR, "dvDirection"),
269 (D3DVALUE, "dvRange"),
270 (D3DVALUE, "dvFalloff"),
271 (D3DVALUE, "dvAttenuation0"),
272 (D3DVALUE, "dvAttenuation1"),
273 (D3DVALUE, "dvAttenuation2"),
274 (D3DVALUE, "dvTheta"),
277 LPD3DLIGHT = Pointer(D3DLIGHT)
279 D3DLIGHT7 = Struct("D3DLIGHT7", [
280 (D3DLIGHTTYPE, "dltType"),
281 (D3DCOLORVALUE, "dcvDiffuse"),
282 (D3DCOLORVALUE, "dcvSpecular"),
283 (D3DCOLORVALUE, "dcvAmbient"),
284 (D3DVECTOR, "dvPosition"),
285 (D3DVECTOR, "dvDirection"),
286 (D3DVALUE, "dvRange"),
287 (D3DVALUE, "dvFalloff"),
288 (D3DVALUE, "dvAttenuation0"),
289 (D3DVALUE, "dvAttenuation1"),
290 (D3DVALUE, "dvAttenuation2"),
291 (D3DVALUE, "dvTheta"),
294 LPD3DLIGHT7 = Pointer(D3DLIGHT7)
296 D3DLIGHTFLAGS = Flags(DWORD, [
298 "D3DLIGHT_NO_SPECULAR",
302 D3DLIGHT2 = Struct("D3DLIGHT2", [
304 (D3DLIGHTTYPE, "dltType"),
305 (D3DCOLORVALUE, "dcvColor"),
306 (D3DVECTOR, "dvPosition"),
307 (D3DVECTOR, "dvDirection"),
308 (D3DVALUE, "dvRange"),
309 (D3DVALUE, "dvFalloff"),
310 (D3DVALUE, "dvAttenuation0"),
311 (D3DVALUE, "dvAttenuation1"),
312 (D3DVALUE, "dvAttenuation2"),
313 (D3DVALUE, "dvTheta"),
317 LPD3DLIGHT2 = Pointer(D3DLIGHT2)
319 D3DLIGHTDATA = Struct("D3DLIGHTDATA", [
321 (LPD3DLIGHTINGELEMENT, "lpIn"),
323 (LPD3DTLVERTEX, "lpOut"),
324 (DWORD, "dwOutSize"),
326 LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA)
328 D3DCOLOR = Flags(DWORD, [
333 D3DCOLORMODEL = DWORD
335 D3DCLEAR = Flags(DWORD, [
341 D3DOPCODE = Enum("D3DOPCODE", [
346 "D3DOP_MATRIXMULTIPLY",
347 "D3DOP_STATETRANSFORM",
350 "D3DOP_PROCESSVERTICES",
353 "D3DOP_BRANCHFORWARD",
358 D3DINSTRUCTION = Struct("D3DINSTRUCTION", [
364 D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [
365 (D3DTEXTUREHANDLE, "hDestTexture"),
366 (D3DTEXTUREHANDLE, "hSrcTexture"),
369 D3DPICKRECORD = Struct("D3DPICKRECORD", [
375 LPD3DPICKRECORD = Pointer(D3DPICKRECORD)
377 D3DSHADEMODE = Enum("D3DSHADEMODE", [
383 D3DFILLMODE = Enum("D3DFILLMODE", [
389 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
390 (WORD, "wRepeatFactor"),
391 (WORD, "wLinePattern"),
394 D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [
397 "D3DFILTER_MIPNEAREST",
398 "D3DFILTER_MIPLINEAR",
399 "D3DFILTER_LINEARMIPNEAREST",
400 "D3DFILTER_LINEARMIPLINEAR",
403 D3DBLEND = Enum("D3DBLEND", [
407 "D3DBLEND_INVSRCCOLOR",
409 "D3DBLEND_INVSRCALPHA",
410 "D3DBLEND_DESTALPHA",
411 "D3DBLEND_INVDESTALPHA",
412 "D3DBLEND_DESTCOLOR",
413 "D3DBLEND_INVDESTCOLOR",
414 "D3DBLEND_SRCALPHASAT",
415 "D3DBLEND_BOTHSRCALPHA",
416 "D3DBLEND_BOTHINVSRCALPHA",
419 D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [
421 "D3DTBLEND_MODULATE",
422 "D3DTBLEND_DECALALPHA",
423 "D3DTBLEND_MODULATEALPHA",
424 "D3DTBLEND_DECALMASK",
425 "D3DTBLEND_MODULATEMASK",
430 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
432 "D3DTADDRESS_MIRROR",
434 "D3DTADDRESS_BORDER",
437 D3DCULL = Enum("D3DCULL", [
443 D3DCMPFUNC = Enum("D3DCMPFUNC", [
450 "D3DCMP_GREATEREQUAL",
454 D3DSTENCILOP = Enum("D3DSTENCILOP", [
457 "D3DSTENCILOP_REPLACE",
458 "D3DSTENCILOP_INCRSAT",
459 "D3DSTENCILOP_DECRSAT",
460 "D3DSTENCILOP_INVERT",
465 D3DFOGMODE = Enum("D3DFOGMODE", [
472 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
478 D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [
480 "D3DANTIALIAS_SORTDEPENDENT",
481 "D3DANTIALIAS_SORTINDEPENDENT",
484 D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [
490 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
494 "D3DPT_TRIANGLELIST",
495 "D3DPT_TRIANGLESTRIP",
499 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
500 "D3DTRANSFORMSTATE_WORLD",
501 "D3DTRANSFORMSTATE_VIEW",
502 "D3DTRANSFORMSTATE_PROJECTION",
503 "D3DTRANSFORMSTATE_WORLD1",
504 "D3DTRANSFORMSTATE_WORLD2",
505 "D3DTRANSFORMSTATE_WORLD3",
506 "D3DTRANSFORMSTATE_TEXTURE0",
507 "D3DTRANSFORMSTATE_TEXTURE1",
508 "D3DTRANSFORMSTATE_TEXTURE2",
509 "D3DTRANSFORMSTATE_TEXTURE3",
510 "D3DTRANSFORMSTATE_TEXTURE4",
511 "D3DTRANSFORMSTATE_TEXTURE5",
512 "D3DTRANSFORMSTATE_TEXTURE6",
513 "D3DTRANSFORMSTATE_TEXTURE7",
516 D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [
517 "D3DLIGHTSTATE_MATERIAL",
518 "D3DLIGHTSTATE_AMBIENT",
519 "D3DLIGHTSTATE_COLORMODEL",
520 "D3DLIGHTSTATE_FOGMODE",
521 "D3DLIGHTSTATE_FOGSTART",
522 "D3DLIGHTSTATE_FOGEND",
523 "D3DLIGHTSTATE_FOGDENSITY",
524 "D3DLIGHTSTATE_COLORVERTEX",
527 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
528 "D3DRENDERSTATE_ANTIALIAS",
529 "D3DRENDERSTATE_TEXTUREPERSPECTIVE",
530 "D3DRENDERSTATE_ZENABLE",
531 "D3DRENDERSTATE_FILLMODE",
532 "D3DRENDERSTATE_SHADEMODE",
533 "D3DRENDERSTATE_LINEPATTERN",
534 "D3DRENDERSTATE_ZWRITEENABLE",
535 "D3DRENDERSTATE_ALPHATESTENABLE",
536 "D3DRENDERSTATE_LASTPIXEL",
537 "D3DRENDERSTATE_SRCBLEND",
538 "D3DRENDERSTATE_DESTBLEND",
539 "D3DRENDERSTATE_CULLMODE",
540 "D3DRENDERSTATE_ZFUNC",
541 "D3DRENDERSTATE_ALPHAREF",
542 "D3DRENDERSTATE_ALPHAFUNC",
543 "D3DRENDERSTATE_DITHERENABLE",
544 "D3DRENDERSTATE_ALPHABLENDENABLE",
545 "D3DRENDERSTATE_FOGENABLE",
546 "D3DRENDERSTATE_SPECULARENABLE",
547 "D3DRENDERSTATE_ZVISIBLE",
548 "D3DRENDERSTATE_STIPPLEDALPHA",
549 "D3DRENDERSTATE_FOGCOLOR",
550 "D3DRENDERSTATE_FOGTABLEMODE",
551 "D3DRENDERSTATE_FOGSTART",
552 "D3DRENDERSTATE_FOGEND",
553 "D3DRENDERSTATE_FOGDENSITY",
554 "D3DRENDERSTATE_EDGEANTIALIAS",
555 "D3DRENDERSTATE_COLORKEYENABLE",
556 "D3DRENDERSTATE_ZBIAS",
557 "D3DRENDERSTATE_RANGEFOGENABLE",
558 "D3DRENDERSTATE_STENCILENABLE",
559 "D3DRENDERSTATE_STENCILFAIL",
560 "D3DRENDERSTATE_STENCILZFAIL",
561 "D3DRENDERSTATE_STENCILPASS",
562 "D3DRENDERSTATE_STENCILFUNC",
563 "D3DRENDERSTATE_STENCILREF",
564 "D3DRENDERSTATE_STENCILMASK",
565 "D3DRENDERSTATE_STENCILWRITEMASK",
566 "D3DRENDERSTATE_TEXTUREFACTOR",
567 "D3DRENDERSTATE_WRAP0",
568 "D3DRENDERSTATE_WRAP1",
569 "D3DRENDERSTATE_WRAP2",
570 "D3DRENDERSTATE_WRAP3",
571 "D3DRENDERSTATE_WRAP4",
572 "D3DRENDERSTATE_WRAP5",
573 "D3DRENDERSTATE_WRAP6",
574 "D3DRENDERSTATE_WRAP7",
575 "D3DRENDERSTATE_CLIPPING",
576 "D3DRENDERSTATE_LIGHTING",
577 "D3DRENDERSTATE_EXTENTS",
578 "D3DRENDERSTATE_AMBIENT",
579 "D3DRENDERSTATE_FOGVERTEXMODE",
580 "D3DRENDERSTATE_COLORVERTEX",
581 "D3DRENDERSTATE_LOCALVIEWER",
582 "D3DRENDERSTATE_NORMALIZENORMALS",
583 "D3DRENDERSTATE_COLORKEYBLENDENABLE",
584 "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE",
585 "D3DRENDERSTATE_SPECULARMATERIALSOURCE",
586 "D3DRENDERSTATE_AMBIENTMATERIALSOURCE",
587 "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE",
588 "D3DRENDERSTATE_VERTEXBLEND",
589 "D3DRENDERSTATE_CLIPPLANEENABLE",
590 "D3DRENDERSTATE_TEXTUREHANDLE",
591 "D3DRENDERSTATE_TEXTUREADDRESS",
592 "D3DRENDERSTATE_WRAPU",
593 "D3DRENDERSTATE_WRAPV",
594 "D3DRENDERSTATE_MONOENABLE",
595 "D3DRENDERSTATE_ROP2",
596 "D3DRENDERSTATE_PLANEMASK",
597 "D3DRENDERSTATE_TEXTUREMAG",
598 "D3DRENDERSTATE_TEXTUREMIN",
599 "D3DRENDERSTATE_TEXTUREMAPBLEND",
600 "D3DRENDERSTATE_SUBPIXEL",
601 "D3DRENDERSTATE_SUBPIXELX",
602 "D3DRENDERSTATE_STIPPLEENABLE",
603 "D3DRENDERSTATE_BORDERCOLOR",
604 "D3DRENDERSTATE_TEXTUREADDRESSU",
605 "D3DRENDERSTATE_TEXTUREADDRESSV",
606 "D3DRENDERSTATE_MIPMAPLODBIAS",
607 "D3DRENDERSTATE_ANISOTROPY",
608 "D3DRENDERSTATE_FLUSHBATCH",
609 "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT",
610 "D3DRENDERSTATE_STIPPLEPATTERN00",
611 "D3DRENDERSTATE_STIPPLEPATTERN01",
612 "D3DRENDERSTATE_STIPPLEPATTERN02",
613 "D3DRENDERSTATE_STIPPLEPATTERN03",
614 "D3DRENDERSTATE_STIPPLEPATTERN04",
615 "D3DRENDERSTATE_STIPPLEPATTERN05",
616 "D3DRENDERSTATE_STIPPLEPATTERN06",
617 "D3DRENDERSTATE_STIPPLEPATTERN07",
618 "D3DRENDERSTATE_STIPPLEPATTERN08",
619 "D3DRENDERSTATE_STIPPLEPATTERN09",
620 "D3DRENDERSTATE_STIPPLEPATTERN10",
621 "D3DRENDERSTATE_STIPPLEPATTERN11",
622 "D3DRENDERSTATE_STIPPLEPATTERN12",
623 "D3DRENDERSTATE_STIPPLEPATTERN13",
624 "D3DRENDERSTATE_STIPPLEPATTERN14",
625 "D3DRENDERSTATE_STIPPLEPATTERN15",
626 "D3DRENDERSTATE_STIPPLEPATTERN16",
627 "D3DRENDERSTATE_STIPPLEPATTERN17",
628 "D3DRENDERSTATE_STIPPLEPATTERN18",
629 "D3DRENDERSTATE_STIPPLEPATTERN19",
630 "D3DRENDERSTATE_STIPPLEPATTERN20",
631 "D3DRENDERSTATE_STIPPLEPATTERN21",
632 "D3DRENDERSTATE_STIPPLEPATTERN22",
633 "D3DRENDERSTATE_STIPPLEPATTERN23",
634 "D3DRENDERSTATE_STIPPLEPATTERN24",
635 "D3DRENDERSTATE_STIPPLEPATTERN25",
636 "D3DRENDERSTATE_STIPPLEPATTERN26",
637 "D3DRENDERSTATE_STIPPLEPATTERN27",
638 "D3DRENDERSTATE_STIPPLEPATTERN28",
639 "D3DRENDERSTATE_STIPPLEPATTERN29",
640 "D3DRENDERSTATE_STIPPLEPATTERN30",
641 "D3DRENDERSTATE_STIPPLEPATTERN31",
642 "D3DRENDERSTATE_FOGTABLESTART",
643 "D3DRENDERSTATE_FOGTABLEEND",
644 "D3DRENDERSTATE_FOGTABLEDENSITY",
647 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
653 D3DWRAP = Flags(DWORD, [
662 D3DSTATE = Struct("D3DSTATE", [
663 (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"),
664 (D3DLIGHTSTATETYPE, "dlstLightStateType"),
665 (D3DRENDERSTATETYPE, "drstRenderStateType"),
667 (D3DVALUE, "dvArg[1]"),
670 D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [
671 (D3DMATRIXHANDLE, "hDestMatrix"),
672 (D3DMATRIXHANDLE, "hSrcMatrix"),
675 D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [
676 (D3DMATRIXHANDLE, "hDestMatrix"),
677 (D3DMATRIXHANDLE, "hSrcMatrix1"),
678 (D3DMATRIXHANDLE, "hSrcMatrix2"),
681 D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [
686 (DWORD, "dwReserved"),
689 D3DPROCESSVERTICES = Flags(DWORD, [
690 "D3DPROCESSVERTICES_TRANSFORMLIGHT",
691 "D3DPROCESSVERTICES_TRANSFORM",
692 "D3DPROCESSVERTICES_COPY",
693 "D3DPROCESSVERTICES_OPMASK",
694 "D3DPROCESSVERTICES_UPDATEEXTENTS",
695 "D3DPROCESSVERTICES_NOCOLOR",
698 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
705 "D3DTSS_BUMPENVMAT00",
706 "D3DTSS_BUMPENVMAT01",
707 "D3DTSS_BUMPENVMAT10",
708 "D3DTSS_BUMPENVMAT11",
709 "D3DTSS_TEXCOORDINDEX",
713 "D3DTSS_BORDERCOLOR",
717 "D3DTSS_MIPMAPLODBIAS",
718 "D3DTSS_MAXMIPLEVEL",
719 "D3DTSS_MAXANISOTROPY",
720 "D3DTSS_BUMPENVLSCALE",
721 "D3DTSS_BUMPENVLOFFSET",
722 "D3DTSS_TEXTURETRANSFORMFLAGS",
725 D3DTSS_TCI = Flags(DWORD, [
726 "D3DTSS_TCI_PASSTHRU",
727 "D3DTSS_TCI_CAMERASPACENORMAL",
728 "D3DTSS_TCI_CAMERASPACEPOSITION",
729 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
732 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
741 "D3DTOP_ADDSIGNED2X",
744 "D3DTOP_BLENDDIFFUSEALPHA",
745 "D3DTOP_BLENDTEXTUREALPHA",
746 "D3DTOP_BLENDFACTORALPHA",
747 "D3DTOP_BLENDTEXTUREALPHAPM",
748 "D3DTOP_BLENDCURRENTALPHA",
749 "D3DTOP_PREMODULATE",
750 "D3DTOP_MODULATEALPHA_ADDCOLOR",
751 "D3DTOP_MODULATECOLOR_ADDALPHA",
752 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
753 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
755 "D3DTOP_BUMPENVMAPLUMINANCE",
756 "D3DTOP_DOTPRODUCT3",
759 D3DTA = Flags(DWORD, [
767 "D3DTA_ALPHAREPLICATE",
770 D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [
774 "D3DTFG_GAUSSIANCUBIC",
775 "D3DTFG_ANISOTROPIC",
778 D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [
781 "D3DTFN_ANISOTROPIC",
784 D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [
790 D3DTRIFLAG = Flags(DWORD, [
792 "D3DTRIFLAG_STARTFLAT(len)",
795 "D3DTRIFLAG_EDGEENABLETRIANGLE",
796 "D3DTRIFLAG_EDGEENABLE1",
797 "D3DTRIFLAG_EDGEENABLE2",
798 "D3DTRIFLAG_EDGEENABLE3",
801 D3DTRIANGLE = Struct("D3DTRIANGLE", [
808 D3DLINE = Struct("D3DLINE", [
813 D3DSPAN = Struct("D3DSPAN", [
818 D3DPOINT = Struct("D3DPOINT", [
823 D3DBRANCH = Struct("D3DBRANCH", [
830 D3DSTATUS = Struct("D3DSTATUS", [
833 (D3DRECT, "drExtent"),
836 D3DSETSTATUS = Flags(DWORD, [
837 "D3DSETSTATUS_STATUS",
838 "D3DSETSTATUS_EXTENTS",
842 D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [
852 LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS)
854 D3DCLIPSTATUS = Flags(DWORD, [
855 "D3DCLIPSTATUS_STATUS",
856 "D3DCLIPSTATUS_EXTENTS2",
857 "D3DCLIPSTATUS_EXTENTS3",
860 D3DSTATS = Struct("D3DSTATS", [
862 (DWORD, "dwTrianglesDrawn"),
863 (DWORD, "dwLinesDrawn"),
864 (DWORD, "dwPointsDrawn"),
865 (DWORD, "dwSpansDrawn"),
866 (DWORD, "dwVerticesProcessed"),
868 LPD3DSTATS = Pointer(D3DSTATS)
870 D3DEXECUTE = Flags(DWORD, [
871 "D3DEXECUTE_CLIPPED",
872 "D3DEXECUTE_UNCLIPPED",
875 D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [
877 (DWORD, "dwVertexOffset"),
878 (DWORD, "dwVertexCount"),
879 (DWORD, "dwInstructionOffset"),
880 (DWORD, "dwInstructionLength"),
881 (DWORD, "dwHVertexOffset"),
882 (D3DSTATUS, "dsStatus"),
884 LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA)
886 D3DPAL = Flags(DWORD, [
892 D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [
896 (DWORD, "dwNumVertices"),
898 LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC)
900 D3DVBCAPS = Flags(DWORD, [
901 "D3DVBCAPS_SYSTEMMEMORY",
902 "D3DVBCAPS_WRITEONLY",
903 "D3DVBCAPS_OPTIMIZED",
904 "D3DVBCAPS_DONOTCLIP",
907 D3DVOP = Flags(DWORD, [
914 D3DPV = Flags(DWORD, [
915 "D3DPV_DONOTCOPYDATA",
918 D3DFVF = Flags(DWORD, [
920 "D3DFVF_POSITION_MASK",
932 "D3DFVF_TEXCOUNT_MASK",
933 "D3DFVF_TEXCOUNT_SHIFT",
948 "D3DFVF_TEXCOORDSIZE1(0)",
949 "D3DFVF_TEXCOORDSIZE1(1)",
950 "D3DFVF_TEXCOORDSIZE2(0)",
951 "D3DFVF_TEXCOORDSIZE2(1)",
952 "D3DFVF_TEXCOORDSIZE3(0)",
953 "D3DFVF_TEXCOORDSIZE3(1)",
954 "D3DFVF_TEXCOORDSIZE4(0)",
955 "D3DFVF_TEXCOORDSIZE4(1)",
958 D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [
963 D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [
964 (D3DDP_PTRSTRIDE, "position"),
965 (D3DDP_PTRSTRIDE, "normal"),
966 (D3DDP_PTRSTRIDE, "diffuse"),
967 (D3DDP_PTRSTRIDE, "specular"),
968 (D3DDP_PTRSTRIDE, "textureCoords[D3DDP_MAXTEXCOORD]"),
970 LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA)
972 D3DVIS = Flags(DWORD, [
973 "D3DVIS_INSIDE_FRUSTUM",
974 "D3DVIS_INTERSECT_FRUSTUM",
975 "D3DVIS_OUTSIDE_FRUSTUM",
976 "D3DVIS_INSIDE_LEFT",
977 "D3DVIS_INTERSECT_LEFT",
978 "D3DVIS_OUTSIDE_LEFT",
979 "D3DVIS_INSIDE_RIGHT",
980 "D3DVIS_INTERSECT_RIGHT",
981 "D3DVIS_OUTSIDE_RIGHT",
983 "D3DVIS_INTERSECT_TOP",
984 "D3DVIS_OUTSIDE_TOP",
985 "D3DVIS_INSIDE_BOTTOM",
986 "D3DVIS_INTERSECT_BOTTOM",
987 "D3DVIS_OUTSIDE_BOTTOM",
988 "D3DVIS_INSIDE_NEAR",
989 "D3DVIS_INTERSECT_NEAR",
990 "D3DVIS_OUTSIDE_NEAR",
992 "D3DVIS_INTERSECT_FAR",
993 "D3DVIS_OUTSIDE_FAR",
994 "D3DVIS_MASK_FRUSTUM",
998 "D3DVIS_MASK_BOTTOM",
1003 D3DDEVINFOID = Flags(DWORD, [
1004 "D3DDEVINFOID_TEXTUREMANAGER",
1005 "D3DDEVINFOID_D3DTEXTUREMANAGER",
1006 "D3DDEVINFOID_TEXTURING",
1009 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
1011 "D3DSBT_PIXELSTATE",
1012 "D3DSBT_VERTEXSTATE",
1015 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
1016 "D3DVBLEND_DISABLE",
1017 "D3DVBLEND_1WEIGHT",
1018 "D3DVBLEND_2WEIGHTS",
1019 "D3DVBLEND_3WEIGHTS",
1022 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
1028 "D3DTTFF_PROJECTED",