#ifdef VB_ONLY #ifdef VB_ONLY #define D3DDEVICEINFO_TEXTURING_CDESC D3DDEVICEINFO_TEXTURING #define D3DDEVICEINFO_TEXTURE_MANAGER_CDESC D3DDEVICEINFO_TEXTURE_MANAGER #define D3DCAPS8_CDESC D3DCAPS8 #define D3DPRIMCAPS8_CDESC D3DPRIMCAPS8 #define D3DLINEPATTERN_CDESC D3DLINEPATTERN #define D3DRASTER_STATUS_CDESC D3DRASTER_STATUS #define D3DADAPTER_IDENTIFIER8_CDESC D3DADAPTER_IDENTIFIER8 #define D3DRANGE_CDESC D3DRANGE #define D3DLOCKED_BOX_CDESC D3DLOCKED_BOX #define D3DBOX_CDESC D3DBOX #define D3DLOCKED_RECT_CDESC D3DLOCKED_RECT #define D3DVOLUME_DESC_CDESC D3DVOLUME_DESC #define D3DSURFACE_DESC_CDESC D3DSURFACE_DESC #define D3DINDEXBUFFER_DESC_CDESC D3DINDEXBUFFER_DESC #define D3DVERTEXBUFFER_DESC_CDESC D3DVERTEXBUFFER_DESC #define D3DLIGHT8_CDESC D3DLIGHT8 #define D3DGAMMARAMP_CDESC D3DGAMMARAMP #define D3DPRESENT_PARAMETERS_CDESC D3DPRESENT_PARAMETERS #define D3DDISPLAYMODE_CDESC D3DDISPLAYMODE #define D3DVERTEX_CDESC D3DVERTEX #define D3DLVERTEX_CDESC D3DLVERTEX #define D3DTLVERTEX_CDESC D3DTLVERTEX #define D3DHVERTEX_CDESC D3DHVERTEX #define D3DRECT_CDESC D3DRECT #define D3DPOINT_CDESC D3DPOINT #define D3DRASTER_STATUS_CDESC D3DRASTER_STATUS #define D3DCLIPSTATUS8_CDESC D3DCLIPSTATUS8 //#define D3DCOLORVALUE_CDESC D3DCOLORVALUE #define D3DVERTEX2_CDESC D3DVERTEX2 #define D3DTLVERTEX2_CDESC D3DTLVERTEX2 #define D3DLVERTEX2_CDESC D3DLVERTEX2 #define D3DTRIPATCH_INFO_CDESC D3DTRIPATCH_INFO #define D3DRECTPATCH_INFO_CDESC D3DRECTPATCH_INFO //#define D3DCLIPPLANE_CDESC D3DCLIPPLANE #endif #ifdef C_ONLY //DEFINED in COMMON.IDL //DXGUID //RECT //D3DVECTOR #define CONST_D3DLIGHTTYPE LONG #define CONST_D3DSHADEMODE LONG #define CONST_D3DFILLMODE LONG #define CONST_D3DBLEND LONG #define CONST_D3DTEXTUREADDRESS LONG #define CONST_D3DCULL LONG #define CONST_D3DCMPFUNC LONG #define CONST_D3DSTENCILOP LONG #define CONST_D3DFOGMODE LONG #define CONST_D3DZBUFFERTYPE LONG #define CONST_D3DPRIMITIVETYPE LONG #define CONST_D3DTRANSFORMSTATETYPE LONG #define CONST_D3DRENDERSTATETYPE LONG #define CONST_D3DMATERIALCOLORSOURCE LONG #define CONST_D3DTEXTURESTAGESTATETYPE LONG #define CONST_D3DTEXTUREOP LONG #define CONST_D3DTEXTUREMAGFILTER LONG #define CONST_D3DTEXTUREMINFILTER LONG #define CONST_D3DTEXTUREMIPFILTER LONG #define CONST_D3DDEVICETYPE LONG #define CONST_D3DTYPE LONG #define CONST_D3DMULTISAMPLETYPE LONG #define CONST_D3DSWAPEFFECT LONG #define CONST_D3DPOOL LONG #define CONST_D3DFORMAT LONG #define CONST_D3DRESOURCETYPE LONG #endif #ifdef VB_ONLY #define IDirect3D8 Direct3D8 #define IDirect3DDevice8 Direct3DDevice8 #define IDirect3DResource8 Direct3DResource8 #define IDirect3DSwapChain8 Direct3DSwapChain8 #define IDirect3DBaseTexture8 Direct3DBaseTexture8 #define IDirect3DTexture8 Direct3DTexture8 #define IDirect3DVolumeTexture8 Direct3DVolumeTexture8 #define IDirect3DCubeTexture8 Direct3DCubeTexture8 #define IDirect3DVertexBuffer8 Direct3DVertexBuffer8 #define IDirect3DIndexBuffer8 Direct3DIndexBuffer8 #define IDirect3DSurface8 Direct3DSurface8 #define IDirect3DVolume8 Direct3DVolume8 #endif #undef DWORD #undef LPDWORD #undef BOOL #undef LPBOOL #undef UINT #define WORD SHORT #define DWORD LONG #define LPDWORD LONG* #define BOOL LONG #define LPBOOL LONG* #define UINT INT #define HWND LONG #define HANDLE LONG #define HDC LONG #define BYTE BYTE #define LPUINT INT* #define VOID void #define WINAPI _stdcall #define REFGUID DXGUID_CDESC* #define GUID DXGUID_CDESC #define LPVOID void* #define LPRECT RECT_CDESC* #define HMONITOR LONG #define THIS #define THIS_ #define D3DCOLOR LONG #define D3DMATERIALHANDLE LONG #define D3DTEXTUREHANDLE LONG #define D3DMATRIXHANDLE LONG #define D3DCOLORMODEL LONG #define D3DVALUE FLOAT #define LPDIRECT3D8 IDirect3D8 * #define LPDIRECTDRAWPALETTE LONG * #define LPDIRECT3DDEVICE8 IDirect3DDevice8* #define LPDIRECT3DSURFACE8 IDirect3DSurface8 * #define LPDIRECT3DBASETEXTURE8 IDirect3DBaseTexture8 * #define LPD3DVERTEXBUFFER8 IDirect3DVertexBuffer8 * #define LPD3DINDEXBUFFER8 IDirect3DIndexBuffer8 * #define LPDIRECT3DVERTEXBUFFER8 IDirect3DVertexBuffer8 * #define LPDIRECT3DINDEXBUFFER8 IDirect3DIndexBuffer8 * #define LPDIRECT3DVOLUME8 IDirect3DVolume8 * #define LPDIRECT3DTEXTURE8 IDirect3DTexture8 * #define LPDIRECT3DCUBETEXTURE8 IDirect3DCubeTexture8 * #define LPD3DRECT D3DRECT_CDESC * #define LPD3DMATRIX D3DMATRIX_CDESC * #define LPD3DVIEWPORT8 D3DVIEWPORT8_CDESC * #define LPD3DMATERIAL8 D3DMATERIAL8_CDESC * #define LPD3DLIGHT8 D3DLIGHT8_CDESC * #define LPD3DVECTOR D3DVECTOR_CDESC * #define LPD3D_BOX D3D_BOX_CDESC * #define LPD3DVALUE FLOAT * //BUGBUG #define LPD3DCLIPSTATUS8 D3DCLIPSTATUS8_CDESC * /************************************* Interface List **********************************************/ interface IDirect3D8; interface IDirect3DDevice8; interface IDirect3DBaseTexture8; interface IDirect3DTexture8; interface IDirect3DVolumeTexture8; interface IDirect3DCubeTexture8; interface ID3DVertexBuffer8; interface ID3DIndexBuffer8; interface IDirect3DSurface8; interface IDirect3DVolume8; interface IDirect3DVertexBuffer8; interface IDirect3DIndexBuffer8; interface IDirect3DSwapChain8; interface IDirect3DResource8; interface IDirect3DSwapChain8; #ifdef VB_ONLY /******************************************* ENUMS **********************************************/ //From D3D8Caps.h [helpcontext(83272)] typedef enum CONST_D3DPMISCCAPSFLAGS { D3DPMISCCAPS_MASKZ =0x00000002, D3DPMISCCAPS_LINEPATTERNREP =0x00000004, D3DPMISCCAPS_CULLNONE =0x00000010, D3DPMISCCAPS_CULLCW =0x00000020, D3DPMISCCAPS_CULLCCW =0x00000040, D3DPMISCCAPS_COLORWRITEENABLE =0x00000080, D3DPMISCCAPS_CLIPPLANESCALEDPOINTS =0x00000100, /* Device correctly clips scaled points to clip planes */ D3DPMISCCAPS_CLIPTLVERTS =0x00000200, /* device will clip post-transformed vertex primitives */ D3DPMISCCAPS_TSSARGTEMP =0x00000400, /* device supports D3DTA_TEMP for temporary register */ D3DPMISCCAPS_BLENDOP =0x00000800, /* device supports D3DRS_BLENDOP */ } CONST_D3DPMISCCAPSFLAGS; [helpcontext(83264)] typedef enum CONST_D3DLINECAPS { D3DLINECAPS_TEXTURE =0x00000001, D3DLINECAPS_ZTEST =0x00000002, D3DLINECAPS_BLEND =0x00000004, D3DLINECAPS_ALPHACMP =0x00000008, D3DLINECAPS_FOG =0x00000010, } CONST_D3DLINECAPS; /* D3DPRIMCAPS dwRasterCaps */ [helpcontext(83274)] typedef enum CONST_D3DPRASTERCAPSFLAGS { D3DPRASTERCAPS_DITHER =0x00000001, D3DPRASTERCAPS_ROP2 =0x00000002, D3DPRASTERCAPS_XOR =0x00000004, D3DPRASTERCAPS_PAT =0x00000008, D3DPRASTERCAPS_ZTEST =0x00000010, D3DPRASTERCAPS_FOGVERTEX =0x00000080, D3DPRASTERCAPS_FOGTABLE =0x00000100, D3DPRASTERCAPS_ANTIALIASEDGES =0x00001000, D3DPRASTERCAPS_MIPMAPLODBIAS =0x00002000, D3DPRASTERCAPS_ZBIAS =0x00004000, D3DPRASTERCAPS_ZBUFFERLESSHSR =0x00008000, D3DPRASTERCAPS_FOGRANGE =0x00010000, D3DPRASTERCAPS_ANISOTROPY =0x00020000, D3DPRASTERCAPS_WBUFFER =0x00040000, D3DPRASTERCAPS_WFOG =0x00100000, D3DPRASTERCAPS_ZFOG =0x00200000, D3DPRASTERCAPS_COLORPERSPECTIVE =0x00400000, /* Device iterates colors perspective correct */ D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE =0x00800000, } CONST_D3DPRASTERCAPSFLAGS ; /* D3DPRIMCAPS dwZCmpCaps, dwAlphaCmpCaps */ [helpcontext(83271)] typedef enum CONST_D3DPCMPCAPSFLAGS { D3DPCMPCAPS_NEVER = 0x00000001, D3DPCMPCAPS_LESS = 0x00000002, D3DPCMPCAPS_EQUAL = 0x00000004, D3DPCMPCAPS_LESSEQUAL = 0x00000008, D3DPCMPCAPS_GREATER = 0x00000010, D3DPCMPCAPS_NOTEQUAL = 0x00000020, D3DPCMPCAPS_GREATEREQUAL = 0x00000040, D3DPCMPCAPS_ALWAYS = 0x00000080, } CONST_D3DPCMPCAPSFLAGS; /* D3DPRIMCAPS dwSourceBlendCaps, dwDestBlendCaps */ [helpcontext(83269)] typedef enum CONST_D3DPBLENDCAPSFLAGS { D3DPBLENDCAPS_ZERO = 0x00000001, D3DPBLENDCAPS_ONE = 0x00000002, D3DPBLENDCAPS_SRCCOLOR = 0x00000004, D3DPBLENDCAPS_INVSRCCOLOR = 0x00000008, D3DPBLENDCAPS_SRCALPHA = 0x00000010, D3DPBLENDCAPS_INVSRCALPHA = 0x00000020, D3DPBLENDCAPS_DESTALPHA = 0x00000040, D3DPBLENDCAPS_INVDESTALPHA = 0x00000080, D3DPBLENDCAPS_DESTCOLOR = 0x00000100, D3DPBLENDCAPS_INVDESTCOLOR = 0x00000200, D3DPBLENDCAPS_SRCALPHASAT = 0x00000400, D3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800, D3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000, } CONST_D3DPBLENDCAPSFLAGS; /* D3DPRIMCAPS dwShadeCaps */ [helpcontext(83278)] typedef enum CONST_D3DPSHADECAPSFLAGS { D3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008, D3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200, D3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000, D3DPSHADECAPS_FOGGOURAUD = 0x00080000, } CONST_D3DPSHADECAPSFLAGS; /* D3DPRIMCAPS dwTextureCaps */ [helpcontext(83280)] typedef enum CONST_D3DPTEXTURECAPSFLAGS { D3DPTEXTURECAPS_PERSPECTIVE =0x00000001, /* Perspective-correct texturing is supported */ D3DPTEXTURECAPS_POW2 =0x00000002, /* Power-of-2 texture dimensions are required - applies to non-Cube/Volume textures only. */ D3DPTEXTURECAPS_ALPHA =0x00000004, /* Alpha in texture pixels is supported */ D3DPTEXTURECAPS_SQUAREONLY =0x00000020, /* Only square textures are supported */ D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE =0x00000040, /* Texture indices are not scaled by the texture size prior to interpolation */ D3DPTEXTURECAPS_ALPHAPALETTE =0x00000080, /* Device can draw alpha from texture palettes */ // Device can use non-POW2 textures if: // 1) D3DTEXTURE_ADDRESS is set to CLAMP for this texture's stage // 2) D3DRS_WRAP(N) is zero for this texture's coordinates // 3) mip mapping is not enabled (use magnification filter only) D3DPTEXTURECAPS_NONPOW2CONDITIONAL =0x00000100, D3DPTEXTURECAPS_PROJECTED =0x00000400, /* Device can do D3DTTFF_PROJECTED */ D3DPTEXTURECAPS_CUBEMAP =0x00000800, /* Device can do cubemap textures */ D3DPTEXTURECAPS_VOLUMEMAP =0x00002000, /* Device can do volume textures */ D3DPTEXTURECAPS_MIPMAP =0x00004000, /* Device can do mipmapped textures */ D3DPTEXTURECAPS_MIPVOLUMEMAP =0x00008000, /* Device can do mipmapped volume textures */ D3DPTEXTURECAPS_MIPCUBEMAP =0x00010000, /* Device can do mipmapped cube maps */ D3DPTEXTURECAPS_CUBEMAP_POW2 =0x00020000, /* Device requires that cubemaps be power-of-2 dimension */ D3DPTEXTURECAPS_VOLUMEMAP_POW2 =0x00040000, /* Device requires that volume maps be power-of-2 dimension */ } CONST_D3DPTEXTURECAPSFLAGS; /* D3DPRIMCAPS dwTextureFilterCaps */ [helpcontext(83281)] typedef enum CONST_D3DPTFILTERCAPSFLAGS { D3DPTFILTERCAPS_MINFPOINT =0x00000100, /* Min Filter */ D3DPTFILTERCAPS_MINFLINEAR =0x00000200, D3DPTFILTERCAPS_MINFANISOTROPIC =0x00000400, D3DPTFILTERCAPS_MIPFPOINT =0x00010000, /* Mip Filter */ D3DPTFILTERCAPS_MIPFLINEAR =0x00020000, D3DPTFILTERCAPS_MAGFPOINT =0x01000000, /* Mag Filter */ D3DPTFILTERCAPS_MAGFLINEAR =0x02000000, D3DPTFILTERCAPS_MAGFANISOTROPIC =0x04000000, D3DPTFILTERCAPS_MAGFAFLATCUBIC =0x08000000, D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC =0x10000000, } CONST_D3DPTFILTERCAPSFLAGS; /* D3DPRIMCAPS dwTextureBlendCaps */ [helpcontext(87060)] typedef enum CONST_D3DPTBLENDCAPSFLAGS { D3DPTBLENDCAPS_DECAL =0x00000001, D3DPTBLENDCAPS_MODULATE =0x00000002, D3DPTBLENDCAPS_DECALALPHA =0x00000004, D3DPTBLENDCAPS_MODULATEALPHA =0x00000008, D3DPTBLENDCAPS_DECALMASK =0x00000010, D3DPTBLENDCAPS_MODULATEMASK =0x00000020, D3DPTBLENDCAPS_COPY =0x00000040, D3DPTBLENDCAPS_ADD =0x00000080, } CONST_D3DPTBLENDCAPSFLAGS; /* D3DPRIMCAPS dwTextureAddressCaps */ [helpcontext(83279)] typedef enum CONST_D3DPTADDRESSCAPSFLAGS { D3DPTADDRESSCAPS_WRAP =0x00000001, D3DPTADDRESSCAPS_MIRROR =0x00000002, D3DPTADDRESSCAPS_CLAMP =0x00000004, D3DPTADDRESSCAPS_BORDER =0x00000008, D3DPTADDRESSCAPS_INDEPENDENTUV =0x00000010, D3DPTADDRESSCAPS_MIRRORONCE =0x00000020, } CONST_D3DPTADDRESSCAPSFLAGS; /* D3DDEVICEDESC dwStencilCaps */ [helpcontext(83889)] typedef enum CONST_D3DSTENCILCAPFLAGS { D3DSTENCILCAPS_KEEP =0x00000001, D3DSTENCILCAPS_ZERO =0x00000002, D3DSTENCILCAPS_REPLACE =0x00000004, D3DSTENCILCAPS_INCRSAT =0x00000008, D3DSTENCILCAPS_DECRSAT =0x00000010, D3DSTENCILCAPS_INVERT =0x00000020, D3DSTENCILCAPS_INCR =0x00000040, D3DSTENCILCAPS_DECR =0x00000080, } CONST_D3DSTENCILCAPFLAGS; /* D3DDEVICEDESC dwTextureOpCaps */ [helpcontext(83294)] typedef enum CONST_D3DTEXOPCAPSFLAGS { D3DTEXOPCAPS_DISABLE =0x00000001, D3DTEXOPCAPS_SELECTARG1 =0x00000002, D3DTEXOPCAPS_SELECTARG2 =0x00000004, D3DTEXOPCAPS_MODULATE =0x00000008, D3DTEXOPCAPS_MODULATE2X =0x00000010, D3DTEXOPCAPS_MODULATE4X =0x00000020, D3DTEXOPCAPS_ADD =0x00000040, D3DTEXOPCAPS_ADDSIGNED =0x00000080, D3DTEXOPCAPS_ADDSIGNED2X =0x00000100, D3DTEXOPCAPS_SUBTRACT =0x00000200, D3DTEXOPCAPS_ADDSMOOTH =0x00000400, D3DTEXOPCAPS_BLENDDIFFUSEALPHA =0x00000800, D3DTEXOPCAPS_BLENDTEXTUREALPHA =0x00001000, D3DTEXOPCAPS_BLENDFACTORALPHA =0x00002000, D3DTEXOPCAPS_BLENDTEXTUREALPHAPM =0x00004000, D3DTEXOPCAPS_BLENDCURRENTALPHA =0x00008000, D3DTEXOPCAPS_PREMODULATE =0x00010000, D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR =0x00020000, D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA =0x00040000, D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR =0x00080000, D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA =0x00100000, D3DTEXOPCAPS_BUMPENVMAP =0x00200000, D3DTEXOPCAPS_BUMPENVMAPLUMINANCE =0x00400000, D3DTEXOPCAPS_DOTPRODUCT3 =0x00800000, D3DTEXOPCAPS_MULTIPLYADD =0x01000000, D3DTEXOPCAPS_LERP =0x02000000, } CONST_D3DTEXOPCAPSFLAGS; /* D3DDEVICEDESC dwFVFCaps flags */ [helpcontext(83259)] typedef enum CONST_D3DFVFCAPSFLAGS { D3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffff, /* mask for texture coordinate count field */ D3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000, /* Device prefers that vertex elements not be stripped */ D3DFVFCAPS_PSIZE = 0x00100000, /* Device can receive point size */ } CONST_D3DFVFCAPSFLAGS; /* D3DCAPS8 dwCaps flags */ [helpcontext(83242)] typedef enum CONST_D3DCAPSFLAGS{ D3DCAPS_READ_SCANLINE = 0x00020000, } CONST_D3DCAPSFLAGS; /* D3DCAPS8 dwCaps2 flags */ [helpcontext(83241)] typedef enum CONST_D3DCAPS2FLAGS{ D3DCAPS2_NO2DDURING3DSCENE = 0x00000002, D3DCAPS2_FULLSCREENGAMMA = 0x00020000, D3DCAPS2_CANRENDERWINDOWED = 0x00080000, D3DCAPS2_CANCALIBRATEGAMMA = 0x00100000, D3DCAPS2_RESERVED = 0x02000000, } CONST_D3DCAPS2FLAGS; /* D3DCAPS8 flags */ [helpcontext(87061)] typedef enum CONST_D3DCAPS3FLAGS { //DDSVCAPS_STEREOSEQUENTIAL = 0x00000010, D3DCAPS3_RESERVED =0x8000001F } CONST_D3DCAPS3FLAGS; /* D3DCAPS8 Presentation Interval */ [helpcontext(83275)] typedef enum CONST_D3DPRESENT_INTERVAL_FLAGS{ D3DPRESENT_INTERVAL_DEFAULT = 0x00000000, D3DPRESENT_INTERVAL_ONE = 0x00000001, D3DPRESENT_INTERVAL_TWO = 0x00000002, D3DPRESENT_INTERVAL_THREE = 0x00000004, D3DPRESENT_INTERVAL_FOUR = 0x00000008, D3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000, } CONST_D3DPRESENT_INTERVAL_FLAGS; /* D3DCAPS8 CursorCaps */ [helpcontext(83252)] typedef enum CONST_D3DCURSORCAPSFLAGS { D3DCURSORCAPS_COLOR = 0x00000001, D3DCURSORCAPS_LOWRES = 0x00000002, } CONST_D3DCURSORCAPSFLAGS; /* D3DCAPS8 dwDevCaps flags */ [helpcontext(83253)] typedef enum CONST_D3DDEVCAPSFLAGS { D3DDEVCAPS_EXECUTESYSTEMMEMORY =0x00000010, /* Device can use execute buffers from system memory */ D3DDEVCAPS_EXECUTEVIDEOMEMORY =0x00000020, /* Device can use execute buffers from video memory */ D3DDEVCAPS_TLVERTEXSYSTEMMEMORY =0x00000040, /* Device can use TL buffers from system memory */ D3DDEVCAPS_TLVERTEXVIDEOMEMORY =0x00000080, /* Device can use TL buffers from video memory */ D3DDEVCAPS_TEXTURESYSTEMMEMORY =0x00000100, /* Device can texture from system memory */ D3DDEVCAPS_TEXTUREVIDEOMEMORY =0x00000200, /* Device can texture from device memory */ D3DDEVCAPS_DRAWPRIMTLVERTEX =0x00000400, /* Device can draw TLVERTEX primitives */ D3DDEVCAPS_CANRENDERAFTERFLIP =0x00000800, /* Device can render without waiting for flip to complete */ D3DDEVCAPS_TEXTURENONLOCALVIDMEM =0x00001000, /* Device can texture from nonlocal video memory */ D3DDEVCAPS_DRAWPRIMITIVES2 =0x00002000, /* Device can support DrawPrimitives2 */ D3DDEVCAPS_SEPARATETEXTUREMEMORIES =0x00004000, /* Device is texturing from separate memory pools */ D3DDEVCAPS_DRAWPRIMITIVES2EX =0x00008000, /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/ D3DDEVCAPS_HWTRANSFORMANDLIGHT =0x00010000, /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */ D3DDEVCAPS_CANBLTSYSTONONLOCAL =0x00020000, /* Device supports a Tex Blt from system memory to non-local vidmem */ D3DDEVCAPS_HWRASTERIZATION =0x00080000, /* Device has HW acceleration for rasterization */ D3DDEVCAPS_PUREDEVICE =0x00100000, /* Device supports D3DCREATE_PUREDEVICE */ D3DDEVCAPS_QUINTICRTPATCHES =0x00200000, /* Device supports quintic Beziers and BSplines */ D3DDEVCAPS_RTPATCHES =0x00400000, /* Device supports Rect and Tri patches */ D3DDEVCAPS_RTPATCHHANDLEZERO =0x00800000, /* Indicates that RT Patches may be drawn efficiently using handle 0 */ D3DDEVCAPS_NPATCHES =0x01000000, /* Device supports N-Patches */ } CONST_D3DDEVCAPSFLAGS; /* * These are the flags in the D3DCAPS8.dwVertexProcessingCaps field */ [helpcontext(83304)] typedef enum CONST_D3DVTXPCAPSFLAGS { /* device can do texgen */ D3DVTXPCAPS_TEXGEN =0x00000001, /* device can do IDirect3DDevice8 colormaterialsource ops */ D3DVTXPCAPS_MATERIALSOURCE7 =0x00000002, /* device can do directional lights */ D3DVTXPCAPS_DIRECTIONALLIGHTS =0x00000008, /* device can do positional lights (includes point and spot) */ D3DVTXPCAPS_POSITIONALLIGHTS =0x00000010, /* device can do local viewer */ D3DVTXPCAPS_LOCALVIEWER =0x00000020, /* device can do vertex tweening */ D3DVTXPCAPS_TWEENING =0x00000040, D3DVTXPCAPS_NO_VSDT_UBYTE4 =0x00000080, } CONST_D3DVTXPCAPSFLAGS; /******************************************* MORE ENUMS **********************************************/ //From D3DTYPES.h // These bits could be ORed together to use with D3DRS_CLIPPLANEENABLE // [helpcontext(83245)] typedef enum CONST_D3DCLIPPLANEFLAGS { D3DCLIPPLANE0 =1, D3DCLIPPLANE1 =2, D3DCLIPPLANE2 =4, D3DCLIPPLANE3 =8, D3DCLIPPLANE4 =16, D3DCLIPPLANE5 =32, } CONST_D3DCLIPPLANEFLAGS; [helpcontext(83244)] typedef enum CONST_D3DCLIPFLAGS { D3DCS_LEFT =0x00000001, D3DCS_RIGHT =0x00000002, D3DCS_TOP =0x00000004, D3DCS_BOTTOM =0x00000008, D3DCS_FRONT =0x00000010, D3DCS_BACK =0x00000020, D3DCS_PLANE0 =0x00000040, D3DCS_PLANE1 =0x00000080, D3DCS_PLANE2 =0x00000100, D3DCS_PLANE3 =0x00000200, D3DCS_PLANE4 =0x00000400, D3DCS_PLANE5 =0x00000800, D3DCS_ALL =0x00000FFF, } CONST_D3DCLIPFLAGS; [helpcontext(87063)] typedef enum CONST_D3DCSFLAGS { D3DCS_STATUS = 0x00000001, D3DCS_EXTENTS2 = 0x00000002, D3DCS_EXTENTS3 = 0x00000004, } CONST_D3DCSFLAGS ; [helpcontext(83263)] typedef enum CONST_D3DLIGHTTYPE { D3DLIGHT_POINT = 1, D3DLIGHT_SPOT = 2, D3DLIGHT_DIRECTIONAL = 3, [hidden] D3DLIGHT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DLIGHTTYPE; [helpcontext(83243)] typedef enum CONST_D3DCLEARFLAGS { D3DCLEAR_TARGET =0x00000001, /* Clear target surface */ D3DCLEAR_ZBUFFER =0x00000002, /* Clear target z buffer */ D3DCLEAR_STENCIL =0x00000004, /* Clear stencil planes */ [hidden] D3DCLEAR_FORCE_DWORD =0x7FFFFFFF, } CONST_D3DCLEARFLAGS; [helpcontext(83286)] typedef enum CONST_D3DSHADEMODE { D3DSHADE_FLAT = 1, D3DSHADE_GOURAUD = 2, D3DSHADE_PHONG = 3, [hidden] D3DSHADE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DSHADEMODE; [helpcontext(83256)] typedef enum CONST_D3DFILLMODE { D3DFILL_POINT = 1, D3DFILL_WIREFRAME = 2, D3DFILL_SOLID = 3, [hidden] D3DFILL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DFILLMODE; [helpcontext(83240)] typedef enum CONST_D3DBLEND { D3DBLEND_ZERO = 1, D3DBLEND_ONE = 2, D3DBLEND_SRCCOLOR = 3, D3DBLEND_INVSRCCOLOR = 4, D3DBLEND_SRCALPHA = 5, D3DBLEND_INVSRCALPHA = 6, D3DBLEND_DESTALPHA = 7, D3DBLEND_INVDESTALPHA = 8, D3DBLEND_DESTCOLOR = 9, D3DBLEND_INVDESTCOLOR = 10, D3DBLEND_SRCALPHASAT = 11, D3DBLEND_BOTHSRCALPHA = 12, D3DBLEND_BOTHINVSRCALPHA = 13, [hidden] D3DBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DBLEND; [helpcontext(83295)] typedef enum CONST_D3DTEXTUREADDRESS { D3DTADDRESS_WRAP = 1, D3DTADDRESS_MIRROR = 2, D3DTADDRESS_CLAMP = 3, D3DTADDRESS_BORDER = 4, D3DTADDRESS_MIRRORONCE = 5, [hidden] D3DTADDRESS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DTEXTUREADDRESS; [helpcontext(83251)] typedef enum CONST_D3DCULL { D3DCULL_NONE = 1, D3DCULL_CW = 2, D3DCULL_CCW = 3, [hidden] D3DCULL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DCULL; [helpcontext(83246)] typedef enum CONST_D3DCMPFUNC { D3DCMP_NEVER = 1, D3DCMP_LESS = 2, D3DCMP_EQUAL = 3, D3DCMP_LESSEQUAL = 4, D3DCMP_GREATER = 5, D3DCMP_NOTEQUAL = 6, D3DCMP_GREATEREQUAL = 7, D3DCMP_ALWAYS = 8, [hidden] D3DCMP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DCMPFUNC; [helpcontext(83290)] typedef enum CONST_D3DSTENCILOP { D3DSTENCILOP_KEEP = 1, D3DSTENCILOP_ZERO = 2, D3DSTENCILOP_REPLACE = 3, D3DSTENCILOP_INCRSAT = 4, D3DSTENCILOP_DECRSAT = 5, D3DSTENCILOP_INVERT = 6, D3DSTENCILOP_INCR = 7, D3DSTENCILOP_DECR = 8, [hidden] D3DSTENCILOP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DSTENCILOP; [helpcontext(83857)] typedef enum CONST_D3DFOGMODE { D3DFOG_NONE = 0, D3DFOG_EXP = 1, D3DFOG_EXP2 = 2, D3DFOG_LINEAR = 3, [hidden] D3DFOG_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DFOGMODE; [helpcontext(83307)] typedef enum CONST_D3DZBUFFERTYPE { D3DZB_FALSE = 0, D3DZB_TRUE = 1, // Z buffering D3DZB_USEW = 2, // W buffering [hidden] D3DZB_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DZBUFFERTYPE; // Primitives supported by draw-primitive API [helpcontext(83277)] typedef enum CONST_D3DPRIMITIVETYPE { D3DPT_POINTLIST = 1, D3DPT_LINELIST = 2, D3DPT_LINESTRIP = 3, D3DPT_TRIANGLELIST = 4, D3DPT_TRIANGLESTRIP = 5, D3DPT_TRIANGLEFAN = 6, [hidden] D3DPT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DPRIMITIVETYPE; [helpcontext(83300)] typedef enum CONST_D3DTRANSFORMSTATETYPE { D3DTS_WORLD = 256, D3DTS_VIEW = 2, D3DTS_PROJECTION = 3, D3DTS_WORLD1 = 257, // 2nd matrix to blend D3DTS_WORLD2 = 258, // 3rd matrix to blend D3DTS_WORLD3 = 259, // 4th matrix to blend D3DTS_TEXTURE0 = 16, D3DTS_TEXTURE1 = 17, D3DTS_TEXTURE2 = 18, D3DTS_TEXTURE3 = 19, D3DTS_TEXTURE4 = 20, D3DTS_TEXTURE5 = 21, D3DTS_TEXTURE6 = 22, D3DTS_TEXTURE7 = 23, [hidden] D3DTS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DTRANSFORMSTATETYPE; [helpcontext(83282)] typedef enum CONST_D3DRENDERSTATETYPE { D3DRS_ZENABLE = 7, /* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) */ D3DRS_FILLMODE = 8, /* D3DFILL_MODE */ D3DRS_SHADEMODE = 9, /* D3DSHADEMODE */ D3DRS_LINEPATTERN = 10, /* D3DLINEPATTERN */ D3DRS_ZWRITEENABLE = 14, /* TRUE to enable z writes */ D3DRS_ALPHATESTENABLE = 15, /* TRUE to enable alpha tests */ D3DRS_LASTPIXEL = 16, /* TRUE for last-pixel on lines */ D3DRS_SRCBLEND = 19, /* D3DBLEND */ D3DRS_DESTBLEND = 20, /* D3DBLEND */ D3DRS_CULLMODE = 22, /* D3DCULL */ D3DRS_ZFUNC = 23, /* D3DCMPFUNC */ D3DRS_ALPHAREF = 24, /* D3DFIXED */ D3DRS_ALPHAFUNC = 25, /* D3DCMPFUNC */ D3DRS_DITHERENABLE = 26, /* TRUE to enable dithering */ D3DRS_ALPHABLENDENABLE = 27, /* TRUE to enable alpha blending */ D3DRS_FOGENABLE = 28, /* TRUE to enable fog blending */ D3DRS_SPECULARENABLE = 29, /* TRUE to enable specular */ D3DRS_ZVISIBLE = 30, /* TRUE to enable z checking */ D3DRS_FOGCOLOR = 34, /* D3DCOLOR */ D3DRS_FOGTABLEMODE = 35, /* D3DFOGMODE */ D3DRS_FOGSTART = 36, /* Fog start (for both vertex and pixel fog) */ D3DRS_FOGEND = 37, /* Fog end */ D3DRS_FOGDENSITY = 38, /* Fog density */ D3DRS_EDGEANTIALIAS = 40, /* TRUE to enable edge antialiasing */ //D3DRS_COLORKEYENABLE = 41, /* TRUE to enable source colorkeyed textures */ D3DRS_ZBIAS = 47, /* LONG Z bias */ D3DRS_RANGEFOGENABLE = 48, /* Enables range-based fog */ D3DRS_STENCILENABLE = 52, /* BOOL enable/disable stenciling */ D3DRS_STENCILFAIL = 53, /* D3DSTENCILOP to do if stencil test fails */ D3DRS_STENCILZFAIL = 54, /* D3DSTENCILOP to do if stencil test passes and Z test fails */ D3DRS_STENCILPASS = 55, /* D3DSTENCILOP to do if both stencil and Z tests pass */ D3DRS_STENCILFUNC = 56, /* D3DCMPFUNC fn. Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true */ D3DRS_STENCILREF = 57, /* Reference value used in stencil test */ D3DRS_STENCILMASK = 58, /* Mask value used in stencil test */ D3DRS_STENCILWRITEMASK = 59, /* Write mask applied to values written to stencil buffer */ D3DRS_TEXTUREFACTOR = 60, /* D3DCOLOR used for multi-texture blend */ /* * 128 values [128, 255] are reserved for texture coordinate wrap flags. * These are constructed with the D3DWRAP_U and D3DWRAP_V macros. Using * a flags word preserves forward compatibility with texture coordinates * that are >2D. */ D3DRS_WRAP0 = 128, /* wrap for 1st texture coord. set */ D3DRS_WRAP1 = 129, /* wrap for 2nd texture coord. set */ D3DRS_WRAP2 = 130, /* wrap for 3rd texture coord. set */ D3DRS_WRAP3 = 131, /* wrap for 4th texture coord. set */ D3DRS_WRAP4 = 132, /* wrap for 5th texture coord. set */ D3DRS_WRAP5 = 133, /* wrap for 6th texture coord. set */ D3DRS_WRAP6 = 134, /* wrap for 7th texture coord. set */ D3DRS_WRAP7 = 135, /* wrap for 8th texture coord. set */ D3DRS_CLIPPING = 136, D3DRS_LIGHTING = 137, // D3DRS_EXTENTS = 138, D3DRS_AMBIENT = 139, D3DRS_FOGVERTEXMODE = 140, D3DRS_COLORVERTEX = 141, D3DRS_LOCALVIEWER = 142, D3DRS_NORMALIZENORMALS = 143, // D3DRS_COLORKEYBLENDENABLE = 144, D3DRS_DIFFUSEMATERIALSOURCE = 145, D3DRS_SPECULARMATERIALSOURCE = 146, D3DRS_AMBIENTMATERIALSOURCE = 147, D3DRS_EMISSIVEMATERIALSOURCE = 148, D3DRS_VERTEXBLEND = 151, D3DRS_CLIPPLANEENABLE = 152, D3DRS_SOFTWAREVERTEXPROCESSING = 153, D3DRS_POINTSIZE = 154, /* FLOAT point size */ D3DRS_POINTSIZE_MIN = 155, /* FLOAT point size min threshold */ D3DRS_POINTSPRITE_ENABLE = 156, /* BOOL point texture coord control */ D3DRS_POINTSCALE_ENABLE = 157, /* BOOL point size scale enable */ D3DRS_POINTSCALE_A = 158, /* FLOAT point attenuation A value */ D3DRS_POINTSCALE_B = 159, /* FLOAT point attenuation B value */ D3DRS_POINTSCALE_C = 160, /* FLOAT point attenuation C value */ D3DRS_MULTISAMPLE_ANTIALIAS = 161, // BOOL - set to do FSAA with multisample buffer D3DRS_MULTISAMPLE_MASK = 162, // DWORD - per-sample enable/disable D3DRS_PATCHEDGESTYLE = 163, // Sets whether patch edges will use FLOAT style tessellation D3DRS_PATCHSEGMENTS = 164, // Number of segments per edge when drawing patches D3DRS_DEBUGMONITORTOKEN = 165, D3DRS_POINT_SIZE_MAX = 166, D3DRS_INDEXVERTEXBLENDENABLE = 167, D3DRS_COLORWRITEENABLE = 168, D3DRS_TWEENFACTOR = 170, // FLOAT tween factor /? D3DRS_BLENDOP = 171, // D3DBLENDOP setting [hidden] D3DRS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DRENDERSTATETYPE; // Values for material source [helpcontext(83266)] typedef enum CONST_D3DMATERIALCOLORSOURCE { D3DMCS_MATERIAL = 0, // Color from material is used D3DMCS_COLOR1 = 1, // Diffuse vertex color is used D3DMCS_COLOR2 = 2, // Specular vertex color is used [hidden] D3DMCS_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum } CONST_D3DMATERIALCOLORSOURCE; // Values for material source [helpcontext(83247)] typedef enum CONST_D3DCOLORWRITEENABLEFLAGS { D3DCOLORWRITEENABLE_RED= 1, D3DCOLORWRITEENABLE_GREEN= 2, D3DCOLORWRITEENABLE_BLUE= 4, D3DCOLORWRITEENABLE_ALPHA= 8, } CONST_D3DCOLORWRITEENABLEFLAGS; [helpcontext(83305)] typedef enum CONST_D3DWRAPBIAS { D3DRENDERSTATE_WRAPBIAS = 128 } CONST_D3DWRAPBIAS; [helpcontext(83306)] typedef enum CONST_D3DWRAPFLAGS { D3DWRAP_U = 0x00000001, D3DWRAP_V = 0x00000002, D3DWRAP_W = 0x00000004, D3DWRAPCOORD_0 = 0x00000001, // same as D3DWRAP_U D3DWRAPCOORD_1 = 0x00000002, // same as D3DWRAP_V D3DWRAPCOORD_2 = 0x00000004, D3DWRAPCOORD_3 = 0x00000008, } CONST_D3DWRAPFLAGS; [helpcontext(83298)] typedef enum CONST_D3DTEXTURESTAGESTATETYPE { D3DTSS_COLOROP = 1, /* D3DTEXTUREOP - per-stage blending controls for color channels */ D3DTSS_COLORARG1 = 2, /* D3DTA_* (texture arg) */ D3DTSS_COLORARG2 = 3, /* D3DTA_* (texture arg) */ D3DTSS_ALPHAOP = 4, /* D3DTEXTUREOP - per-stage blending controls for alpha channel */ D3DTSS_ALPHAARG1 = 5, /* D3DTA_* (texture arg) */ D3DTSS_ALPHAARG2 = 6, /* D3DTA_* (texture arg) */ D3DTSS_BUMPENVMAT00 = 7, /* FLOAT (bump mapping matrix) */ D3DTSS_BUMPENVMAT01 = 8, /* FLOAT (bump mapping matrix) */ D3DTSS_BUMPENVMAT10 = 9, /* FLOAT (bump mapping matrix) */ D3DTSS_BUMPENVMAT11 = 10, /* FLOAT (bump mapping matrix) */ D3DTSS_TEXCOORDINDEX = 11, /* identifies which set of texture coordinates index this texture */ D3DTSS_ADDRESSU = 13, /* D3DTEXTUREADDRESS for U coordinate */ D3DTSS_ADDRESSV = 14, /* D3DTEXTUREADDRESS for V coordinate */ D3DTSS_BORDERCOLOR = 15, /* D3DCOLOR */ D3DTSS_MAGFILTER = 16, /* D3DTEXTUREFILTER filter to use for magnification */ D3DTSS_MINFILTER = 17, /* D3DTEXTUREFILTER filter to use for minification */ D3DTSS_MIPFILTER = 18, /* D3DTEXTUREFILTER filter to use between mipmaps during minification */ D3DTSS_MIPMAPLODBIAS = 19, /* FLOAT Mipmap LOD bias */ D3DTSS_MAXMIPLEVEL = 20, /* DWORD 0..(n-1) LOD index of largest map to use (0 == largest) */ D3DTSS_MAXANISOTROPY = 21, /* DWORD maximum anisotropy */ D3DTSS_BUMPENVLSCALE = 22, /* FLOAT scale for bump map luminance */ D3DTSS_BUMPENVLOFFSET = 23, /* FLOAT offset for bump map luminance */ D3DTSS_TEXTURETRANSFORMFLAGS = 24, /* D3DTEXTURETRANSFORMFLAGS controls texture transform */ D3DTSS_ADDRESSW = 25, /* D3DTEXTUREADDRESS for W coordinate */ D3DTSS_COLORARG0 = 26, /* D3DTA_* third arg for triadic ops */ D3DTSS_ALPHAARG0 = 27, /* D3DTA_* third arg for triadic ops */ D3DTSS_RESULTARG = 28, /* D3DTA_* arg for result (CURRENT or TEMP) */ [hidden] D3DTSS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DTEXTURESTAGESTATETYPE; [helpcontext(83301)] typedef enum CONST_D3DTSS_TCI_FLAGS { D3DTSS_TCI_PASSTHRU =0x00000000, D3DTSS_TCI_CAMERASPACENORMAL =0x00010000, D3DTSS_TCI_CAMERASPACEPOSITION =0x00020000, D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR =0x00030000, } CONST_D3DTSS_TCI_FLAGS ; [helpcontext(83297)] typedef enum CONST_D3DTEXTUREOP { // Control D3DTOP_DISABLE = 1, // disables stage D3DTOP_SELECTARG1 = 2, // the default D3DTOP_SELECTARG2 = 3, // Modulate D3DTOP_MODULATE = 4, // multiply args together D3DTOP_MODULATE2X = 5, // multiply and 1 bit D3DTOP_MODULATE4X = 6, // multiply and 2 bits // Add D3DTOP_ADD = 7, // add arguments together D3DTOP_ADDSIGNED = 8, // add with -0.5 bias D3DTOP_ADDSIGNED2X = 9, // as above but left 1 bit D3DTOP_SUBTRACT = 10, // Arg1 - Arg2, with no saturation D3DTOP_ADDSMOOTH = 11, // add 2 args, subtract product // Arg1 + Arg2 - Arg1*Arg2 // = Arg1 + (1-Arg1)*Arg2 // Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha) D3DTOP_BLENDDIFFUSEALPHA = 12, // iterated alpha D3DTOP_BLENDTEXTUREALPHA = 13, // texture alpha D3DTOP_BLENDFACTORALPHA = 14, // alpha from D3DRENDERSTATE_TEXTUREFACTOR // Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha) D3DTOP_BLENDTEXTUREALPHAPM = 15, // texture alpha D3DTOP_BLENDCURRENTALPHA = 16, // by alpha of current color // Specular mapping D3DTOP_PREMODULATE = 17, // modulate with next texture before use D3DTOP_MODULATEALPHA_ADDCOLOR = 18, // Arg1.RGB + Arg1.A*Arg2.RGB // COLOROP only D3DTOP_MODULATECOLOR_ADDALPHA = 19, // Arg1.RGB*Arg2.RGB + Arg1.A // COLOROP only D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, // (1-Arg1.A)*Arg2.RGB + Arg1.RGB // COLOROP only D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, // (1-Arg1.RGB)*Arg2.RGB + Arg1.A // COLOROP only // Bump mapping D3DTOP_BUMPENVMAP = 22, // per pixel env map perturbation D3DTOP_BUMPENVMAPLUMINANCE = 23, // with luminance channel // This can do either diffuse or specular bump mapping with correct input. // Performs the function (Arg1.R*Arg2.R + Arg1.G*Arg2.G + Arg1.B*Arg2.B) // where each component has been scaled and offset to make it signed. // The result is replicated into all four (including alpha) channels. // This is a valid COLOROP only. D3DTOP_DOTPRODUCT3 = 24, // Triadic ops D3DTOP_MULTIPLYADD = 25, // Arg0 + Arg1*Arg2 D3DTOP_LERP = 26, // (Arg0)*Arg1 + (1-Arg0)*Arg2 [hidden]D3DTOP_FORCE_DWORD = 0x7fffffff, } CONST_D3DTEXTUREOP; [helpcontext(83293)] typedef enum CONST_D3DTAFLAGS { D3DTA_SELECTMASK = 0x0000000f, // mask for arg selector D3DTA_DIFFUSE = 0x00000000, // select diffuse color D3DTA_CURRENT = 0x00000001, // select result of previous stage D3DTA_TEXTURE = 0x00000002, // select texture color D3DTA_TFACTOR = 0x00000003, // select RENDERSTATE_TEXTUREFACTOR D3DTA_SPECULAR = 0x00000004, // select specular color D3DTA_TEMP = 0x00000005, // select temporary register color (read/write) D3DTA_COMPLEMENT = 0x00000010, // take 1.0 - x D3DTA_ALPHAREPLICATE = 0x00000020, // replicate alpha to color components } CONST_D3DTAFLAGS; [helpcontext(83296)] typedef enum CONST_D3DTEXTUREFILTERTYPE { D3DTEXF_NONE = 0, D3DTEXF_POINT = 1, // nearest D3DTEXF_LINEAR = 2, // linear interpolation D3DTEXF_ANISOTROPIC = 3, // D3DTEXF_FLATCUBIC = 4, // cubic D3DTEXF_GAUSSIANCUBIC = 5, // different cubic kernel [hidden] D3DTFG_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum } CONST_D3DTEXTUREFILTERTYPE; // These flags are only for dx7 apps and are in dx7vb.dll // ///* Vertex Operations for ProcessVertices */ // [helpcontext(83065)] //typedef enum CONST_D3DVOPFLAGS { // D3DVOP_LIGHT = 0x0A00,// (1 << 10) // D3DVOP_TRANSFORM =2, // D3DVOP_CLIP =4, // D3DVOP_EXTENTS =8, //} CONST_D3DVOPFLAGS; //------------------------------------------------------------------- // Flexible vertex format bits // [helpcontext(83260)] typedef enum CONST_D3DFVFFLAGS { D3DFVF_VERTEX =0x112, D3DFVF_RESERVED0 =0x001, D3DFVF_POSITION_MASK =0x00E, D3DFVF_XYZ =0x002, D3DFVF_XYZRHW =0x004, D3DFVF_XYZB1 =0x006, D3DFVF_XYZB2 =0x008, D3DFVF_XYZB3 =0x00a, D3DFVF_XYZB4 =0x00c, D3DFVF_XYZB5 =0x00e, D3DFVF_NORMAL =0x010, D3DFVF_PSIZE =0x020, D3DFVF_DIFFUSE =0x040, D3DFVF_SPECULAR =0x080, D3DFVF_TEXCOUNT_MASK =0xf00, D3DFVF_TEXCOUNT_SHIFT =8, D3DFVF_TEX0 =0x000, D3DFVF_TEX1 =0x100, D3DFVF_TEX2 =0x200, D3DFVF_TEX3 =0x300, D3DFVF_TEX4 =0x400, D3DFVF_TEX5 =0x500, D3DFVF_TEX6 =0x600, D3DFVF_TEX7 =0x700, D3DFVF_TEX8 =0x800, D3DFVF_LASTBETA_UBYTE4 =0x1000, D3DFVF_RESERVED2 =0xE000, // 4 reserved bits } CONST_D3DFVFFLAGS; // High order surfaces // [helpcontext(83262)] typedef enum CONST_D3DBASISTYPE { D3DBASIS_BEZIER = 0, D3DBASIS_BSPLINE = 1, D3DBASIS_INTERPOLATE = 2, } CONST_D3DBASISTYPE; [helpcontext(83268)] typedef enum CONST_D3DORDERTYPE { D3DORDER_LINEAR = 1, D3DORDER_CUBIC = 3, D3DORDER_QUINTIC = 5, } CONST_D3DORDERTYPE; [helpcontext(83067)] typedef enum CONST_D3DPATCHEDGESTYLE { D3DPATCHEDGE_DISCRETE = 0, D3DPATCHEDGE_CONTINUOUS = 1, } CONST_D3DPATCHEDGESTYLE; // To be used with GetInfo() [helpcontext(83257)] typedef enum CONST_D3DDEVINFOIDFLAGS { D3DDEVINFOID_TEXTUREMANAGER =1, D3DDEVINFOID_D3DTEXTUREMANAGER =2, D3DDEVINFOID_TEXTURING =3, } CONST_D3DDEVINFOIDFLAGS; [helpcontext(83288)] typedef enum CONST_D3DSTATEBLOCKTYPE { D3DSBT_ALL = 1, // capture all state D3DSBT_PIXELSTATE = 2, // capture pixel state D3DSBT_VERTEXSTATE = 3, // capture vertex state [hidden] D3DSBT_FORCE_DWORD = 0xffffffff } CONST_D3DSTATEBLOCKTYPE; // The D3DVERTEXBLENDFLAGS type is used with D3DRS_VERTEXBLEND state. // [helpcontext(83303)] typedef enum CONST_D3DVERTEXBLENDFLAGS { D3DVBF_DISABLE = 0, // Disable vertex blending D3DVBF_1WEIGHT = 1, // blend between 2 matrices D3DVBF_2WEIGHTS = 2, // blend between 3 matrices D3DVBF = 3, // blend between 4 matrices D3DVBF_TWEENING = 255, // blending using D3DRS_TWEENFACTOR D3DVBF_0WEIGHT = 256, } CONST_D3DVERTEXBLENDFLAGS; [helpcontext(83299)] typedef enum CONST_D3DTEXTURETRANSFORMFLAGS { D3DTTFF_DISABLE = 0, // texture coordinates are passed directly D3DTTFF_COUNT1 = 1, // rasterizer should expect 1-D texture coords D3DTTFF_COUNT2 = 2, // rasterizer should expect 2-D texture coords D3DTTFF_COUNT3 = 3, // rasterizer should expect 3-D texture coords D3DTTFF_COUNT4 = 4, // rasterizer should expect 4-D texture coords D3DTTFF_PROJECTED = 256, // texcoords to be divided by COUNTth element [hidden] D3DTTFF_FORCE_DWORD = 0x7fffffff, } CONST_D3DTEXTURETRANSFORMFLAGS; // Macros to set texture coordinate format bits in the FVF id // //#define D3DFVF_TEXTUREFORMAT2 0 // Two floating point values //#define D3DFVF_TEXTUREFORMAT1 3 // One floating point value //#define D3DFVF_TEXTUREFORMAT3 1 // Three floating point values //#define D3DFVF_TEXTUREFORMAT4 2 // Four floating point values //#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16)) //#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2) //#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16)) //#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16)) [helpcontext(83261)] typedef enum CONST_D3DFVFTEXTUREFORMATS { D3DFVF_TEXTUREFORMAT2 = 0, // Two floating point values D3DFVF_TEXTUREFORMAT1 = 3, // One floating point value D3DFVF_TEXTUREFORMAT3 = 1, // Three floating point values D3DFVF_TEXTUREFORMAT4 = 2, // Four floating point values D3DFVF_TEXCOORDSIZE1_0 = 0x00030000, //3 << 16 D3DFVF_TEXCOORDSIZE1_1 = 0x000C0000, //3 << 18 D3DFVF_TEXCOORDSIZE1_2 = 0x00300000, //3 << 20 D3DFVF_TEXCOORDSIZE1_3 = 0x00C00000, //3 << 22 D3DFVF_TEXCOORDSIZE2_0 = 0, D3DFVF_TEXCOORDSIZE2_1 = 0, D3DFVF_TEXCOORDSIZE2_2 = 0, D3DFVF_TEXCOORDSIZE2_3 = 0, D3DFVF_TEXCOORDSIZE3_0 = 0x00010000, //1 << 16 D3DFVF_TEXCOORDSIZE3_1 = 0x00040000, //1 << 18 D3DFVF_TEXCOORDSIZE3_2 = 0x00100000, //1 << 20 D3DFVF_TEXCOORDSIZE3_3 = 0x00400000, //1 << 22 D3DFVF_TEXCOORDSIZE4_0 = 0x00020000, //2 << 16 D3DFVF_TEXCOORDSIZE4_1 = 0x00080000, //2 << 18 D3DFVF_TEXCOORDSIZE4_2 = 0x00200000, //2 << 20 D3DFVF_TEXCOORDSIZE4_3 = 0x00800000, //2 << 22 } CONST_D3DFVFTEXTUREFORMATS; /* Direct3D8 Device types */ [helpcontext(83254)] typedef enum CONST_D3DDEVTYPE { D3DDEVTYPE_HAL = 1, D3DDEVTYPE_REF = 2, D3DDEVTYPE_SW = 3, [hidden] D3DDEVTYPE_FORCE_DWORD = 0x7fffffff } CONST_D3DDEVTYPE; /* Multi-Sample buffer types */ [helpcontext(83267)] typedef enum CONST_D3DMULTISAMPLE_TYPE { D3DMULTISAMPLE_NONE = 0, D3DMULTISAMPLE_2_SAMPLES = 2, D3DMULTISAMPLE_3_SAMPLES = 3, D3DMULTISAMPLE_4_SAMPLES = 4, D3DMULTISAMPLE_5_SAMPLES = 5, D3DMULTISAMPLE_6_SAMPLES = 6, D3DMULTISAMPLE_7_SAMPLES = 7, D3DMULTISAMPLE_8_SAMPLES = 8, D3DMULTISAMPLE_9_SAMPLES = 9, D3DMULTISAMPLE_10_SAMPLES = 10, D3DMULTISAMPLE_11_SAMPLES = 11, D3DMULTISAMPLE_12_SAMPLES = 12, D3DMULTISAMPLE_13_SAMPLES = 13, D3DMULTISAMPLE_14_SAMPLES = 14, D3DMULTISAMPLE_15_SAMPLES = 15, D3DMULTISAMPLE_16_SAMPLES = 16, [hidden] D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff } CONST_D3DMULTISAMPLE_TYPE; /* Pool types */ [helpcontext(83068)] typedef enum CONST_D3D_POOL { D3D_POOL_LOCALVIDMEM = 1, D3D_POOL_NONLOCALVIDMEM = 2, D3D_POOL_SYSTEMMEM = 3, D3D_POOL_USERALLOCATED = 4, D3D_POOL_D3DMANAGED = 5, D3D_POOL_MANAGED = 6, D3D_POOL_FORCE_DWORD = 0xffffffff } CONST_D3D_POOL; /* Formats * Most of these names have the following convention: * A = Alpha * R = Red * G = Green * B = Blue * X = Unused Bits * P = Palette * L = Luminance * U = dU coordinate for BumpMap * V = dV coordinate for BumpMap * S = Stencil * Z = Depth (e.g. Z or W buffer) * * Further, the order of the pieces are from MSB first; hence * D3DFMT_A8L8 indicates that the high byte of this two byte * format is alpha. * * For opaque formats (i.e. _UNKNOWN_), the following are used * A = Alpha i.e. minimum number of bits per alpha channel * C = Color i.e. minimum number of bits per color channel. * S = Stencil i.e. minimum number of bit for stencil channel * D = Integer Depth i.e. minimum number of bits for depth channel using an integer value * F = Floating-point Depth i.e. minimum number of bits for depth channel using a floating point value * * _UNKNOWN_ formats do not indicate bit ordering per pixel and * are not lockable formats. Also the actual number of bits per * channel may be larger than that asked for. */ [helpcontext(83258)] typedef enum CONST_D3DFORMAT { D3DFMT_UNKNOWN = 0, D3DFMT_R8G8B8 = 20, D3DFMT_A8R8G8B8 = 21, D3DFMT_X8R8G8B8 = 22, D3DFMT_R5G6B5 = 23, D3DFMT_X1R5G5B5 = 24, D3DFMT_A1R5G5B5 = 25, D3DFMT_A4R4G4B4 = 26, D3DFMT_R3G3B2 = 27, D3DFMT_A8 = 28, D3DFMT_A8R3G3B2 = 29, D3DFMT_X4R4G4B4 = 30, D3DFMT_A8P8 = 40, D3DFMT_P8 = 41, D3DFMT_L8 = 50, D3DFMT_A8L8 = 51, D3DFMT_A4L4 = 52, D3DFMT_V8U8 = 60, D3DFMT_L6V5U5 = 61, D3DFMT_X8L8V8U8 = 62, D3DFMT_Q8W8V8U8 = 63, D3DFMT_V16U16 = 64, D3DFMT_W11V11U10 = 65, D3DFMT_UYVY = 0x59565955, //MAKEFOURCC('U', 'Y', 'V', 'Y') D3DFMT_YUY2 = 0x32595559, //MAKEFOURCC('Y', 'U', 'Y', '2'), D3DFMT_DXT1 = 0x31545844, //MAKEFOURCC('D', 'X', 'T', '1'), D3DFMT_DXT2 = 0x32545844, //MAKEFOURCC('D', 'X', 'T', '2'), D3DFMT_DXT3 = 0x33545844, //MAKEFOURCC('D', 'X', 'T', '3'), D3DFMT_DXT4 = 0x34545844, //MAKEFOURCC('D', 'X', 'T', '4'), D3DFMT_DXT5 = 0x35545844, //MAKEFOURCC('D', 'X', 'T', '5'), D3DFMT_D16_LOCKABLE = 70, D3DFMT_D32 = 71, D3DFMT_D15S1 = 73, D3DFMT_D24S8 = 75, D3DFMT_D24X8 = 77, D3DFMT_D24X4S4 = 79, D3DFMT_D16 = 80, D3DFMT_VERTEXDATA =100, D3DFMT_INDEX16 =101, D3DFMT_INDEX32 =102, [hidden] D3DFMT_FORCE_DWORD =0x7FFFFFFF } CONST_D3DFORMAT; /* SwapEffects */ [helpcontext(83292)] typedef enum CONST_D3DSWAPEFFECT { D3DSWAPEFFECT_DISCARD = 1, D3DSWAPEFFECT_FLIP = 2, D3DSWAPEFFECT_COPY = 3, D3DSWAPEFFECT_COPY_VSYNC = 4, D3DSWAPEFFECT_FORCE_DWORD = 0x7FFFFFFF } CONST_D3DSWAPEFFECT; /* Pool types */ [helpcontext(83273)] typedef enum CONST_D3DPOOL { D3DPOOL_DEFAULT = 0, D3DPOOL_MANAGED = 1, D3DPOOL_SYSTEMMEM = 2, [hidden] D3DPOOL_FORCE_DWORD = 0x7fffffff } CONST_D3DPOOL; [helpcontext(83239)] typedef enum CONST_D3DBACKBUFFERTYPE { D3DBACKBUFFER_TYPE_MONO = 0, D3DBACKBUFFER_TYPE_LEFT = 1, D3DBACKBUFFER_TYPE_RIGHT = 2, [hidden] D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff } CONST_D3DBACKBUFFERTYPE; [helpcontext(83276)] typedef enum CONST_D3DPRESENT_RATE_FLAGS { /* RefreshRate pre-defines */ D3DPRESENT_RATE_DEFAULT = 0x00000000, D3DPRESENT_RATE_UNLIMITED = 0x7FFFFFFF, } CONST_D3DPRESENT_RATE_FLAGS ; /* Types */ [helpcontext(83283)] typedef enum CONST_D3DRESOURCETYPE { D3DRTYPE_SURFACE = 1, D3DRTYPE_VOLUME = 2, D3DRTYPE_TEXTURE = 3, D3DRTYPE_VOLUMETEXTURE = 4, D3DRTYPE_CUBETEXTURE = 5, D3DRTYPE_VERTEXBUFFER = 6, D3DRTYPE_INDEXBUFFER = 7, [hidden] D3DRTYPE_FORCE_DWORD = 0x7fffffff } CONST_D3DRESOURCETYPE; /* Usages */ [helpcontext(83302)] typedef enum CONST_D3DUSAGEFLAGS { D3DUSAGE_RENDERTARGET = 1, D3DUSAGE_DEPTHSTENCIL = 2, /* Usages for Vertex/Index buffers */ D3DUSAGE_WRITEONLY = 8, D3DUSAGE_SOFTWAREPROCESSING= 0x10, D3DUSAGE_DONOTCLIP = 0x20, D3DUSAGE_POINTS = 0x40, D3DUSAGE_RTPATCHES = 0x80, D3DUSAGE_NPATCHES = 0x0100, D3DUSAGE_DYNAMIC = 0x0200, [hidden]D3DUSAGE_FORCE_DWORD = 0x7FFFFFFF, } CONST_D3DUSAGEFLAGS; /* CubeMap Face identifiers */ [helpcontext(83250)] typedef enum CONST_D3DCUBEMAP_FACES { D3DCUBEMAP_FACE_POSITIVE_X = 0, D3DCUBEMAP_FACE_NEGATIVE_X = 1, D3DCUBEMAP_FACE_POSITIVE_Y = 2, D3DCUBEMAP_FACE_NEGATIVE_Y = 3, D3DCUBEMAP_FACE_POSITIVE_Z = 4, D3DCUBEMAP_FACE_NEGATIVE_Z = 5, [hidden] D3DCUBEMAP_FACE_FORCE_DWORD = 0x7fffffff } CONST_D3DCUBEMAP_FACES; [helpcontext(83265)] typedef enum CONST_D3DLOCKFLAGS { /* Lock flags */ D3DLOCK_READONLY = 0x00000010, D3DLOCK_DISCARD = 0x00002000, D3DLOCK_NOOVERWRITE = 0x00001000, D3DLOCK_NOSYSLOCK = 0x00000800, D3DLOCK_NO_DIRTY_UPDATE = 0x00008000, } CONST_D3DLOCKFLAGS; /*********************************************************************/ //#define _FACDD 0x876 //#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code ) [helpcontext(83255)] typedef enum CONST_D3DERR { D3DERR_WRONGTEXTUREFORMAT =0x88760818, //MAKE_DDHRESULT(2072) D3DERR_UNSUPPORTEDCOLOROPERATION =0x88760819, //MAKE_DDHRESULT(2073) D3DERR_UNSUPPORTEDCOLORARG =0x8876081A, //MAKE_DDHRESULT(2074) D3DERR_UNSUPPORTEDALPHAOPERATION =0x8876081B, //MAKE_DDHRESULT(2075) D3DERR_UNSUPPORTEDALPHAARG =0x8876081C, //MAKE_DDHRESULT(2076) D3DERR_TOOMANYOPERATIONS =0x8876081D, //MAKE_DDHRESULT(2077) D3DERR_CONFLICTINGTEXTUREFILTER =0x8876081E, //MAKE_DDHRESULT(2078) D3DERR_UNSUPPORTEDFACTORVALUE =0x8876081F, //MAKE_DDHRESULT(2079) D3DERR_CONFLICTINGRENDERSTATE =0x88760821, //MAKE_DDHRESULT(2081) D3DERR_UNSUPPORTEDTEXTUREFILTER =0x88760822, //MAKE_DDHRESULT(2082) D3DERR_CONFLICTINGTEXTUREPALETTE =0x88760826, //MAKE_DDHRESULT(2086) D3DERR_DRIVERINTERNALERROR =0x88760827, //MAKE_DDHRESULT(2087) D3DERR_NOTFOUND =0x88760866, //MAKE_DDHRESULT(2150) D3DERR_MOREDATA =0x88760867, //MAKE_DDHRESULT(2151) D3DERR_DEVICELOST =0x88760868, //MAKE_DDHRESULT(2152) D3DERR_DEVICENOTRESET =0x88760869, //MAKE_DDHRESULT(2153) D3DERR_NOTAVAILABLE =0x8876086A, //MAKE_DDHRESULT(2154) D3DERR_OUTOFVIDEOMEMORY =0x8876017C, //MAKE_DDHRESULT(380) D3DERR_INVALIDDEVICE =0x8876086B, //MAKE_DDHRESULT(2155) D3DERR_INVALIDCALL =0x8876086C, //MAKE_DDHRESULT(2156) D3DERR_DRIVERINVALIDCALL =0x8876086D, //MAKE_DDHRESULT(2157) } CONST_D3DERR; [helpcontext(83287)] typedef enum CONST_D3DSPDFLAGS { D3DSPD_IUNKNOWN= 0x00000001 } CONST_D3DSPDFLAGS ; [helpcontext(83248)] typedef enum CONST_D3DCONST { D3DCURRENT_DISPLAY_MODE = 0x00EFFFFF, // D3DENUM_HOST_ADAPTER = 0x00000001, D3DENUM_NO_WHQL_LEVEL = 0x00000002, D3DADAPTER_DEFAULT = 0, D3DPRESENT_BACK_BUFFERS_MAX = 3, //D3DDP_WAIT = 0x00000001, D3DMAXNUMVERTICES = 0x0000FFFF, D3DMAXNUMPRIMITIVES = 0x0000FFFF, D3DPV_DONOTCOPYDATA = 1, VALID_D3DENUM_FLAGS = 3, D3DCURSOR_IMMEDIATE_UPDATE = 0x00000001, D3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001, D3D_OK = 0, D3DMAXUSERCLIPPLANES = 32, } CONST_D3DCONST; [helpcontext(83405)] typedef enum CONST_D3DBLENDOP { D3DBLENDOP_ADD = 1, D3DBLENDOP_SUBTRACT = 2, D3DBLENDOP_REVSUBTRACT = 3, D3DBLENDOP_MIN = 4, D3DBLENDOP_MAX = 5, [hidden] D3DBLENDOP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } CONST_D3DBLENDOP; [helpcontext(83249)] typedef enum CONST_D3DCREATEFLAGS { D3DCREATE_FPU_PRESERVE = 0x00000002, D3DCREATE_MULTITHREADED = 0x00000004, D3DCREATE_PUREDEVICE = 0x00000010, D3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020, D3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040, D3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080, } CONST_D3DCREATEFLAGS; [helpcontext(83285)] typedef enum CONST_D3DSGRFLAGS { D3DSGR_NO_CALIBRATION = 0x00000000, D3DSGR_CALIBRATE = 0x00000001, } CONST_D3DSGRFLAGS; [helpcontext(83069)] typedef enum CONST_D3D_TYPE { D3D_TYPE_SURFACE = 1, D3D_TYPE_VOLUME = 2, D3D_TYPE_MIPMAP = 3, D3D_TYPE_MIPVOLUME = 4, D3D_TYPE_CUBEMAP = 5, D3D_TYPE_VERTEXBUFFER = 6, D3D_TYPE_OPTIMIZEDVERTEXBUFFER = 7, D3D_TYPE_INDEXBUFFER = 8, D3D_TYPE_FORCE_DWORD = 0x7fffffff } CONST_D3D_TYPE; [helpcontext(83284)] typedef enum CONST_D3DSCPFLAGS { D3DUCURSOR_DEFAULT =0, D3DUCURSOR_IMMEDIATE_UPDATE=1, } CONST_D3DSCPFLAGS; //BUGBUG TODO //D3DERROR CODE ENUM [helpcontext(83070)] typedef enum CONST_D3DDEBUGMONITORTOKENS { D3DDMT_ENABLE=0, D3DDMT_DISABLE=1, [hidden] D3DDMT_FORCEDWORD=0x7fffffff, } CONST_D3DDEBUGMONITORTOKENS ; #endif /************************************** STRUCTS ********************************************/ [helpcontext(83071)] typedef struct D3DDEVICE_CREATION_PARAMETERS { UINT AdapterOrdinal; CONST_D3DDEVTYPE DeviceType; HWND hFocusWindow; DWORD BehaviorFlags; } D3DDEVICE_CREATION_PARAMETERS; [helpcontext(83206)] typedef struct D3DCLIPSTATUS8_CDESC { DWORD ClipUnion; DWORD ClipIntersection; } D3DCLIPSTATUS8_CDESC; [helpcontext(83225)] typedef struct D3DRECT_CDESC { LONG x1; LONG y1; LONG x2; LONG y2; } D3DRECT_CDESC; //[helpcontext(89225)] //typedef struct D3DPOINT_CDESC { // LONG x; // LONG y; //} D3DPOINT_CDESC; //[helpcontext(89226)] //typedef struct D3DHVERTEX_CDESC { // DWORD dwFlags; /* Homogeneous clipping flags */ // D3DVALUE hx; // D3DVALUE hy; // D3DVALUE hz; //} D3DHVERTEX_CDESC; [helpcontext(83228)] typedef struct D3DTLVERTEX_CDESC { D3DVALUE sx; /* Screen coordinates */ D3DVALUE sy; D3DVALUE sz; D3DVALUE rhw; /* Reciprocal of homogeneous w */ D3DCOLOR color; /* Vertex color */ D3DCOLOR specular; /* Specular component of vertex */ D3DVALUE tu; /* Texture coordinates */ D3DVALUE tv; } D3DTLVERTEX_CDESC; [helpcontext(83216)] typedef struct D3DLVERTEX_CDESC { D3DVALUE x; D3DVALUE y; D3DVALUE z; D3DCOLOR color; /* Vertex color */ D3DCOLOR specular; /* Specular component of vertex */ D3DVALUE tu; /* Texture coordinates */ D3DVALUE tv; } D3DLVERTEX_CDESC; [helpcontext(83231)] typedef struct D3DVERTEX_CDESC { D3DVALUE x; D3DVALUE y; D3DVALUE z; D3DVALUE nx; /* Normal */ D3DVALUE ny; D3DVALUE nz; D3DVALUE tu; /* Texture coordinates */ D3DVALUE tv; } D3DVERTEX_CDESC; [helpcontext(83229)] typedef struct D3DTLVERTEX2_CDESC { D3DVALUE sx; /* Screen coordinates */ D3DVALUE sy; D3DVALUE sz; D3DVALUE rhw; /* Reciprocal of homogeneous w */ D3DCOLOR color; /* Vertex color */ D3DCOLOR specular; /* Specular component of vertex */ D3DVALUE tu1; /* Texture coordinates */ D3DVALUE tv1; D3DVALUE tu2; /* Texture coordinates */ D3DVALUE tv2; } D3DTLVERTEX2_CDESC; [helpcontext(83217)] typedef struct D3DLVERTEX2_CDESC { D3DVALUE x; D3DVALUE y; D3DVALUE z; D3DCOLOR color; /* Vertex color */ D3DCOLOR specular; /* Specular component of vertex */ D3DVALUE tu1; /* Texture coordinates */ D3DVALUE tv1; D3DVALUE tu2; /* Texture coordinates */ D3DVALUE tv2; } D3DLVERTEX2_CDESC; [helpcontext(83235)] typedef struct D3DVERTEX2_CDESC { D3DVALUE x; D3DVALUE y; D3DVALUE z; D3DVALUE nx; /* Normal */ D3DVALUE ny; D3DVALUE nz; D3DVALUE tu1; /* Texture coordinates */ D3DVALUE tv1; D3DVALUE tu2; /* Texture coordinates */ D3DVALUE tv2; } D3DVERTEX2_CDESC; /* Display Modes */ [helpcontext(83289)] typedef struct D3DDISPLAYMODE_CDESC { UINT Width; UINT Height; UINT RefreshRate; CONST_D3DFORMAT Format; } D3DDISPLAYMODE_CDESC; [helpcontext(83224)] typedef struct D3DRASTER_STATUS_CDESC { BOOL InVBLANK; UINT ScanLine; } D3DRASTER_STATUS_CDESC; /* Resize Optional Parameters */ [helpcontext(83221)] typedef struct D3DPRESENT_PARAMETERS_CDESC { UINT BackBufferWidth; UINT BackBufferHeight; CONST_D3DFORMAT BackBufferFormat; UINT BackBufferCount; CONST_D3DMULTISAMPLE_TYPE MultiSampleType; CONST_D3DSWAPEFFECT SwapEffect; HWND hDeviceWindow; BOOL Windowed; BOOL EnableAutoDepthStencil; CONST_D3DFORMAT AutoDepthStencilFormat; DWORD Flags; /* Following elements must be zero for Windowed mode */ UINT FullScreen_RefreshRateInHz; UINT FullScreen_PresentationInterval; } D3DPRESENT_PARAMETERS_CDESC; [helpcontext(83210)] typedef struct D3DGAMMARAMP_CDESC { WORD red [256]; WORD green[256]; WORD blue [256]; } D3DGAMMARAMP_CDESC; /* * structures and definitions. */ [helpcontext(83212)] typedef struct D3DLIGHT8_CDESC { CONST_D3DLIGHTTYPE Type; /* Type of light source */ D3DCOLORVALUE_CDESC Diffuse; /* Diffuse color of light */ D3DCOLORVALUE_CDESC Specular; /* Specular color of light */ D3DCOLORVALUE_CDESC Ambient; /* Ambient color of light */ D3DVECTOR_CDESC Position; /* Position in world space */ D3DVECTOR_CDESC Direction; /* Direction in world space */ D3DVALUE Range; /* Cutoff range */ D3DVALUE Falloff; /* Falloff */ D3DVALUE Attenuation0; /* Constant attenuation */ D3DVALUE Attenuation1; /* Linear attenuation */ D3DVALUE Attenuation2; /* Quadratic attenuation */ D3DVALUE Theta; /* Inner angle of spotlight cone */ D3DVALUE Phi; /* Outer angle of spotlight cone */ } D3DLIGHT8_CDESC; /* Vertex Buffer Description */ [helpcontext(83236)] typedef struct D3DVERTEXBUFFER_DESC_CDESC { CONST_D3DFORMAT Format; CONST_D3DRESOURCETYPE Type; DWORD Usage; CONST_D3DPOOL Pool; UINT Size; DWORD FVF; } D3DVERTEXBUFFER_DESC_CDESC; /* Index Buffer Description */ [helpcontext(83211)] typedef struct D3DINDEXBUFFER_DESC_CDESC { CONST_D3DFORMAT Format; CONST_D3DRESOURCETYPE Type; DWORD Usage; CONST_D3DPOOL Pool; UINT Size; } D3DINDEXBUFFER_DESC_CDESC; /* Surface Description */ [helpcontext(83227)] typedef struct D3DSURFACE_DESC_CDESC { CONST_D3DFORMAT Format; CONST_D3DRESOURCETYPE Type; DWORD Usage; CONST_D3DPOOL Pool; UINT Size; CONST_D3DMULTISAMPLE_TYPE MultiSampleType; UINT Width; UINT Height; } D3DSURFACE_DESC_CDESC; [helpcontext(83238)] typedef struct D3DVOLUME_DESC_CDESC { CONST_D3DFORMAT Format; CONST_D3DRESOURCETYPE Type; DWORD Usage; CONST_D3DPOOL Pool; UINT Size; UINT Width; UINT Height; UINT Depth; } D3DVOLUME_DESC_CDESC; /* Structure for LockRect */ [helpcontext(83215)] typedef struct D3DLOCKED_RECT_CDESC { INT Pitch; LONG pBits; } D3DLOCKED_RECT_CDESC; /* Structures for LockBox */ [helpcontext(83204)] typedef struct D3DBOX_CDESC { UINT left; UINT top; UINT right; UINT bottom; UINT front; UINT back; } D3DBOX_CDESC; [helpcontext(83214)] typedef struct D3DLOCKED_BOX_CDESC { INT RowPitch; INT SlicePitch; LONG pBits; } D3DLOCKED_BOX_CDESC; /* Structures for LockRange */ [helpcontext(83223)] typedef struct D3DRANGE_CDESC { UINT Offset; UINT Size; } D3DRANGE_CDESC; #define MAX_DEVICE_IDENTIFIER_STRING 512 [helpcontext(83203)] typedef struct D3DADAPTER_IDENTIFIER8_CDESC { CHAR Driver[MAX_DEVICE_IDENTIFIER_STRING]; CHAR Description[MAX_DEVICE_IDENTIFIER_STRING]; DWORD DriverVersionLowPart; DWORD DriverVersionHighPart; DWORD VendorId; DWORD DeviceId; DWORD SubSysId; DWORD Revision; GUID DeviceIdentifier; DWORD WHQLLevel; } D3DADAPTER_IDENTIFIER8_CDESC; [helpcontext(83226)] typedef struct D3DRECTPATCH_INFO_CDESC { LONG StartVertexOffsetWidth; LONG StartVertexOffsetHeight; LONG Width; LONG Height; LONG Stride; CONST_D3DBASISTYPE Basis; CONST_D3DORDERTYPE Order; } D3DRECTPATCH_INFO_CDESC; [helpcontext(83230)] typedef struct D3DTRIPATCH_INFO_CDESC { LONG StartVertexOffsetWidth; LONG NumVertices; CONST_D3DBASISTYPE Basis; CONST_D3DORDERTYPE Order; } D3DTRIPATCH_INFO_CDESC; /**************************************************************************************/ [helpcontext(83213)] typedef struct D3DLINEPATTERN_CDESC { WORD RepeatFactor; WORD LinePattern; } D3DLINEPATTERN_CDESC; // [helpcontext(83344)] //typedef struct D3DPRIMCAPS8_CDESC { // DWORD SizeOfType; // DWORD MiscCaps; /* Capability flags */ // DWORD RasterCaps; // DWORD ZCmpCaps; // DWORD SrcBlendCaps; // DWORD DestBlendCaps; // DWORD AlphaCmpCaps; DWORD ShadeCaps; // DWORD TextureCaps; // DWORD TextureFilterCaps; // DWORD TextureBlendCaps; // DWORD TextureAddressCaps; // DWORD StippleWidth; /* maximum width and height of */ // DWORD StippleHeight; /* of supported stipple (up to 32x32) */ //} D3DPRIMCAPS8_CDESC; [helpcontext(83205)] typedef struct D3DCAPS8_CDESC { /* Caps from DX7 Draw */ DWORD DeviceType; UINT AdapterOrdinal; DWORD Caps; DWORD Caps2; DWORD Caps3; DWORD PresentationIntervals; /* Cursor Caps */ DWORD CursorCaps; /* 3D Device Caps */ DWORD DevCaps; DWORD PrimitiveMiscCaps; /* Capability flags */ DWORD RasterCaps; DWORD ZCmpCaps; DWORD SrcBlendCaps; DWORD DestBlendCaps; DWORD AlphaCmpCaps; DWORD ShadeCaps; DWORD TextureCaps; DWORD TextureFilterCaps; DWORD CubeTextureFilterCaps; DWORD VolumeTextureFilterCaps; DWORD TextureAddressCaps; DWORD VolumeTextureAddressCaps; DWORD LineCaps; DWORD MaxTextureWidth, MaxTextureHeight; DWORD MaxVolumeExtent; DWORD MaxTextureRepeat; DWORD MaxTextureAspectRatio; DWORD MaxAnisotropy; FLOAT MaxVertexW; FLOAT GuardBandLeft; FLOAT GuardBandTop; FLOAT GuardBandRight; FLOAT GuardBandBottom; FLOAT ExtentsAdjust; DWORD StencilCaps; DWORD FVFCaps; DWORD TextureOpCaps; DWORD MaxTextureBlendStages; DWORD MaxSimultaneousTextures; DWORD VertexProcessingCaps; DWORD MaxActiveLights; DWORD MaxUserClipPlanes; DWORD MaxVertexBlendMatrices; DWORD MaxVertexBlendMatrixIndex; FLOAT MaxPointSize; DWORD MaxPrimitiveCount; // max number of primitives per DrawPrimitive call DWORD MaxVertexIndex; DWORD MaxStreams; DWORD MaxStreamStride; // max stride for SetStreamSource DWORD VertexShaderVersion; DWORD MaxVertexShaderConst; // number of vertex shader constant registers DWORD PixelShaderVersion; FLOAT MaxPixelShaderValue; // max value of pixel shader arithmetic component } D3DCAPS8_CDESC; // Removed from CORE // // [helpcontext(83209)] //typedef struct D3DDEVICEINFO_TEXTURE_MANAGER_CDESC { // BOOL bThrashing; /* indicates if thrashing */ // DWORD ApproxBytesDownloaded; /* Approximate number of bytes downloaded by texture manager */ // DWORD NumEvicts; /* number of textures evicted */ // DWORD NumVidCreates; /* number of textures created in video memory */ // DWORD NumTexturesUsed; /* number of textures used */ // DWORD NumUsedTexInVid; /* number of used textures present in video memory */ // DWORD WorkingSet; /* number of textures in video memory */ // DWORD WorkingSetBytes; /* number of bytes in video memory */ // DWORD TotalManaged; /* total number of managed textures */ // DWORD TotalBytes; /* total number of bytes of managed textures */ // DWORD LastPri; /* priority of last texture evicted */ //} D3DDEVICEINFO_TEXTURE_MANAGER_CDESC; // // [helpcontext(83819)] //typedef struct D3DDEVICEINFO_TEXTURING_CDESC { // DWORD NumLoads; /* counts Load() API calls */ // DWORD ApproxBytesLoaded; /* Approximate number bytes loaded via Load() */ // DWORD NumPreLoads; /* counts PreLoad() API calls */ // DWORD NumSet; /* counts SetTexture() API calls */ // DWORD NumCreates; /* counts texture creates */ // DWORD NumDestroys; /* counts texture destroys */ // DWORD NumSetPriorities; /* counts SetPriority() API calls */ // DWORD NumSetLODs; /* counts SetLOD() API calls */ // DWORD NumLocks; /* counts number of texture locks */ // DWORD NumGetDCs; /* counts number of GetDCs to textures */ //} D3DDEVICEINFO_TEXTURING_CDESC; /************************************** OBJECTS ***********************************************/ //UPDATED 3/28/99 [ object, uuid(1DD9E8DA-1C77-4d40-B0CF-98FEFDFF9512), pointer_default(unique), helpcontext(83027), local ] interface IDirect3D8 : IUnknown { /*** IDirect3D8 methods ***/ [helpcontext(83040)] HRESULT RegisterSoftwareDevice([in] void *InitializeFunction); [helpcontext(83034)] UINT GetAdapterCount(); [helpcontext(83036)] HRESULT GetAdapterIdentifier([in]UINT Adapter, [in]DWORD Flags, [in,out] D3DADAPTER_IDENTIFIER8 *Identifier); [helpcontext(83037)] UINT GetAdapterModeCount([in]UINT Adapter) ; [helpcontext(83033)] HRESULT EnumAdapterModes ([in] UINT Adapter, [in] UINT Mode, [in,out] D3DDISPLAYMODE* DisplayMode); [helpcontext(83035)] HRESULT GetAdapterDisplayMode([in] UINT Adapter, [in,out] D3DDISPLAYMODE* DisplayMode); [helpcontext(83031)] LONG CheckDeviceType ([in] UINT Adapter,[in] CONST_D3DDEVTYPE CheckType,[in] CONST_D3DFORMAT DisplayFormat,[in] CONST_D3DFORMAT BackBufferFormat,[in] LONG bWindowed); [helpcontext(83029)] LONG CheckDeviceFormat ([in] UINT Adapter,[in] CONST_D3DDEVTYPE DeviceType, [in] CONST_D3DFORMAT AdapterFormat,[in] DWORD Usage,[in] CONST_D3DRESOURCETYPE RType, [in] CONST_D3DFORMAT CheckFormat); [helpcontext(83030)] LONG CheckDeviceMultiSampleType ([in] UINT Adapter,[in] CONST_D3DDEVTYPE DeviceType,[in] CONST_D3DFORMAT RenderTargetFormat,[in] BOOL Windowed,[in] CONST_D3DMULTISAMPLE_TYPE MultiSampleType); [helpcontext(83028)] LONG CheckDepthStencilMatch ([in] UINT Adapter,[in] CONST_D3DDEVTYPE DeviceType, [in] CONST_D3DFORMAT AdapterFormat,[in] CONST_D3DFORMAT RenderTargetFormat,[in] CONST_D3DFORMAT DepthStencilFormat); [helpcontext(83039)] HRESULT GetDeviceCaps ([in] UINT Adapter,[in] CONST_D3DDEVTYPE DeviceType,[in,out] D3DCAPS8 *Caps) ; [helpcontext(83038)] LONG GetAdapterMonitor ([in] UINT Adapter) ; [helpcontext(83051)] HRESULT CreateDevice ([in] UINT Adapter,[in] CONST_D3DDEVTYPE DeviceType,[in] HWND hFocusWindow,[in] CONST_D3DCREATEFLAGS BehaviorFlags,[in] D3DPRESENT_PARAMETERS *PresentationParameters,[out,retval] IDirect3DDevice8 **ppReturnedDeviceInterface); }; [ object, uuid(7385E5DF-8FE8-41D5-86B6-D7B48547B6CF), pointer_default(unique), helpcontext(83450), local ] interface IDirect3DDevice8 : IUnknown { /*** IDirect3DDevice8 methods ***/ [helpcontext(83142)] LONG TestCooperativeLevel() ; [helpcontext(83082)] UINT GetAvailableTextureMem([in] CONST_D3DPOOL Pool) ; [helpcontext(83119)] HRESULT ResourceManagerDiscardBytes([in] DWORD NumberOfBytes) ; [helpcontext(83090)] HRESULT GetDirect3D([out,retval] LPDIRECT3D8 *pD3D8) ; [helpcontext(83089)] HRESULT GetDeviceCaps([out] D3DCAPS8_CDESC *Caps) ; [helpcontext(83091)] HRESULT GetDisplayMode([out] D3DDISPLAYMODE_CDESC *pMode) ; [helpcontext(83208)] HRESULT GetCreationParameters([out] D3DDEVICE_CREATION_PARAMETERS *pCreationParams); [helpcontext(83158)] HRESULT SetCursorProperties([in] UINT xHotSpot,[in] UINT yHotSpot,[in] IDirect3DSurface8 *CursorSurface) ; [helpcontext(83123)] void SetCursorPosition([in] UINT xScreenSpace,[in] UINT yScreenSpace, [in] CONST_D3DSCPFLAGS flags) ; [helpcontext(83141)] BOOL ShowCursor([in] BOOL bShow); [helpcontext(83167)] HRESULT CreateAdditionalSwapChain([in] D3DPRESENT_PARAMETERS_CDESC *PresentationParameters,[out,retval] IDirect3DSwapChain8 **ppSwapChain) ; [helpcontext(83118)] HRESULT Reset([in] D3DPRESENT_PARAMETERS_CDESC *PresentationParameters) ; [helpcontext(83116)] HRESULT Present([in] void *pSourceRect,[in] void *pDestRect,[in] LONG hWndDestWindowOverride,[in] void *pDirtyRegion) ; [helpcontext(83083)] HRESULT GetBackBuffer([in] LONG BackBuffer,[in] CONST_D3DBACKBUFFERTYPE BufferType, [out,retval] IDirect3DSurface8 **ppBackBuffer); [helpcontext(83102)] D3DRASTER_STATUS_CDESC GetRasterStatus(); [helpcontext(83125)] void SetGammaRamp([in] DWORD dwFlags,[in] D3DGAMMARAMP_CDESC *pRamp) ; [helpcontext(83092)] void GetGammaRamp([in,out] D3DGAMMARAMP_CDESC *pRamp) ; [helpcontext(83170)] HRESULT CreateTexture([in] UINT Width,[in] UINT Height, [in] UINT Levels,[in] DWORD Usage,[in] CONST_D3DFORMAT Format,[in] CONST_D3DPOOL Pool,[out,retval] IDirect3DTexture8 **ppMipMap) ; [helpcontext(83189)] HRESULT CreateVolumeTexture([in] UINT Width,[in] UINT Height,[in] UINT Depth,[in] UINT Levels,[in] DWORD Usage,[in] CONST_D3DFORMAT Format,[in] CONST_D3DPOOL Pool,[out,retval] IDirect3DVolumeTexture8 **ppMipMap) ; [helpcontext(83059)] HRESULT CreateCubeTexture([in] UINT EdgeLength,[in] UINT Levels,[in] DWORD Usage,[in] CONST_D3DFORMAT Format,[in] CONST_D3DPOOL Pool,[out,retval] IDirect3DCubeTexture8 **ppCubeMap) ; [helpcontext(83176)] HRESULT CreateVertexBuffer([in] UINT LengthInBytes,[in] DWORD Usage,[in] DWORD FVF, [in] CONST_D3DPOOL Pool,[out,retval] IDirect3DVertexBuffer8 **ppVertexBuffer) ; [helpcontext(83145)] HRESULT CreateIndexBuffer([in] UINT LengthInBytes,[in] DWORD Usage,[in] CONST_D3DFORMAT Format,[in] CONST_D3DPOOL Pool,[out,retval] IDirect3DIndexBuffer8 **ppIndexBuffer) ; [helpcontext(83064)] HRESULT CreateRenderTarget([in] UINT Width,[in] UINT Height,[in] CONST_D3DFORMAT Format,[in] CONST_D3DMULTISAMPLE_TYPE MultiSample,[in] LONG Lockable,[out,retval] IDirect3DSurface8 **ppSurface) ; [helpcontext(83060)] HRESULT CreateDepthStencilSurface([in] UINT Width,[in] UINT Height,[in] CONST_D3DFORMAT Format,[in] CONST_D3DMULTISAMPLE_TYPE MultiSample, [out,retval] IDirect3DSurface8 **ppSurface) ; [helpcontext(83061)] HRESULT CreateImageSurface([in] UINT Width,[in] UINT Height,[in] CONST_D3DFORMAT Format,[out,retval] IDirect3DSurface8 **ppSurface) ; [helpcontext(83057)] HRESULT CopyRects([in] IDirect3DSurface8 *SourceSurface,[in] void *FirstElementOfSourceRectsArray,[in] UINT NumberOfRects,[in] IDirect3DSurface8 *DestinationSurface,[in] void *FirstElementofDestPointArray) ; [helpcontext(83143)] HRESULT UpdateTexture([in] IDirect3DBaseTexture8 *SourceTexture,IDirect3DBaseTexture8 pDestinationTexture); [helpcontext(83892)] HRESULT GetFrontBuffer([in] IDirect3DSurface8 *pDestSurface); [helpcontext(83133)] HRESULT SetRenderTarget([in] IDirect3DSurface8 *RenderTarget,[in] IDirect3DSurface8 *NewZStencil,[in] DWORD Flags) ; [helpcontext(83104)] HRESULT GetRenderTarget([out,retval] IDirect3DSurface8 **ppRenderTarget) ; [helpcontext(83088)] HRESULT GetDepthStencilSurface([out,retval] IDirect3DSurface8 **ZStencilSurface); [helpcontext(83053)] HRESULT BeginScene() ; [helpcontext(83080)] HRESULT EndScene() ; [helpcontext(83056)] HRESULT Clear([in] DWORD ClearRectCount,[in] void *clearD3DRect,[in] CONST_D3DCLEARFLAGS flags,[in] D3DCOLOR color,[in] FLOAT z,[in] DWORD stencil) ; [helpcontext(83137)] HRESULT SetTransform([in] CONST_D3DTRANSFORMSTATETYPE transformType,[in] LPD3DMATRIX matrix) ; [helpcontext(83108)] HRESULT GetTransform([in] CONST_D3DTRANSFORMSTATETYPE transformType,[out] LPD3DMATRIX matrix) ; [helpcontext(83115)] HRESULT MultiplyTransform([in] CONST_D3DTRANSFORMSTATETYPE transformType,[in] LPD3DMATRIX matrix) ; [helpcontext(83140)] HRESULT SetViewport([in] LPD3DVIEWPORT8 viewport) ; [helpcontext(83113)] HRESULT GetViewport([out] LPD3DVIEWPORT8 viewport) ; [helpcontext(83128)] HRESULT SetMaterial([in] LPD3DMATERIAL8 material) ; [helpcontext(83097)] HRESULT GetMaterial([out] LPD3DMATERIAL8 material) ; [helpcontext(83127)] HRESULT SetLight([in] DWORD index,[in] LPD3DLIGHT8 light) ; [helpcontext(83095)] HRESULT GetLight([in] DWORD index,[out] LPD3DLIGHT8 light) ; [helpcontext(83114)] HRESULT LightEnable([in] DWORD index,[in] BOOL enabled) ; [helpcontext(83096)] HRESULT GetLightEnable([in] DWORD index,[out,retval] BOOL* enabled) ; [helpcontext(83120)] HRESULT SetClipPlane([in] DWORD index, [in] D3DPLANE_CDESC * plane) ; [helpcontext(83084)] HRESULT GetClipPlane([in] DWORD index,[out] D3DPLANE_CDESC * plane) ; [helpcontext(83132)] HRESULT SetRenderState([in] CONST_D3DRENDERSTATETYPE stateType,[in] DWORD value) ; [helpcontext(83103)] HRESULT GetRenderState([in] CONST_D3DRENDERSTATETYPE stateType,[out,retval] LPDWORD value) ; [helpcontext(83054)] HRESULT BeginStateBlock() ; [helpcontext(83081)] HRESULT EndStateBlock([out,retval] LPDWORD blockid) ; [helpcontext(83052)] HRESULT ApplyStateBlock([in] DWORD blockid) ; [helpcontext(83055)] HRESULT CaptureStateBlock([in] DWORD blockid) ; [helpcontext(83072)] HRESULT DeleteStateBlock([in] DWORD blockid) ; [helpcontext(83165)] HRESULT CreateStateBlock([in] CONST_D3DSTATEBLOCKTYPE blocktype,[out,retval] DWORD *blockid) ; [helpcontext(83121)] HRESULT SetClipStatus([in] LPD3DCLIPSTATUS8 clipstatus) ; [helpcontext(83085)] HRESULT GetClipStatus([out] LPD3DCLIPSTATUS8 clipstatus) ; [helpcontext(83106)] HRESULT GetTexture([in] DWORD stage,[out,retval] LPDIRECT3DBASETEXTURE8 *texture) ; [helpcontext(83135)] HRESULT SetTexture([in] DWORD stage,[in] LPDIRECT3DBASETEXTURE8 texture) ; [helpcontext(83107)] HRESULT GetTextureStageState([in] DWORD stage,[in] CONST_D3DTEXTURESTAGESTATETYPE stateType,[out,retval] LPDWORD state) ; [helpcontext(83136)] HRESULT SetTextureStageState([in] DWORD stage,[in] CONST_D3DTEXTURESTAGESTATETYPE stateType,[in] DWORD state) ; [helpcontext(83144)] HRESULT ValidateDevice([out,retval] LPDWORD ret) ; //GetInfo([in] DWORD flags,[in,out] LPVOID info,[in] DWORD size) ; [helpcontext(83094)] HRESULT GetInfo([in] DWORD flags,[in,out] LPVOID info,[in] DWORD size) ; //BUGBUG verify that we really want to pass in an array of dwords [helpcontext(83129)] HRESULT SetPaletteEntries([in] UINT PaletteNumber,[in] void * ArrayOfEntries) ; [helpcontext(83098)] HRESULT GetPaletteEntries([in] UINT PaletteNumber,[in,out] void * ArrayOfEntries) ; [helpcontext(83122)] HRESULT SetCurrentTexturePalette([in] UINT PaletteNumber); [helpcontext(83087)] HRESULT GetCurrentTexturePalette([out,retval] UINT *PaletteNumber); [helpcontext(83076)] HRESULT DrawPrimitive([in] CONST_D3DPRIMITIVETYPE PrimitiveType,[in] UINT StartVertex,[in] UINT PrimitiveCount) ; [helpcontext(83074)] HRESULT DrawIndexedPrimitive([in] CONST_D3DPRIMITIVETYPE PrimitiveType,[in] UINT minIndex,[in] UINT NumIndices,[in] UINT startIndex,[in] UINT primitiveCount) ; [helpcontext(83077)] HRESULT DrawPrimitiveUP([in] CONST_D3DPRIMITIVETYPE PrimitiveType,[in] UINT PrimitiveCount,[in] void *VertexStreamZeroDataArray ,[in] UINT VertexStreamZeroStride) ; [helpcontext(83075)] HRESULT DrawIndexedPrimitiveUP([in] CONST_D3DPRIMITIVETYPE PrimitiveType,[in] UINT minVertexIndex, [in] UINT NumVertexIndices, [in] UINT PrimitiveCount,[in] void *IndexDataArray , [in] CONST_D3DFORMAT IndexDataFormat, [in] void *VertexStreamZeroDataArray , [in] UINT VertexStreamZeroStride) ; [helpcontext(83117)] HRESULT ProcessVertices( [in] UINT SrcStartIndex,[in] UINT DestIndex,[in] UINT VertexCount,[in] LPD3DVERTEXBUFFER8 DestBuffer,[in] DWORD Flags) ; //TALK TO D3D about reversing params [helpcontext(83868)] HRESULT CreateVertexShader([in] LPDWORD DeclarationTokenArray,[in,out] void *FunctionTokenArray,[in,out] LPDWORD retHandle,[in] DWORD usage) ; [helpcontext(83138)] HRESULT SetVertexShader([in] DWORD VertexShaderHandle) ; [helpcontext(83109)] HRESULT GetVertexShader([out,retval] LPDWORD pdwHandle) ; [helpcontext(83073)] HRESULT DeleteVertexShader([in] DWORD VertexShaderHandle) ; [helpcontext(83139)] HRESULT SetVertexShaderConstant( [in] DWORD Register,[in] LPVOID pConstantData,[in] DWORD ConstantCount) ; [helpcontext(83110)] HRESULT GetVertexShaderConstant( [in] DWORD Register,[in,out] LPVOID pConstantData,[in] DWORD ConstantCount) ; [helpcontext(83111)] HRESULT GetVertexShaderDeclaration([in] DWORD Handle,[in] void *Data,[in,out] DWORD *SizeOfData); [helpcontext(83112)] HRESULT GetVertexShaderFunction([in] DWORD Handle,[in] void *pData,[in,out] DWORD *SizeOfData); [helpcontext(83134)] HRESULT SetStreamSource([in] UINT StreamNumber,[in] LPD3DVERTEXBUFFER8 StreamData,[in] UINT Stride) ; [helpcontext(83105)] HRESULT GetStreamSource([in] UINT StreamNumber, [in,out] LPD3DVERTEXBUFFER8 *RetStreamData,[in,out]UINT *RetStride) ; [helpcontext(83126)] HRESULT SetIndices ([in] LPD3DINDEXBUFFER8 IndexData,[in] UINT BaseVertexIndex) ; [helpcontext(83093)] HRESULT GetIndices ([out] LPD3DINDEXBUFFER8 *RetIndexData,[out] UINT *RetBaseVertexIndex); [helpcontext(83063)] HRESULT CreatePixelShader([in] LPDWORD FunctionTokenArray,[out,retval]DWORD* pdwHandle) ; [helpcontext(83130)] HRESULT SetPixelShader([in] DWORD PixelShaderHandle) ; [helpcontext(83099)] HRESULT GetPixelShader([out,retval] DWORD* pdwHandle); [helpcontext(83171)] HRESULT DeletePixelShader([in] DWORD PixelShaderHandle); [helpcontext(83131)] HRESULT SetPixelShaderConstant([in] DWORD Register,[in] VOID* pConstantData,[in] DWORD ConstantCount); [helpcontext(83100)] HRESULT GetPixelShaderConstant([in] DWORD Register,[in,out] VOID* pConstantData,[in] DWORD ConstantCount); [helpcontext(83101)] HRESULT GetPixelShaderFunction([in] DWORD Handle,[in] void *pData,[in,out] DWORD *SizeOfData); [helpcontext(83078)] HRESULT DrawRectPatch([in] LONG Handle,[in,out] FLOAT *NumSegments,void *surf); [helpcontext(83079)] HRESULT DrawTriPatch([in] LONG Handle,[in,out] FLOAT *NumSegments,void *surf); [helpcontext(83870)] HRESULT DeletePatch([in] LONG Handle); }; [ object, uuid(928C088B-76B9-4C6B-A536-A590853876CD), pointer_default(unique), helpcontext(83967), local ] interface IDirect3DSwapChain8 : IUnknown { /*** ID3DSwapChain8 methods ***/ [helpcontext(83169)] HRESULT Present([in] void *SourceRect,[in] void *DestRect,[in] HWND hDestWindowOverride, [in] void *DirtyRegion) ; [helpcontext(83168)] HRESULT GetBackBuffer([in] UINT BackBuffer,[in] CONST_D3DBACKBUFFERTYPE BufferType, [out,retval] IDirect3DSurface8 **ppBackBuffer) ; }; [ object, uuid(1B36BB7B-09B7-410a-B445-7D1430D7B33F), pointer_default(unique), helpcontext(83149), local ] interface IDirect3DResource8 : IUnknown { /*** IDirect3DResource8 methods ***/ [helpcontext(83151)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(83157)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(83153)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(83150)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(83156)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(83152)] DWORD GetPriority() ; [helpcontext(83155)] void PreLoad(); [helpcontext(83154)] CONST_D3DRESOURCETYPE GetType(); }; [ object, uuid(B4211CFA-51B9-4a9f-AB78-DB99B2BB678E), pointer_default(unique), helpcontext(83540), local ] interface IDirect3DBaseTexture8 : IUnknown { [helpcontext(89044)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89045)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89046)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(89047)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89048)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89049)] DWORD GetPriority() ; [helpcontext(89050)] void PreLoad(); [helpcontext(89051)] CONST_D3DRESOURCETYPE GetType(); [helpcontext(83044)] DWORD SetLOD([in] DWORD LODNew) ; [helpcontext(83043)] DWORD GetLOD() ; [helpcontext(83042)] DWORD GetLevelCount() ; }; [ object, uuid(E4CDD575-2866-4f01-B12E-7EECE1EC9358), pointer_default(unique), helpcontext(83970), local ] interface IDirect3DTexture8 : IUnknown { [helpcontext(89052)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89053)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89054)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(89055)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89056)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89057)] DWORD GetPriority() ; [helpcontext(89058)] void PreLoad(); [helpcontext(89059)] CONST_D3DRESOURCETYPE GetType(); [helpcontext(89060)] DWORD SetLOD([in] DWORD dwLODNew) ; [helpcontext(89061)] DWORD GetLOD() ; [helpcontext(89062)] DWORD GetLevelCount() ; [helpcontext(83172)] HRESULT GetLevelDesc([in] UINT Level, [out] D3DSURFACE_DESC_CDESC *pDesc) ; [helpcontext(83173)] HRESULT GetSurfaceLevel([in] UINT Level,[out,retval] IDirect3DSurface8 **ppSurfaceLevel) ; [helpcontext(83174)] HRESULT LockRect([in] UINT Level,[in] D3DLOCKED_RECT_CDESC *LockedRect,[in] void *Rect, [in] DWORD Flags) ; [helpcontext(83175)] HRESULT UnlockRect([in] UINT Level) ; [helpcontext(83671)] HRESULT AddDirtyRect([in] void *DirtyRect) ; }; [ object, uuid(4B8AAAFA-140F-42ba-9131-597EAFAA2EAD), pointer_default(unique), helpcontext(83789), local ] interface IDirect3DVolumeTexture8 : IUnknown { [helpcontext(83183)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(83187)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(83184)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(83181)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89063)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89064)] DWORD GetPriority() ; [helpcontext(89065)] void PreLoad(); [helpcontext(89066)] CONST_D3DRESOURCETYPE GetType(); [helpcontext(89067)] DWORD SetLOD([in] DWORD dwLODNew) ; [helpcontext(89068)] DWORD GetLOD() ; [helpcontext(89069)] DWORD GetLevelCount() ; [helpcontext(83191)] HRESULT GetLevelDesc([in] UINT Level, [out] D3DVOLUME_DESC_CDESC *pDesc); [helpcontext(83192)] HRESULT GetVolumeLevel([in] UINT Level,[out,retval] IDirect3DVolume8 **ppVolumeLevel) ; // [helpcontext(63193)] HRESULT LockBox([in] UINT iLevel,[in] D3DLOCKED_BOX_CDESC *pLockedVolume,[in,out] D3DBOX_CDESC *Box,[in] DWORD Flags) ; [helpcontext(83193)] HRESULT LockBox([in] UINT iLevel,[in] D3DLOCKED_BOX_CDESC *pLockedVolume,[in,out] void *Box,[in] DWORD Flags) ; [helpcontext(83194)] HRESULT UnlockBox([in] UINT Level) ; [helpcontext(83190)] HRESULT AddDirtyBox([in] D3DBOX_CDESC *DirtyBox) ; }; [ object, uuid(3EE5B968-2ACA-4c34-8BB5-7E0C3D19B750), pointer_default(unique), helpcontext(89200), local ] interface IDirect3DCubeTexture8 : IUnknown { [helpcontext(89105)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89070)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89071)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(89072)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89073)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89074)] DWORD GetPriority() ; [helpcontext(89075)] void PreLoad(); [helpcontext(89076)] CONST_D3DRESOURCETYPE GetType(); [helpcontext(89077)] DWORD SetLOD([in] DWORD dwLODNew) ; [helpcontext(89078)] DWORD GetLOD() ; [helpcontext(89079)] DWORD GetLevelCount() ; [helpcontext(83048)] HRESULT GetLevelDesc([in] UINT Level, [out] D3DSURFACE_DESC_CDESC *pDesc) ; [helpcontext(83047)] HRESULT GetCubeMapSurface([in] CONST_D3DCUBEMAP_FACES FaceType,[in] UINT Level,[out,retval] IDirect3DSurface8 **ppCubeMapSurface) ; [helpcontext(83049)] HRESULT LockRect([in] CONST_D3DCUBEMAP_FACES FaceType, [in] UINT Level,[in] D3DLOCKED_RECT_CDESC *LockedRect,[in] void *Rect, [in] DWORD Flags) ; [helpcontext(83050)] HRESULT UnlockRect([in] CONST_D3DCUBEMAP_FACES FaceType, [in] UINT iLevel) ; [helpcontext(83046)] HRESULT AddDirtyRect([in] CONST_D3DCUBEMAP_FACES FaceType, [in] void *DirtyRect) ; }; [ object, uuid(8AEEEAC7-05F9-44d4-B591-000B0DF1CB95), pointer_default(unique), helpcontext(89201), local ] interface IDirect3DVertexBuffer8 : IUnknown { [helpcontext(89080)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89081)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89082)] HRESULT GetPrivateData( [in] REFGUID refguid,[in] void *Data,[in,out] DWORD *SizeOfData) ; [helpcontext(89083)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89084)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89085)] DWORD GetPriority() ; [helpcontext(89086)] void PreLoad() ; [helpcontext(89087)] CONST_D3DRESOURCETYPE GetType(THIS); [helpcontext(83178)] HRESULT Lock([in] UINT ByteOffsetToLock,[in] UINT ByteSizeToLock,[out] LONG *pData,[in] DWORD Flags); [helpcontext(83179)] HRESULT Unlock(); [helpcontext(83177)] HRESULT GetDesc([out] D3DVERTEXBUFFER_DESC_CDESC *pDesc); }; [ object, uuid(0E689C9A-053D-44a0-9D92-DB0E3D750F86), pointer_default(unique), helpcontext(83645), local ] interface IDirect3DIndexBuffer8 : IUnknown { [helpcontext(89088)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89089)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89090)] HRESULT GetPrivateData( [in] REFGUID refguid,[in,out] void *Data,[in,out] DWORD *SizeOfDataa) ; [helpcontext(89091)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(89092)] DWORD SetPriority([in] DWORD PriorityNew) ; [helpcontext(89093)] DWORD GetPriority() ; [helpcontext(89094)] void PreLoad(); [helpcontext(89095)] CONST_D3DRESOURCETYPE GetType(THIS); [helpcontext(83147)] HRESULT Lock([in] UINT cbOffsetToLock,[in] UINT cbSizeToLock,[out] LONG *pData,[in] DWORD Flags); [helpcontext(83148)] HRESULT Unlock(); [helpcontext(83146)] HRESULT GetDesc([out] D3DINDEXBUFFER_DESC_CDESC *pDesc); }; [ object, uuid(B96EEBCA-B326-4ea5-882F-2FF5BAE021DD), pointer_default(unique), helpcontext(83958), local ] interface IDirect3DSurface8 : IUnknown { [helpcontext(83162)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(83665)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(83163)] HRESULT GetPrivateData( [in] REFGUID refguid,[in,out] void *Data,[in,out] DWORD *SizeOfDataa) ; [helpcontext(83159)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(83160)] HRESULT GetContainer(DXGUID_CDESC *riid,[out,retval] IUnknown **ppContainer); [helpcontext(83161)] HRESULT GetDesc([out] D3DSURFACE_DESC_CDESC *pDesc); [helpcontext(83164)] HRESULT LockRect([in] D3DLOCKED_RECT_CDESC *LockedRect,[in] void *Rect, [in] DWORD Flags) ; [helpcontext(83166)] HRESULT UnlockRect() ; }; [ object, uuid(BD7349F5-14F1-42e4-9C79-972380DB40C0), pointer_default(unique), helpcontext(83180), local ] interface IDirect3DVolume8 : IUnknown { [helpcontext(89096)] HRESULT GetDevice( [out,retval] LPDIRECT3DDEVICE8 *ppDevice) ; [helpcontext(89097)] HRESULT SetPrivateData( [in] REFGUID refguid,[in] void *Data,[in] DWORD SizeOfData,[in] DWORD Flags) ; [helpcontext(89098)] HRESULT GetPrivateData( [in] REFGUID refguid,[in,out] void *Data,[in,out] DWORD *SizeOfDataa) ; [helpcontext(89099)] HRESULT FreePrivateData( [in] REFGUID refguid) ; [helpcontext(83182)] HRESULT GetContainer(DXGUID_CDESC *riid,[out,retval] IUnknown **ppContainer); [helpcontext(83185)] HRESULT GetDesc([out] D3DVOLUME_DESC_CDESC *pDesc); // [helpcontext(99044)] HRESULT LockBox([in] D3DLOCKED_BOX_CDESC *LockedVolume,[in,out] D3DBOX_CDESC *box, [in] DWORD Flags) ; [helpcontext(89100)] HRESULT LockBox([in] D3DLOCKED_BOX_CDESC *LockedVolume,[in] void *box, [in] DWORD Flags) ; [helpcontext(89101)] HRESULT UnlockBox(); }; [ dllname("dx8vb.dll") ] module D3DAUX { [entry(114) ,helpcontext(83202)] LONG _stdcall D3DVertexBuffer8SetData (IDirect3DVertexBuffer8 *VBuffer,int offset,int size,LONG flags, void *data); [entry(115) ,helpcontext(83200)] LONG _stdcall D3DVertexBuffer8GetData (IDirect3DVertexBuffer8 *VBuffer,int offset,int size,LONG flags, void *data); [entry(116) ,helpcontext(83201)] LONG _stdcall D3DIndexBuffer8SetData (IDirect3DIndexBuffer8 *IBuffer,int offset,int size,LONG flags, void *data); [entry(117) ,helpcontext(83199)] LONG _stdcall D3DIndexBuffer8GetData (IDirect3DIndexBuffer8 *IBuffer,int offset,int size,LONG flags, void *data); [entry(135) ,helpcontext(87080)] LONG _stdcall D3DXMeshVertexBuffer8SetData (IUnknown *d3dxmeshobj,int offset,int size,LONG flags, void *data); [entry(136) ,helpcontext(87081)] LONG _stdcall D3DXMeshVertexBuffer8GetData (IUnknown *d3dxmeshobj,int offset,int size,LONG flags, void *data); [entry(137) ,helpcontext(87082)] LONG _stdcall D3DXMeshIndexBuffer8SetData (IUnknown *d3dxmeshobj,int offset,int size,LONG flags, void *data); [entry(138) ,helpcontext(87083)] LONG _stdcall D3DXMeshIndexBuffer8GetData (IUnknown *d3dxmeshobj,int offset,int size,LONG flags, void *data); [entry(139) ,helpcontext(92123)] LONG _stdcall DXCopyMemory (void *dest, void *src, LONG size); }; #endif /////////////////////////// //DEAD ENUMS ???? /////////////////////////// #if 0 [helpcontext(89000)] typedef enum CONST_D3DTEXTUREFILTER { D3DFILTER_NEAREST = 1, D3DFILTER_LINEAR = 2, D3DFILTER_MIPNEAREST = 3, D3DFILTER_MIPLINEAR = 4, D3DFILTER_LINEARMIPNEAREST = 5, D3DFILTER_LINEARMIPLINEAR = 6, D3DFILTER_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } D3DTEXTUREFILTER; [helpcontext(89001)] typedef enum CONST_D3DTEXTUREBLEND { D3DTBLEND_DECAL = 1, D3DTBLEND_MODULATE = 2, D3DTBLEND_DECALALPHA = 3, D3DTBLEND_MODULATEALPHA = 4, D3DTBLEND_DECALMASK = 5, D3DTBLEND_MODULATEMASK = 6, D3DTBLEND_COPY = 7, D3DTBLEND_ADD = 8, D3DTBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } D3DTEXTUREBLEND; [helpcontext(89002)] typedef enum CONST_D3DANTIALIASMODE { D3DANTIALIAS_NONE = 0, D3DANTIALIAS_SORTDEPENDENT = 1, D3DANTIALIAS_SORTINDEPENDENT = 2, D3DANTIALIAS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */ } D3DANTIALIASMODE; #endif