(Float, "MaxZ"),
])
-D3DCLIP = Flags(DWORD, [
+D3DCLIPPLANE = Flags(DWORD, [
"D3DCLIPPLANE0",
"D3DCLIPPLANE1",
"D3DCLIPPLANE2",
"D3DTS_WORLD3",
])
-D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
- "D3DRS_ZENABLE",
- "D3DRS_FILLMODE",
- "D3DRS_SHADEMODE",
- "D3DRS_ZWRITEENABLE",
- "D3DRS_ALPHATESTENABLE",
- "D3DRS_LASTPIXEL",
- "D3DRS_SRCBLEND",
- "D3DRS_DESTBLEND",
- "D3DRS_CULLMODE",
- "D3DRS_ZFUNC",
- "D3DRS_ALPHAREF",
- "D3DRS_ALPHAFUNC",
- "D3DRS_DITHERENABLE",
- "D3DRS_ALPHABLENDENABLE",
- "D3DRS_FOGENABLE",
- "D3DRS_SPECULARENABLE",
- "D3DRS_FOGCOLOR",
- "D3DRS_FOGTABLEMODE",
- "D3DRS_FOGSTART",
- "D3DRS_FOGEND",
- "D3DRS_FOGDENSITY",
- "D3DRS_RANGEFOGENABLE",
- "D3DRS_STENCILENABLE",
- "D3DRS_STENCILFAIL",
- "D3DRS_STENCILZFAIL",
- "D3DRS_STENCILPASS",
- "D3DRS_STENCILFUNC",
- "D3DRS_STENCILREF",
- "D3DRS_STENCILMASK",
- "D3DRS_STENCILWRITEMASK",
- "D3DRS_TEXTUREFACTOR",
- "D3DRS_WRAP0",
- "D3DRS_WRAP1",
- "D3DRS_WRAP2",
- "D3DRS_WRAP3",
- "D3DRS_WRAP4",
- "D3DRS_WRAP5",
- "D3DRS_WRAP6",
- "D3DRS_WRAP7",
- "D3DRS_CLIPPING",
- "D3DRS_LIGHTING",
- "D3DRS_AMBIENT",
- "D3DRS_FOGVERTEXMODE",
- "D3DRS_COLORVERTEX",
- "D3DRS_LOCALVIEWER",
- "D3DRS_NORMALIZENORMALS",
- "D3DRS_DIFFUSEMATERIALSOURCE",
- "D3DRS_SPECULARMATERIALSOURCE",
- "D3DRS_AMBIENTMATERIALSOURCE",
- "D3DRS_EMISSIVEMATERIALSOURCE",
- "D3DRS_VERTEXBLEND",
- "D3DRS_CLIPPLANEENABLE",
- "D3DRS_POINTSIZE",
- "D3DRS_POINTSIZE_MIN",
- "D3DRS_POINTSPRITEENABLE",
- "D3DRS_POINTSCALEENABLE",
- "D3DRS_POINTSCALE_A",
- "D3DRS_POINTSCALE_B",
- "D3DRS_POINTSCALE_C",
- "D3DRS_MULTISAMPLEANTIALIAS",
- "D3DRS_MULTISAMPLEMASK",
- "D3DRS_PATCHEDGESTYLE",
- "D3DRS_DEBUGMONITORTOKEN",
- "D3DRS_POINTSIZE_MAX",
- "D3DRS_INDEXEDVERTEXBLENDENABLE",
- "D3DRS_COLORWRITEENABLE",
- "D3DRS_TWEENFACTOR",
- "D3DRS_BLENDOP",
- "D3DRS_POSITIONDEGREE",
- "D3DRS_NORMALDEGREE",
- "D3DRS_SCISSORTESTENABLE",
- "D3DRS_SLOPESCALEDEPTHBIAS",
- "D3DRS_ANTIALIASEDLINEENABLE",
- "D3DRS_MINTESSELLATIONLEVEL",
- "D3DRS_MAXTESSELLATIONLEVEL",
- "D3DRS_ADAPTIVETESS_X",
- "D3DRS_ADAPTIVETESS_Y",
- "D3DRS_ADAPTIVETESS_Z",
- "D3DRS_ADAPTIVETESS_W",
- "D3DRS_ENABLEADAPTIVETESSELLATION",
- "D3DRS_TWOSIDEDSTENCILMODE",
- "D3DRS_CCW_STENCILFAIL",
- "D3DRS_CCW_STENCILZFAIL",
- "D3DRS_CCW_STENCILPASS",
- "D3DRS_CCW_STENCILFUNC",
- "D3DRS_COLORWRITEENABLE1",
- "D3DRS_COLORWRITEENABLE2",
- "D3DRS_COLORWRITEENABLE3",
- "D3DRS_BLENDFACTOR",
- "D3DRS_SRGBWRITEENABLE",
- "D3DRS_DEPTHBIAS",
- "D3DRS_WRAP8",
- "D3DRS_WRAP9",
- "D3DRS_WRAP10",
- "D3DRS_WRAP11",
- "D3DRS_WRAP12",
- "D3DRS_WRAP13",
- "D3DRS_WRAP14",
- "D3DRS_WRAP15",
- "D3DRS_SEPARATEALPHABLENDENABLE",
- "D3DRS_SRCBLENDALPHA",
- "D3DRS_DESTBLENDALPHA",
- "D3DRS_BLENDOPALPHA",
-])
-
D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
"D3DMCS_MATERIAL",
"D3DMCS_COLOR1",
"D3DMCS_COLOR2",
])
-D3DWRAP = Flags(DWORD, [
- "D3DWRAP_U",
- "D3DWRAP_V",
- "D3DWRAP_W",
-])
-
D3DWRAPCOORD = Flags(DWORD, [
"D3DWRAPCOORD_0",
"D3DWRAPCOORD_1",
"D3DCOLORWRITEENABLE_ALPHA",
])
+D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
+ "D3DDEGREE_LINEAR",
+ "D3DDEGREE_QUADRATIC",
+ "D3DDEGREE_CUBIC",
+ "D3DDEGREE_QUINTIC",
+])
+
+D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
+ "D3DPATCHEDGE_DISCRETE",
+ "D3DPATCHEDGE_CONTINUOUS",
+])
+
+D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
+ "D3DVBF_DISABLE",
+ "D3DVBF_1WEIGHTS",
+ "D3DVBF_2WEIGHTS",
+ "D3DVBF_3WEIGHTS",
+ "D3DVBF_TWEENING",
+ "D3DVBF_0WEIGHTS",
+])
+
+D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
+ "D3DDMT_ENABLE",
+ "D3DDMT_DISABLE",
+])
+
+# TODO: Convert these to/from actual floats
+FLOAT_AS_DWORD = DWORD
+
+D3DRENDERSTATEVALUE = Polymorphic(DWORD, "State", [
+ ("D3DRS_ZENABLE", D3DZBUFFERTYPE),
+ ("D3DRS_FILLMODE", D3DFILLMODE),
+ ("D3DRS_SHADEMODE", D3DSHADEMODE),
+ ("D3DRS_ZWRITEENABLE", BOOL),
+ ("D3DRS_ALPHATESTENABLE", BOOL),
+ ("D3DRS_LASTPIXEL", BOOL),
+ ("D3DRS_SRCBLEND", D3DBLEND),
+ ("D3DRS_DESTBLEND", D3DBLEND),
+ ("D3DRS_CULLMODE", D3DCULL),
+ ("D3DRS_ZFUNC", D3DCMPFUNC),
+ ("D3DRS_ALPHAREF", DWORD),
+ ("D3DRS_ALPHAFUNC", D3DCMPFUNC),
+ ("D3DRS_DITHERENABLE", BOOL),
+ ("D3DRS_ALPHABLENDENABLE", BOOL),
+ ("D3DRS_FOGENABLE", BOOL),
+ ("D3DRS_SPECULARENABLE", BOOL),
+ ("D3DRS_FOGCOLOR", D3DCOLOR),
+ ("D3DRS_FOGTABLEMODE", D3DFOGMODE),
+ ("D3DRS_FOGSTART", FLOAT_AS_DWORD),
+ ("D3DRS_FOGEND", FLOAT_AS_DWORD),
+ ("D3DRS_FOGDENSITY", FLOAT_AS_DWORD),
+ ("D3DRS_RANGEFOGENABLE", BOOL),
+ ("D3DRS_STENCILENABLE", BOOL),
+ ("D3DRS_STENCILFAIL", D3DSTENCILOP),
+ ("D3DRS_STENCILZFAIL", D3DSTENCILOP),
+ ("D3DRS_STENCILPASS", D3DSTENCILOP),
+ ("D3DRS_STENCILFUNC", D3DCMPFUNC),
+ ("D3DRS_STENCILREF", DWORD),
+ ("D3DRS_STENCILMASK", DWORD),
+ ("D3DRS_STENCILWRITEMASK", DWORD),
+ ("D3DRS_TEXTUREFACTOR", D3DCOLOR),
+ ("D3DRS_WRAP0", D3DWRAPCOORD),
+ ("D3DRS_WRAP1", D3DWRAPCOORD),
+ ("D3DRS_WRAP2", D3DWRAPCOORD),
+ ("D3DRS_WRAP3", D3DWRAPCOORD),
+ ("D3DRS_WRAP4", D3DWRAPCOORD),
+ ("D3DRS_WRAP5", D3DWRAPCOORD),
+ ("D3DRS_WRAP6", D3DWRAPCOORD),
+ ("D3DRS_WRAP7", D3DWRAPCOORD),
+ ("D3DRS_CLIPPING", BOOL),
+ ("D3DRS_LIGHTING", BOOL),
+ ("D3DRS_AMBIENT", D3DCOLOR),
+ ("D3DRS_FOGVERTEXMODE", D3DFOGMODE),
+ ("D3DRS_COLORVERTEX", BOOL),
+ ("D3DRS_LOCALVIEWER", BOOL),
+ ("D3DRS_NORMALIZENORMALS", BOOL),
+ ("D3DRS_DIFFUSEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+ ("D3DRS_SPECULARMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+ ("D3DRS_AMBIENTMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+ ("D3DRS_EMISSIVEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+ ("D3DRS_VERTEXBLEND", D3DVERTEXBLENDFLAGS),
+ ("D3DRS_CLIPPLANEENABLE", D3DCLIPPLANE),
+ ("D3DRS_POINTSIZE", FLOAT_AS_DWORD),
+ ("D3DRS_POINTSIZE_MIN", FLOAT_AS_DWORD),
+ ("D3DRS_POINTSPRITEENABLE", BOOL),
+ ("D3DRS_POINTSCALEENABLE", BOOL),
+ ("D3DRS_POINTSCALE_A", FLOAT_AS_DWORD),
+ ("D3DRS_POINTSCALE_B", FLOAT_AS_DWORD),
+ ("D3DRS_POINTSCALE_C", FLOAT_AS_DWORD),
+ ("D3DRS_MULTISAMPLEANTIALIAS", BOOL),
+ ("D3DRS_MULTISAMPLEMASK", DWORD),
+ ("D3DRS_PATCHEDGESTYLE", D3DPATCHEDGESTYLE),
+ ("D3DRS_DEBUGMONITORTOKEN", D3DDEBUGMONITORTOKENS),
+ ("D3DRS_POINTSIZE_MAX", FLOAT_AS_DWORD),
+ ("D3DRS_INDEXEDVERTEXBLENDENABLE", BOOL),
+ ("D3DRS_COLORWRITEENABLE", DWORD),
+ ("D3DRS_TWEENFACTOR", FLOAT_AS_DWORD),
+ ("D3DRS_BLENDOP", D3DBLENDOP),
+ ("D3DRS_POSITIONDEGREE", D3DDEGREETYPE),
+ ("D3DRS_NORMALDEGREE", D3DDEGREETYPE),
+ ("D3DRS_SCISSORTESTENABLE", BOOL),
+ ("D3DRS_SLOPESCALEDEPTHBIAS", FLOAT_AS_DWORD),
+ ("D3DRS_ANTIALIASEDLINEENABLE", BOOL),
+ ("D3DRS_MINTESSELLATIONLEVEL", FLOAT_AS_DWORD),
+ ("D3DRS_MAXTESSELLATIONLEVEL", FLOAT_AS_DWORD),
+ ("D3DRS_ADAPTIVETESS_X", FLOAT_AS_DWORD),
+ ("D3DRS_ADAPTIVETESS_Y", FLOAT_AS_DWORD),
+ ("D3DRS_ADAPTIVETESS_Z", FLOAT_AS_DWORD),
+ ("D3DRS_ADAPTIVETESS_W", FLOAT_AS_DWORD),
+ ("D3DRS_ENABLEADAPTIVETESSELLATION", BOOL),
+ ("D3DRS_TWOSIDEDSTENCILMODE", BOOL),
+ ("D3DRS_CCW_STENCILFAIL", D3DSTENCILOP),
+ ("D3DRS_CCW_STENCILZFAIL", D3DSTENCILOP),
+ ("D3DRS_CCW_STENCILPASS", D3DSTENCILOP),
+ ("D3DRS_CCW_STENCILFUNC", D3DCMPFUNC),
+ ("D3DRS_COLORWRITEENABLE1", D3DCOLORWRITEENABLE),
+ ("D3DRS_COLORWRITEENABLE2", D3DCOLORWRITEENABLE),
+ ("D3DRS_COLORWRITEENABLE3", D3DCOLORWRITEENABLE),
+ ("D3DRS_BLENDFACTOR", D3DCOLOR),
+ ("D3DRS_SRGBWRITEENABLE", BOOL),
+ ("D3DRS_DEPTHBIAS", FLOAT_AS_DWORD),
+ ("D3DRS_WRAP8", D3DWRAPCOORD),
+ ("D3DRS_WRAP9", D3DWRAPCOORD),
+ ("D3DRS_WRAP10", D3DWRAPCOORD),
+ ("D3DRS_WRAP11", D3DWRAPCOORD),
+ ("D3DRS_WRAP12", D3DWRAPCOORD),
+ ("D3DRS_WRAP13", D3DWRAPCOORD),
+ ("D3DRS_WRAP14", D3DWRAPCOORD),
+ ("D3DRS_WRAP15", D3DWRAPCOORD),
+ ("D3DRS_SEPARATEALPHABLENDENABLE", BOOL),
+ ("D3DRS_SRCBLENDALPHA", D3DBLEND),
+ ("D3DRS_DESTBLENDALPHA", D3DBLEND),
+ ("D3DRS_BLENDOPALPHA", D3DBLENDOP),
+
+ # XXX: D3DRENDERSTATE_WRAPBIAS + n
+])
+
+D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE",
+ [expr for expr, types in D3DRENDERSTATEVALUE.switch_types]
+)
+
D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
"D3DTSS_COLOROP",
"D3DTSS_COLORARG1",
"D3DBASIS_CATMULL_ROM",
])
-D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
- "D3DDEGREE_LINEAR",
- "D3DDEGREE_QUADRATIC",
- "D3DDEGREE_CUBIC",
- "D3DDEGREE_QUINTIC",
-])
-
-D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
- "D3DPATCHEDGE_DISCRETE",
- "D3DPATCHEDGE_CONTINUOUS",
-])
-
D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
"D3DSBT_ALL",
"D3DSBT_PIXELSTATE",
"D3DSBT_VERTEXSTATE",
])
-D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
- "D3DVBF_DISABLE",
- "D3DVBF_1WEIGHTS",
- "D3DVBF_2WEIGHTS",
- "D3DVBF_3WEIGHTS",
- "D3DVBF_TWEENING",
- "D3DVBF_0WEIGHTS",
-])
-
D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
"D3DTTFF_DISABLE",
"D3DTTFF_COUNT1",
(UINT, "ScanLine"),
])
-D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
- "D3DDMT_ENABLE",
- "D3DDMT_DISABLE",
-])
-
D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
"D3DQUERYTYPE_VCACHE",
"D3DQUERYTYPE_RESOURCEMANAGER",