| 1 |
/*==========================================================================; |
|---|
| 2 |
* |
|---|
| 3 |
* Copyright (C) Microsoft Corporation. All Rights Reserved. |
|---|
| 4 |
* |
|---|
| 5 |
* File: d3d9.h |
|---|
| 6 |
* Content: Direct3D include file |
|---|
| 7 |
* |
|---|
| 8 |
****************************************************************************/ |
|---|
| 9 |
module win32.directx.d3d9; |
|---|
| 10 |
|
|---|
| 11 |
import win32.windows; |
|---|
| 12 |
public import win32.directx.d3d9types; |
|---|
| 13 |
public import win32.directx.d3d9caps; |
|---|
| 14 |
|
|---|
| 15 |
const DIRECT3D_VERSION = 0x0900; |
|---|
| 16 |
|
|---|
| 17 |
/**This identifier is passed to Direct3DCreate9 in order to ensure that an |
|---|
| 18 |
* application was built against the correct header files. This number is |
|---|
| 19 |
* incremented whenever a header (or other) change would require applications |
|---|
| 20 |
* to be rebuilt. If the version doesn't match, Direct3DCreate9 will fail. |
|---|
| 21 |
* (The number itself has no meaning.)*/ |
|---|
| 22 |
|
|---|
| 23 |
debug { |
|---|
| 24 |
const D3D_SDK_VERSION = (32 | 0x80000000); |
|---|
| 25 |
const D3D9b_SDK_VERSION = (31 | 0x80000000); |
|---|
| 26 |
} |
|---|
| 27 |
else { |
|---|
| 28 |
const D3D_SDK_VERSION = 32; |
|---|
| 29 |
const D3D9b_SDK_VERSION = 31; |
|---|
| 30 |
} |
|---|
| 31 |
|
|---|
| 32 |
/* IID_IDirect3D9 */ |
|---|
| 33 |
/* {81BDCBCA-64D4-426d-AE8D-AD0147F4275C} */ |
|---|
| 34 |
extern (C) const GUID IID_IDirect3D9 = { 0x81bdcbca, 0x64d4, 0x426d, [0xae, 0x8d, 0xad, 0x1, 0x47, 0xf4, 0x27, 0x5c] }; |
|---|
| 35 |
|
|---|
| 36 |
/* IID_IDirect3DDevice9 */ |
|---|
| 37 |
// {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB} */ |
|---|
| 38 |
extern (C) const GUID IID_IDirect3DDevice9 = { 0xd0223b96, 0xbf7a, 0x43fd, [0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb] }; |
|---|
| 39 |
|
|---|
| 40 |
/* IID_IDirect3DResource9 */ |
|---|
| 41 |
// {05EEC05D-8F7D-4362-B999-D1BAF357C704} |
|---|
| 42 |
extern (C) const GUID IID_IDirect3DResource9 = { 0x05eec05d, 0x8f7d, 0x4362, [0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x04] }; |
|---|
| 43 |
|
|---|
| 44 |
/* IID_IDirect3DBaseTexture9 */ |
|---|
| 45 |
/* {580CA87E-1D3C-4d54-991D-B7D3E3C298CE} */ |
|---|
| 46 |
extern (C) const GUID IID_IDirect3DBaseTexture9 = { 0x580ca87e, 0x1d3c, 0x4d54, [0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce] }; |
|---|
| 47 |
|
|---|
| 48 |
/* IID_IDirect3DTexture9 */ |
|---|
| 49 |
/* {85C31227-3DE5-4f00-9B3A-F11AC38C18B5} */ |
|---|
| 50 |
extern (C) const GUID IID_IDirect3DTexture9 = { 0x85c31227, 0x3de5, 0x4f00, [0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5] }; |
|---|
| 51 |
|
|---|
| 52 |
/* IID_IDirect3DCubeTexture9 */ |
|---|
| 53 |
/* {FFF32F81-D953-473a-9223-93D652ABA93F} */ |
|---|
| 54 |
extern (C) const GUID IID_IDirect3DCubeTexture9 = { 0xfff32f81, 0xd953, 0x473a, [0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f] }; |
|---|
| 55 |
|
|---|
| 56 |
/* IID_IDirect3DVolumeTexture9 */ |
|---|
| 57 |
/* {2518526C-E789-4111-A7B9-47EF328D13E6} */ |
|---|
| 58 |
extern (C) const GUID IID_IDirect3DVolumeTexture9 = { 0x2518526c, 0xe789, 0x4111, [0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6] }; |
|---|
| 59 |
|
|---|
| 60 |
/* IID_IDirect3DVertexBuffer9 */ |
|---|
| 61 |
/* {B64BB1B5-FD70-4df6-BF91-19D0A12455E3} */ |
|---|
| 62 |
extern (C) const GUID IID_IDirect3DVertexBuffer9 = { 0xb64bb1b5, 0xfd70, 0x4df6, [0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3] }; |
|---|
| 63 |
|
|---|
| 64 |
/* IID_IDirect3DIndexBuffer9 */ |
|---|
| 65 |
/* {7C9DD65E-D3F7-4529-ACEE-785830ACDE35} */ |
|---|
| 66 |
extern (C) const GUID IID_IDirect3DIndexBuffer9 = { 0x7c9dd65e, 0xd3f7, 0x4529, [0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35] }; |
|---|
| 67 |
|
|---|
| 68 |
/* IID_IDirect3DSurface9 */ |
|---|
| 69 |
/* {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B} */ |
|---|
| 70 |
extern (C) const GUID IID_IDirect3DSurface9 = { 0xcfbaf3a, 0x9ff6, 0x429a, [0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b] }; |
|---|
| 71 |
|
|---|
| 72 |
/* IID_IDirect3DVolume9 */ |
|---|
| 73 |
/* {24F416E6-1F67-4aa7-B88E-D33F6F3128A1} */ |
|---|
| 74 |
extern (C) const GUID IID_IDirect3DVolume9 = { 0x24f416e6, 0x1f67, 0x4aa7, [0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1] }; |
|---|
| 75 |
|
|---|
| 76 |
/* IID_IDirect3DSwapChain9 */ |
|---|
| 77 |
/* {794950F2-ADFC-458a-905E-10A10B0B503B} */ |
|---|
| 78 |
extern (C) const GUID IID_IDirect3DSwapChain9 = { 0x794950f2, 0xadfc, 0x458a, [0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b] }; |
|---|
| 79 |
|
|---|
| 80 |
/* IID_IDirect3DVertexDeclaration9 */ |
|---|
| 81 |
/* {DD13C59C-36FA-4098-A8FB-C7ED39DC8546} */ |
|---|
| 82 |
extern (C) const GUID IID_IDirect3DVertexDeclaration9 = { 0xdd13c59c, 0x36fa, 0x4098, [0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46] }; |
|---|
| 83 |
|
|---|
| 84 |
/* IID_IDirect3DVertexShader9 */ |
|---|
| 85 |
/* {EFC5557E-6265-4613-8A94-43857889EB36} */ |
|---|
| 86 |
extern (C) const GUID IID_IDirect3DVertexShader9 = { 0xefc5557e, 0x6265, 0x4613, [0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36] }; |
|---|
| 87 |
|
|---|
| 88 |
/* IID_IDirect3DPixelShader9 */ |
|---|
| 89 |
/* {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289} */ |
|---|
| 90 |
extern (C) const GUID IID_IDirect3DPixelShader9 = { 0x6d3bdbdc, 0x5b02, 0x4415, [0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89] }; |
|---|
| 91 |
|
|---|
| 92 |
/* IID_IDirect3DStateBlock9 */ |
|---|
| 93 |
/* {B07C4FE5-310D-4ba8-A23C-4F0F206F218B} */ |
|---|
| 94 |
extern (C) const GUID IID_IDirect3DStateBlock9 = { 0xb07c4fe5, 0x310d, 0x4ba8, [0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b] }; |
|---|
| 95 |
|
|---|
| 96 |
/* IID_IDirect3DQuery9 */ |
|---|
| 97 |
/* {d9771460-a695-4f26-bbd3-27b840b541cc} */ |
|---|
| 98 |
extern (C) const GUID IID_IDirect3DQuery9 = { 0xd9771460, 0xa695, 0x4f26, [0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc] }; |
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 |
/* IID_HelperName */ |
|---|
| 102 |
/* {E4A36723-FDFE-4b22-B146-3C04C07F4CC8} */ |
|---|
| 103 |
extern (C) const GUID IID_HelperName = { 0xe4a36723, 0xfdfe, 0x4b22, [0xb1, 0x46, 0x3c, 0x4, 0xc0, 0x7f, 0x4c, 0xc8] }; |
|---|
| 104 |
|
|---|
| 105 |
/* IID_IDirect3D9Ex */ |
|---|
| 106 |
/* {02177241-69FC-400C-8FF1-93A44DF6861D} */ |
|---|
| 107 |
extern (C) const GUID IID_IDirect3D9Ex = { 0x02177241, 0x69FC, 0x400C, [0x8F, 0xF1, 0x93, 0xA4, 0x4D, 0xF6, 0x86, 0x1D] }; |
|---|
| 108 |
|
|---|
| 109 |
/* IID_IDirect3DDevice9Ex */ |
|---|
| 110 |
// {B18B10CE-2649-405a-870F-95F777D4313A} |
|---|
| 111 |
extern (C) const GUID IID_IDirect3DDevice9Ex = { 0xb18b10ce, 0x2649, 0x405a, [0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a] }; |
|---|
| 112 |
|
|---|
| 113 |
/* IID_IDirect3DSwapChain9Ex */ |
|---|
| 114 |
/* {91886CAF-1C3D-4d2e-A0AB-3E4C7D8D3303} */ |
|---|
| 115 |
extern (C) const GUID IID_IDirect3DSwapChain9Ex = { 0x91886caf, 0x1c3d, 0x4d2e, [0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x03] }; |
|---|
| 116 |
|
|---|
| 117 |
|
|---|
| 118 |
|
|---|
| 119 |
extern (C): |
|---|
| 120 |
/** |
|---|
| 121 |
* DLL Function for creating a Direct3D9 object. This object supports |
|---|
| 122 |
* enumeration and allows the creation of Direct3DDevice9 objects. |
|---|
| 123 |
* Pass the value of the constant D3D_SDK_VERSION to this function, so |
|---|
| 124 |
* that the run-time can validate that your application was compiled |
|---|
| 125 |
* against the right headers. |
|---|
| 126 |
*/ |
|---|
| 127 |
|
|---|
| 128 |
extern (Windows) LPDIRECT3D9 Direct3DCreate9(UINT SDKVersion); |
|---|
| 129 |
|
|---|
| 130 |
/** |
|---|
| 131 |
* Stubs for graphics profiling. |
|---|
| 132 |
*/ |
|---|
| 133 |
extern (Windows) int D3DPERF_BeginEvent( D3DCOLOR col, LPCWSTR wszName ); |
|---|
| 134 |
extern (Windows) int D3DPERF_EndEvent(); |
|---|
| 135 |
extern (Windows) void D3DPERF_SetMarker( D3DCOLOR col, LPCWSTR wszName ); |
|---|
| 136 |
extern (Windows) void D3DPERF_SetRegion( D3DCOLOR col, LPCWSTR wszName ); |
|---|
| 137 |
extern (Windows) BOOL D3DPERF_QueryRepeatFrame(); |
|---|
| 138 |
|
|---|
| 139 |
extern (Windows) void D3DPERF_SetOptions( DWORD dwOptions ); |
|---|
| 140 |
extern (Windows) DWORD D3DPERF_GetStatus(); |
|---|
| 141 |
|
|---|
| 142 |
|
|---|
| 143 |
interface LPDIRECT3D9 : IUnknown |
|---|
| 144 |
{ |
|---|
| 145 |
HRESULT RegisterSoftwareDevice(void* pInitializeFunction); |
|---|
| 146 |
UINT GetAdapterCount(); |
|---|
| 147 |
HRESULT GetAdapterIdentifier( UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER9* pIdentifier); |
|---|
| 148 |
UINT GetAdapterModeCount(UINT Adapter,D3DFORMAT Format); |
|---|
| 149 |
HRESULT EnumAdapterModes( UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAYMODE* pMode); |
|---|
| 150 |
HRESULT GetAdapterDisplayMode( UINT Adapter,D3DDISPLAYMODE* pMode); |
|---|
| 151 |
HRESULT CheckDeviceType( UINT Adapter,D3DDEVTYPE DevType,D3DFORMAT AdapterFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed); |
|---|
| 152 |
HRESULT CheckDeviceFormat( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat); |
|---|
| 153 |
HRESULT CheckDeviceMultiSampleType( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType,DWORD* pQualityLevels); |
|---|
| 154 |
HRESULT CheckDepthStencilMatch( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat); |
|---|
| 155 |
HRESULT CheckDeviceFormatConversion( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat); |
|---|
| 156 |
HRESULT GetDeviceCaps( UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps); |
|---|
| 157 |
HMONITOR GetAdapterMonitor(UINT Adapter); |
|---|
| 158 |
HRESULT CreateDevice( UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,LPDIRECT3DDEVICE9* ppReturnedDeviceInterface); |
|---|
| 159 |
/* |
|---|
| 160 |
debug { |
|---|
| 161 |
LPCWSTR Version; |
|---|
| 162 |
} |
|---|
| 163 |
*/ |
|---|
| 164 |
} |
|---|
| 165 |
alias LPDIRECT3D9 IDirect3D9; |
|---|
| 166 |
|
|---|
| 167 |
interface LPDIRECT3DDEVICE9 : IUnknown |
|---|
| 168 |
{ |
|---|
| 169 |
HRESULT TestCooperativeLevel(); |
|---|
| 170 |
UINT GetAvailableTextureMem(); |
|---|
| 171 |
HRESULT EvictManagedResources(); |
|---|
| 172 |
HRESULT GetDirect3D( LPDIRECT3D9* ppD3D9); |
|---|
| 173 |
HRESULT GetDeviceCaps( D3DCAPS9* pCaps); |
|---|
| 174 |
HRESULT GetDisplayMode( UINT iSwapChain,D3DDISPLAYMODE* pMode); |
|---|
| 175 |
HRESULT GetCreationParameters( D3DDEVICE_CREATION_PARAMETERS *pParameters); |
|---|
| 176 |
HRESULT SetCursorProperties( UINT XHotSpot,UINT YHotSpot,LPDIRECT3DSURFACE9 pCursorBitmap); |
|---|
| 177 |
void SetCursorPosition(int X,int Y,DWORD Flags); |
|---|
| 178 |
BOOL ShowCursor(BOOL bShow); |
|---|
| 179 |
HRESULT CreateAdditionalSwapChain( D3DPRESENT_PARAMETERS* pPresentationParameters,LPDIRECT3DSWAPCHAIN9* pSwapChain); |
|---|
| 180 |
HRESULT GetSwapChain( UINT iSwapChain,LPDIRECT3DSWAPCHAIN9* pSwapChain); |
|---|
| 181 |
UINT GetNumberOfSwapChains(); |
|---|
| 182 |
HRESULT Reset( D3DPRESENT_PARAMETERS* pPresentationParameters); |
|---|
| 183 |
HRESULT Present(RECT* pSourceRect,RECT* pDestRect,HWND hDestWindowOverride, RGNDATA* pDirtyRegion); |
|---|
| 184 |
HRESULT GetBackBuffer( UINT iSwapChain,UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,LPDIRECT3DSURFACE9* ppBackBuffer); |
|---|
| 185 |
HRESULT GetRasterStatus( UINT iSwapChain,D3DRASTER_STATUS* pRasterStatus); |
|---|
| 186 |
HRESULT SetDialogBoxMode( BOOL bEnableDialogs); |
|---|
| 187 |
void SetGammaRamp(UINT iSwapChain,DWORD Flags, D3DGAMMARAMP* pRamp); |
|---|
| 188 |
void GetGammaRamp(UINT iSwapChain,D3DGAMMARAMP* pRamp); |
|---|
| 189 |
HRESULT CreateTexture( UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DTEXTURE9* ppTexture,HANDLE* pSharedHandle); |
|---|
| 190 |
HRESULT CreateVolumeTexture( UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture,HANDLE* pSharedHandle); |
|---|
| 191 |
HRESULT CreateCubeTexture( UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DCUBETEXTURE9* ppCubeTexture,HANDLE* pSharedHandle); |
|---|
| 192 |
HRESULT CreateVertexBuffer( UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,LPDIRECT3DVERTEXBUFFER9* ppVertexBuffer,HANDLE* pSharedHandle); |
|---|
| 193 |
HRESULT CreateIndexBuffer( UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,HANDLE* pSharedHandle); |
|---|
| 194 |
HRESULT CreateRenderTarget( UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Lockable,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle); |
|---|
| 195 |
HRESULT CreateDepthStencilSurface( UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Discard,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle); |
|---|
| 196 |
HRESULT UpdateSurface( LPDIRECT3DSURFACE9 pSourceSurface, RECT* pSourceRect,LPDIRECT3DSURFACE9 pDestinationSurface, POINT* pDestPoint); |
|---|
| 197 |
HRESULT UpdateTexture( LPDIRECT3DBASETEXTURE9 pSourceTexture,LPDIRECT3DBASETEXTURE9 pDestinationTexture); |
|---|
| 198 |
HRESULT GetRenderTargetData( LPDIRECT3DSURFACE9 pRenderTarget,LPDIRECT3DSURFACE9 pDestSurface); |
|---|
| 199 |
HRESULT GetFrontBufferData( UINT iSwapChain,LPDIRECT3DSURFACE9 pDestSurface); |
|---|
| 200 |
HRESULT StretchRect( LPDIRECT3DSURFACE9 pSourceSurface, RECT* pSourceRect,LPDIRECT3DSURFACE9 pDestSurface, RECT* pDestRect,D3DTEXTUREFILTERTYPE Filter); |
|---|
| 201 |
HRESULT ColorFill( LPDIRECT3DSURFACE9 pSurface, RECT* pRect,D3DCOLOR color); |
|---|
| 202 |
HRESULT CreateOffscreenPlainSurface( UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle); |
|---|
| 203 |
HRESULT SetRenderTarget( DWORD RenderTargetIndex,LPDIRECT3DSURFACE9 pRenderTarget); |
|---|
| 204 |
HRESULT GetRenderTarget( DWORD RenderTargetIndex,LPDIRECT3DSURFACE9* ppRenderTarget); |
|---|
| 205 |
HRESULT SetDepthStencilSurface( LPDIRECT3DSURFACE9 pNewZStencil); |
|---|
| 206 |
HRESULT GetDepthStencilSurface( LPDIRECT3DSURFACE9* ppZStencilSurface); |
|---|
| 207 |
HRESULT BeginScene(); |
|---|
| 208 |
HRESULT EndScene(); |
|---|
| 209 |
HRESULT Clear( DWORD Count, D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil); |
|---|
| 210 |
HRESULT SetTransform( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix); |
|---|
| 211 |
HRESULT GetTransform( D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix); |
|---|
| 212 |
HRESULT MultiplyTransform( D3DTRANSFORMSTATETYPE, D3DMATRIX*); |
|---|
| 213 |
HRESULT SetViewport( D3DVIEWPORT9* pViewport); |
|---|
| 214 |
HRESULT GetViewport( D3DVIEWPORT9* pViewport); |
|---|
| 215 |
HRESULT SetMaterial( D3DMATERIAL9* pMaterial); |
|---|
| 216 |
HRESULT GetMaterial( D3DMATERIAL9* pMaterial); |
|---|
| 217 |
HRESULT SetLight( DWORD Index, D3DLIGHT9*); |
|---|
| 218 |
HRESULT GetLight( DWORD Index,D3DLIGHT9*); |
|---|
| 219 |
HRESULT LightEnable( DWORD Index,BOOL Enable); |
|---|
| 220 |
HRESULT GetLightEnable( DWORD Index,BOOL* pEnable); |
|---|
| 221 |
HRESULT SetClipPlane( DWORD Index, float* pPlane); |
|---|
| 222 |
HRESULT GetClipPlane( DWORD Index,float* pPlane); |
|---|
| 223 |
HRESULT SetRenderState( D3DRENDERSTATETYPE State,DWORD Value); |
|---|
| 224 |
HRESULT GetRenderState( D3DRENDERSTATETYPE State,DWORD* pValue); |
|---|
| 225 |
HRESULT CreateStateBlock( D3DSTATEBLOCKTYPE Type,LPDIRECT3DSTATEBLOCK9* ppSB); |
|---|
| 226 |
HRESULT BeginStateBlock(); |
|---|
| 227 |
HRESULT EndStateBlock( LPDIRECT3DSTATEBLOCK9* ppSB); |
|---|
| 228 |
HRESULT SetClipStatus( D3DCLIPSTATUS9* pClipStatus); |
|---|
| 229 |
HRESULT GetClipStatus( D3DCLIPSTATUS9* pClipStatus); |
|---|
| 230 |
HRESULT GetTexture( DWORD Stage,LPDIRECT3DBASETEXTURE9* ppTexture); |
|---|
| 231 |
HRESULT SetTexture( DWORD Stage,LPDIRECT3DBASETEXTURE9 pTexture); |
|---|
| 232 |
HRESULT GetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue); |
|---|
| 233 |
HRESULT SetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value); |
|---|
| 234 |
HRESULT GetSamplerState( DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD* pValue); |
|---|
| 235 |
HRESULT SetSamplerState( DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD Value); |
|---|
| 236 |
HRESULT ValidateDevice( DWORD* pNumPasses); |
|---|
| 237 |
HRESULT SetPaletteEntries( UINT PaletteNumber, PALETTEENTRY* pEntries); |
|---|
| 238 |
HRESULT GetPaletteEntries( UINT PaletteNumber,PALETTEENTRY* pEntries); |
|---|
| 239 |
HRESULT SetCurrentTexturePalette( UINT PaletteNumber); |
|---|
| 240 |
HRESULT GetCurrentTexturePalette( UINT *PaletteNumber); |
|---|
| 241 |
HRESULT SetScissorRect( RECT* pRect); |
|---|
| 242 |
HRESULT GetScissorRect( RECT* pRect); |
|---|
| 243 |
HRESULT SetSoftwareVertexProcessing( BOOL bSoftware); |
|---|
| 244 |
BOOL GetSoftwareVertexProcessing(); |
|---|
| 245 |
HRESULT SetNPatchMode( float nSegments); |
|---|
| 246 |
float GetNPatchMode(); |
|---|
| 247 |
HRESULT DrawPrimitive( D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount); |
|---|
| 248 |
HRESULT DrawIndexedPrimitive( D3DPRIMITIVETYPE,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount); |
|---|
| 249 |
HRESULT DrawPrimitiveUP( D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount, void* pVertexStreamZeroData,UINT VertexStreamZeroStride); |
|---|
| 250 |
HRESULT DrawIndexedPrimitiveUP( D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertices,UINT PrimitiveCount, void* pIndexData,D3DFORMAT IndexDataFormat, void* pVertexStreamZeroData,UINT VertexStreamZeroStride); |
|---|
| 251 |
HRESULT ProcessVertices( UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,LPDIRECT3DVERTEXBUFFER9 pDestBuffer,LPDIRECT3DVERTEXDECLARATION9 pVertexDecl,DWORD Flags); |
|---|
| 252 |
HRESULT CreateVertexDeclaration( D3DVERTEXELEMENT9* pVertexElements,LPDIRECT3DVERTEXDECLARATION9* ppDecl); |
|---|
| 253 |
HRESULT SetVertexDeclaration(LPDIRECT3DVERTEXDECLARATION9 pDecl); |
|---|
| 254 |
HRESULT GetVertexDeclaration(LPDIRECT3DVERTEXDECLARATION9* ppDecl); |
|---|
| 255 |
HRESULT SetFVF( DWORD FVF); |
|---|
| 256 |
HRESULT GetFVF( DWORD* pFVF); |
|---|
| 257 |
HRESULT CreateVertexShader( DWORD* pFunction,LPDIRECT3DVERTEXSHADER9* ppShader); |
|---|
| 258 |
HRESULT SetVertexShader( LPDIRECT3DVERTEXSHADER9 pShader); |
|---|
| 259 |
HRESULT GetVertexShader( LPDIRECT3DVERTEXSHADER9* ppShader); |
|---|
| 260 |
HRESULT SetVertexShaderConstantF( UINT StartRegister, float* pConstantData,UINT Vector4fCount); |
|---|
| 261 |
HRESULT GetVertexShaderConstantF( UINT StartRegister,float* pConstantData,UINT Vector4fCount); |
|---|
| 262 |
HRESULT SetVertexShaderConstantI( UINT StartRegister, int* pConstantData,UINT Vector4iCount); |
|---|
| 263 |
HRESULT GetVertexShaderConstantI( UINT StartRegister,int* pConstantData,UINT Vector4iCount); |
|---|
| 264 |
HRESULT SetVertexShaderConstantB( UINT StartRegister, BOOL* pConstantData,UINT BoolCount); |
|---|
| 265 |
HRESULT GetVertexShaderConstantB( UINT StartRegister,BOOL* pConstantData,UINT BoolCount); |
|---|
| 266 |
HRESULT SetStreamSource( UINT StreamNumber,LPDIRECT3DVERTEXBUFFER9 pStreamData,UINT OffsetInBytes,UINT Stride); |
|---|
| 267 |
HRESULT GetStreamSource( UINT StreamNumber,LPDIRECT3DVERTEXBUFFER9* ppStreamData,UINT* pOffsetInBytes,UINT* pStride); |
|---|
| 268 |
HRESULT SetStreamSourceFreq( UINT StreamNumber,UINT Setting); |
|---|
| 269 |
HRESULT GetStreamSourceFreq( UINT StreamNumber,UINT* pSetting); |
|---|
| 270 |
HRESULT SetIndices( LPDIRECT3DINDEXBUFFER9 pIndexData); |
|---|
| 271 |
HRESULT GetIndices( LPDIRECT3DINDEXBUFFER9* ppIndexData); |
|---|
| 272 |
HRESULT CreatePixelShader( DWORD* pFunction,LPDIRECT3DPIXELSHADER9* ppShader); |
|---|
| 273 |
HRESULT SetPixelShader(LPDIRECT3DPIXELSHADER9 pShader); |
|---|
| 274 |
HRESULT GetPixelShader(LPDIRECT3DPIXELSHADER9* ppShader); |
|---|
| 275 |
HRESULT SetPixelShaderConstantF( UINT StartRegister, float* pConstantData,UINT Vector4fCount); |
|---|
| 276 |
HRESULT GetPixelShaderConstantF( UINT StartRegister,float* pConstantData,UINT Vector4fCount); |
|---|
| 277 |
HRESULT SetPixelShaderConstantI( UINT StartRegister, int* pConstantData,UINT Vector4iCount); |
|---|
| 278 |
HRESULT GetPixelShaderConstantI( UINT StartRegister,int* pConstantData,UINT Vector4iCount); |
|---|
| 279 |
HRESULT SetPixelShaderConstantB( UINT StartRegister, BOOL* pConstantData,UINT BoolCount); |
|---|
| 280 |
HRESULT GetPixelShaderConstantB( UINT StartRegister,BOOL* pConstantData,UINT BoolCount); |
|---|
| 281 |
HRESULT DrawRectPatch( UINT Handle, float* pNumSegs, D3DRECTPATCH_INFO* pRectPatchInfo); |
|---|
| 282 |
HRESULT DrawTriPatch( UINT Handle, float* pNumSegs, D3DTRIPATCH_INFO* pTriPatchInfo); |
|---|
| 283 |
HRESULT DeletePatch( UINT Handle); |
|---|
| 284 |
HRESULT CreateQuery( D3DQUERYTYPE Type,LPDIRECT3DQUERY9* ppQuery); |
|---|
| 285 |
/* |
|---|
| 286 |
debug { |
|---|
| 287 |
D3DDEVICE_CREATION_PARAMETERS CreationParameters; |
|---|
| 288 |
D3DPRESENT_PARAMETERS PresentParameters; |
|---|
| 289 |
D3DDISPLAYMODE DisplayMode; |
|---|
| 290 |
D3DCAPS9 Caps; |
|---|
| 291 |
|
|---|
| 292 |
UINT AvailableTextureMem; |
|---|
| 293 |
UINT SwapChains; |
|---|
| 294 |
UINT Textures; |
|---|
| 295 |
UINT VertexBuffers; |
|---|
| 296 |
UINT IndexBuffers; |
|---|
| 297 |
UINT VertexShaders; |
|---|
| 298 |
UINT PixelShaders; |
|---|
| 299 |
|
|---|
| 300 |
D3DVIEWPORT9 Viewport; |
|---|
| 301 |
D3DMATRIX ProjectionMatrix; |
|---|
| 302 |
D3DMATRIX ViewMatrix; |
|---|
| 303 |
D3DMATRIX WorldMatrix; |
|---|
| 304 |
D3DMATRIX TextureMatrices[8]; |
|---|
| 305 |
|
|---|
| 306 |
DWORD FVF; |
|---|
| 307 |
UINT VertexSize; |
|---|
| 308 |
DWORD VertexShaderVersion; |
|---|
| 309 |
DWORD PixelShaderVersion; |
|---|
| 310 |
BOOL SoftwareVertexProcessing; |
|---|
| 311 |
|
|---|
| 312 |
D3DMATERIAL9 Material; |
|---|
| 313 |
D3DLIGHT9 Lights[16]; |
|---|
| 314 |
BOOL LightsEnabled[16]; |
|---|
| 315 |
|
|---|
| 316 |
D3DGAMMARAMP GammaRamp; |
|---|
| 317 |
RECT ScissorRect; |
|---|
| 318 |
BOOL DialogBoxMode; |
|---|
| 319 |
} |
|---|
| 320 |
*/ |
|---|
| 321 |
} |
|---|
| 322 |
|
|---|
| 323 |
alias LPDIRECT3DDEVICE9 IDirect3DDevice9; |
|---|
| 324 |
|
|---|
| 325 |
|
|---|
| 326 |
interface LPDIRECT3DSTATEBLOCK9 : IUnknown |
|---|
| 327 |
{ |
|---|
| 328 |
HRESULT GetDevice(LPDIRECT3DDEVICE9* ppDevice); |
|---|
| 329 |
HRESULT Capture(); |
|---|
| 330 |
HRESULT Apply(); |
|---|
| 331 |
/* |
|---|
| 332 |
debug { |
|---|
| 333 |
LPCWSTR CreationCallStack; |
|---|
| 334 |
} |
|---|
| 335 |
*/ |
|---|
| 336 |
} |
|---|
| 337 |
|
|---|
| 338 |
alias LPDIRECT3DSTATEBLOCK9 IDirect3DStateBlock9; |
|---|
| 339 |
|
|---|
| 340 |
interface LPDIRECT3DSWAPCHAIN9 : IUnknown |
|---|
| 341 |
{ |
|---|
| 342 |
HRESULT Present( RECT* pSourceRect, RECT* pDestRect,HWND hDestWindowOverride, RGNDATA* pDirtyRegion,DWORD dwFlags); |
|---|
| 343 |
HRESULT GetFrontBufferData( LPDIRECT3DSURFACE9 pDestSurface); |
|---|
| 344 |
HRESULT GetBackBuffer( UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,LPDIRECT3DSURFACE9* ppBackBuffer); |
|---|
| 345 |
HRESULT GetRasterStatus( D3DRASTER_STATUS* pRasterStatus); |
|---|
| 346 |
HRESULT GetDisplayMode( D3DDISPLAYMODE* pMode); |
|---|
| 347 |
HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); |
|---|
| 348 |
HRESULT GetPresentParameters( D3DPRESENT_PARAMETERS* pPresentationParameters); |
|---|
| 349 |
/* |
|---|
| 350 |
debug { |
|---|
| 351 |
D3DPRESENT_PARAMETERS PresentParameters; |
|---|
| 352 |
D3DDISPLAYMODE DisplayMode; |
|---|
| 353 |
LPCWSTR CreationCallStack; |
|---|
| 354 |
} |
|---|
| 355 |
*/ |
|---|
| 356 |
} |
|---|
| 357 |
|
|---|
| 358 |
alias LPDIRECT3DSWAPCHAIN9 IDirect3DSwapChain9; |
|---|
| 359 |
|
|---|
| 360 |
interface LPDIRECT3DRESOURCE9 : IUnknown |
|---|
| 361 |
{ |
|---|
| 362 |
HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); |
|---|
| 363 |
HRESULT SetPrivateData( REFGUID refguid, void* pData,DWORD SizeOfData,DWORD Flags); |
|---|
| 364 |
HRESULT GetPrivateData( REFGUID refguid,void* pData,DWORD* pSizeOfData); |
|---|
| 365 |
HRESULT FreePrivateData( REFGUID refguid); |
|---|
| 366 |
DWORD SetPriority(DWORD PriorityNew); |
|---|
| 367 |
DWORD GetPriority(); |
|---|
| 368 |
void PreLoad(); |
|---|
| 369 |
D3DRESOURCETYPE GetType(); |
|---|
| 370 |
} |
|---|
| 371 |
|
|---|
| 372 |
alias LPDIRECT3DRESOURCE9 IDirect3DResource9; |
|---|
| 373 |
|
|---|
| 374 |
interface LPDIRECT3DVERTEXDECLARATION9 : IUnknown |
|---|
| 375 |
{ |
|---|
| 376 |
HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); |
|---|
| 377 |
HRESULT GetDeclaration( D3DVERTEXELEMENT9* pElement,UINT* pNumElements); |
|---|
| 378 |
/* |
|---|
| 379 |
debug { |
|---|
| 380 |
LPCWSTR CreationCallStack; |
|---|
| 381 |
} |
|---|
| 382 |
*/ |
|---|
| 383 |
} |
|---|
| 384 |
|
|---|
| 385 |
alias LPDIRECT3DVERTEXDECLARATION9 IDirect3DVertexDeclaration9; |
|---|
| 386 |
|
|---|
| 387 |
interface LPDIRECT3DVERTEXSHADER9 : IUnknown |
|---|
| 388 |
{ |
|---|
| 389 |
HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); |
|---|
| 390 |
HRESULT GetFunction( void*,UINT* pSizeOfData); |
|---|
| 391 |
/* |
|---|
| 392 |
debug { |
|---|
| 393 |
DWORD Version; |
|---|
| 394 |
LPCWSTR CreationCallStack; |
|---|
| 395 |
} |
|---|
| 396 |
*/ |
|---|
| 397 |
} |
|---|
| 398 |
|
|---|
| 399 |
alias LPDIRECT3DVERTEXSHADER9 IDirect3DVertexShader9; |
|---|
| 400 |
|
|---|
| 401 |
interface LPDIRECT3DPIXELSHADER9 : IUnknown |
|---|
| 402 |
{ |
|---|
| 403 |
HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); |
|---|
| 404 |
HRESULT GetFunction( void*,UINT* pSizeOfData); |
|---|
| 405 |
/* |
|---|
| 406 |
debug { |
|---|
| 407 |
DWORD Version; |
|---|
| 408 |
LPCWSTR CreationCallStack; |
|---|
| 409 |
} |
|---|
| 410 |
*/ |
|---|
| 411 |
} |
|---|
| 412 |
|
|---|
| 413 |
alias LPDIRECT3DPIXELSHADER9 IDirect3DPixelShader9; |
|---|
| 414 |
|
|---|
| 415 |
interface LPDIRECT3DBASETEXTURE9 : LPDIRECT3DRESOURCE9 |
|---|
| 416 |
{ |
|---|
| 417 |
DWORD SetLOD(DWORD LODNew); |
|---|
| 418 |
DWORD GetLOD(); |
|---|
| 419 |
DWORD GetLevelCount(); |
|---|
| 420 |
HRESULT SetAutoGenFilterType( D3DTEXTUREFILTERTYPE FilterType); |
|---|
| 421 |
D3DTEXTUREFILTERTYPE GetAutoGenFilterType(); |
|---|
| 422 |
void GenerateMipSubLevels(); |
|---|
| 423 |
} |
|---|
| 424 |
|
|---|
| 425 |
alias LPDIRECT3DBASETEXTURE9 IDirect3DBaseTexture9; |
|---|
| 426 |
|
|---|
| 427 |
interface LPDIRECT3DTEXTURE9 : LPDIRECT3DBASETEXTURE9 |
|---|
| 428 |
{ |
|---|
| 429 |
HRESULT GetLevelDesc( UINT Level,D3DSURFACE_DESC *pDesc); |
|---|
| 430 |
HRESULT GetSurfaceLevel( UINT Level,LPDIRECT3DSURFACE9* ppSurfaceLevel); |
|---|
| 431 |
HRESULT LockRect( UINT Level,D3DLOCKED_RECT* pLockedRect,RECT* pRect,DWORD Flags); |
|---|
| 432 |
HRESULT UnlockRect( UINT Level); |
|---|
| 433 |
HRESULT AddDirtyRect(RECT* pDirtyRect); |
|---|
| 434 |
/* |
|---|
| 435 |
debug { |
|---|
| 436 |
LPCWSTR Name; |
|---|
| 437 |
UINT Width; |
|---|
| 438 |
UINT Height; |
|---|
| 439 |
UINT Levels; |
|---|
| 440 |
DWORD Usage; |
|---|
| 441 |
D3DFORMAT Format; |
|---|
| 442 |
D3DPOOL Pool; |
|---|
| 443 |
DWORD Priority; |
|---|
| 444 |
DWORD LOD; |
|---|
| 445 |
D3DTEXTUREFILTERTYPE FilterType; |
|---|
| 446 |
UINT LockCount; |
|---|
| 447 |
LPCWSTR CreationCallStack; |
|---|
| 448 |
} |
|---|
| 449 |
*/ |
|---|
| 450 |
} |
|---|
| 451 |
|
|---|
| 452 |
alias LPDIRECT3DTEXTURE9 IDirect3DTexture9; |
|---|
| 453 |
|
|---|
| 454 |
interface LPDIRECT3DVOLUMETEXTURE9 : LPDIRECT3DBASETEXTURE9 |
|---|
| 455 |
{ |
|---|
| 456 |
HRESULT GetLevelDesc( UINT Level,D3DVOLUME_DESC *pDesc); |
|---|
| 457 |
HRESULT GetVolumeLevel( UINT Level,LPDIRECT3DVOLUME9* ppVolumeLevel); |
|---|
| 458 |
HRESULT LockBox( UINT Level,D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox,DWORD Flags); |
|---|
| 459 |
HRESULT UnlockBox( UINT Level); |
|---|
| 460 |
HRESULT AddDirtyBox( D3DBOX* pDirtyBox); |
|---|
| 461 |
/* |
|---|
| 462 |
debug { |
|---|
| 463 |
LPCWSTR Name; |
|---|
| 464 |
UINT Width; |
|---|
| 465 |
UINT Height; |
|---|
| 466 |
UINT Depth; |
|---|
| 467 |
UINT Levels; |
|---|
| 468 |
DWORD Usage; |
|---|
| 469 |
D3DFORMAT Format; |
|---|
| 470 |
D3DPOOL Pool; |
|---|
| 471 |
DWORD Priority; |
|---|
| 472 |
DWORD LOD; |
|---|
| 473 |
D3DTEXTUREFILTERTYPE FilterType; |
|---|
| 474 |
UINT LockCount; |
|---|
| 475 |
LPCWSTR CreationCallStack; |
|---|
| 476 |
} |
|---|
| 477 |
*/ |
|---|
| 478 |
} |
|---|
| 479 |
|
|---|
| 480 |
alias LPDIRECT3DVOLUMETEXTURE9 IDirect3DVolumeTexture9; |
|---|
| 481 |
|
|---|
| 482 |
interface LPDIRECT3DCUBETEXTURE9 : LPDIRECT3DBASETEXTURE9 |
|---|
| 483 |
{ |
|---|
| 484 |
HRESULT GetLevelDesc( UINT Level,D3DSURFACE_DESC *pDesc); |
|---|
| 485 |
HRESULT GetCubeMapSurface( D3DCUBEMAP_FACES FaceType,UINT Level,LPDIRECT3DSURFACE9* ppCubeMapSurface); |
|---|
| 486 |
HRESULT LockRect( D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT* pLockedRect, RECT* pRect,DWORD Flags); |
|---|
| 487 |
HRESULT UnlockRect( D3DCUBEMAP_FACES FaceType,UINT Level); |
|---|
| 488 |
HRESULT AddDirtyRect( D3DCUBEMAP_FACES FaceType, RECT* pDirtyRect); |
|---|
| 489 |
/* |
|---|
| 490 |
debug { |
|---|
| 491 |
LPCWSTR Name; |
|---|
| 492 |
UINT Width; |
|---|
| 493 |
UINT Height; |
|---|
| 494 |
UINT Levels; |
|---|
| 495 |
DWORD Usage; |
|---|
| 496 |
D3DFORMAT Format; |
|---|
| 497 |
D3DPOOL Pool; |
|---|
| 498 |
DWORD Priority; |
|---|
| 499 |
DWORD LOD; |
|---|
| 500 |
D3DTEXTUREFILTERTYPE FilterType; |
|---|
| 501 |
UINT LockCount; |
|---|
| 502 |
LPCWSTR CreationCallStack; |
|---|
| 503 |
} |
|---|
| 504 |
*/ |
|---|
| 505 |
} |
|---|
| 506 |
|
|---|
| 507 |
alias LPDIRECT3DCUBETEXTURE9 IDirect3DCubeTexture9; |
|---|
| 508 |
|
|---|
| 509 |
interface LPDIRECT3DVERTEXBUFFER9 : LPDIRECT3DRESOURCE9 |
|---|
| 510 |
{ |
|---|
| 511 |
HRESULT Lock( UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags); |
|---|
| 512 |
HRESULT Unlock(); |
|---|
| 513 |
HRESULT GetDesc( D3DVERTEXBUFFER_DESC *pDesc); |
|---|
| 514 |
/* |
|---|
| 515 |
debug { |
|---|
| 516 |
LPCWSTR Name; |
|---|
| 517 |
UINT Length; |
|---|
| 518 |
DWORD Usage; |
|---|
| 519 |
DWORD FVF; |
|---|
| 520 |
D3DPOOL Pool; |
|---|
| 521 |
DWORD Priority; |
|---|
| 522 |
UINT LockCount; |
|---|
| 523 |
LPCWSTR CreationCallStack; |
|---|
| 524 |
} |
|---|
| 525 |
*/ |
|---|
| 526 |
} |
|---|
| 527 |
|
|---|
| 528 |
alias LPDIRECT3DVERTEXBUFFER9 IDirect3DVertexBuffer9; |
|---|
| 529 |
|
|---|
| 530 |
interface LPDIRECT3DINDEXBUFFER9 : LPDIRECT3DRESOURCE9 |
|---|
| 531 |
{ |
|---|
| 532 |
HRESULT Lock( UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags); |
|---|
| 533 |
HRESULT Unlock(); |
|---|
| 534 |
HRESULT GetDesc( D3DINDEXBUFFER_DESC *pDesc); |
|---|
| 535 |
/* |
|---|
| 536 |
debug { |
|---|
| 537 |
LPCWSTR Name; |
|---|
| 538 |
UINT Length; |
|---|
| 539 |
DWORD Usage; |
|---|
| 540 |
D3DFORMAT Format; |
|---|
| 541 |
D3DPOOL Pool; |
|---|
| 542 |
DWORD Priority; |
|---|
| 543 |
UINT LockCount; |
|---|
| 544 |
LPCWSTR CreationCallStack; |
|---|
| 545 |
} |
|---|
| 546 |
*/ |
|---|
| 547 |
} |
|---|
| 548 |
|
|---|
| 549 |
alias LPDIRECT3DINDEXBUFFER9 IDirect3DIndexBuffer9; |
|---|
| 550 |
|
|---|
| 551 |
interface LPDIRECT3DSURFACE9 : LPDIRECT3DRESOURCE9 |
|---|
| 552 |
{ |
|---|
| 553 |
HRESULT GetContainer( REFIID riid,void** ppContainer); |
|---|
| 554 |
HRESULT GetDesc( D3DSURFACE_DESC *pDesc); |
|---|
| 555 |
HRESULT LockRect( D3DLOCKED_RECT* pLockedRect, RECT* pRect,DWORD Flags); |
|---|
| 556 |
HRESULT UnlockRect(); |
|---|
| 557 |
HRESULT GetDC( HDC *phdc); |
|---|
| 558 |
HRESULT ReleaseDC( HDC hdc); |
|---|
| 559 |
/* |
|---|
| 560 |
debug { |
|---|
| 561 |
LPCWSTR Name; |
|---|
| 562 |
UINT Width; |
|---|
| 563 |
UINT Height; |
|---|
| 564 |
DWORD Usage; |
|---|
| 565 |
D3DFORMAT Format; |
|---|
| 566 |
D3DPOOL Pool; |
|---|
| 567 |
D3DMULTISAMPLE_TYPE MultiSampleType; |
|---|
| 568 |
DWORD MultiSampleQuality; |
|---|
| 569 |
DWORD Priority; |
|---|
| 570 |
UINT LockCount; |
|---|
| 571 |
UINT DCCount; |
|---|
| 572 |
LPCWSTR CreationCallStack; |
|---|
| 573 |
} |
|---|
| 574 |
*/ |
|---|
| 575 |
} |
|---|
| 576 |
|
|---|
| 577 |
alias LPDIRECT3DSURFACE9 IDirect3DSurface9; |
|---|
| 578 |
|
|---|
| 579 |
interface LPDIRECT3DVOLUME9 : IUnknown |
|---|
| 580 |
{ |
|---|
| 581 |
HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); |
|---|
| 582 |
HRESULT SetPrivateData( REFGUID refguid, void* pData,DWORD SizeOfData,DWORD Flags); |
|---|
| 583 |
HRESULT GetPrivateData( REFGUID refguid,void* pData,DWORD* pSizeOfData); |
|---|
| 584 |
HRESULT FreePrivateData( REFGUID refguid); |
|---|
| 585 |
HRESULT GetContainer( REFIID riid,void** ppContainer); |
|---|
| 586 |
HRESULT GetDesc( D3DVOLUME_DESC *pDesc); |
|---|
| 587 |
HRESULT LockBox( D3DLOCKED_BOX * pLockedVolume, D3DBOX* pBox,DWORD Flags); |
|---|
| 588 |
HRESULT UnlockBox(); |
|---|
| 589 |
/* |
|---|
| 590 |
debug { |
|---|
| 591 |
LPCWSTR Name; |
|---|
| 592 |
UINT Width; |
|---|
| 593 |
UINT Height; |
|---|
| 594 |
UINT Depth; |
|---|
| 595 |
DWORD Usage; |
|---|
| 596 |
D3DFORMAT Format; |
|---|
| 597 |
D3DPOOL Pool; |
|---|
| 598 |
UINT LockCount; |
|---|
| 599 |
LPCWSTR CreationCallStack; |
|---|
| 600 |
} |
|---|
| 601 |
*/ |
|---|
| 602 |
} |
|---|
| 603 |
|
|---|
| 604 |
alias LPDIRECT3DVOLUME9 IDirect3DVolume9; |
|---|
| 605 |
|
|---|
| 606 |
interface LPDIRECT3DQUERY9 : IUnknown |
|---|
| 607 |
{ |
|---|
| 608 |
HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); |
|---|
| 609 |
D3DQUERYTYPE GetType(); |
|---|
| 610 |
DWORD GetDataSize(); |
|---|
| 611 |
HRESULT Issue( DWORD dwIssueFlags); |
|---|
| 612 |
HRESULT GetData( void* pData,DWORD dwSize,DWORD dwGetDataFlags); |
|---|
| 613 |
/* |
|---|
| 614 |
debug { |
|---|
| 615 |
D3DQUERYTYPE Type; |
|---|
| 616 |
DWORD DataSize; |
|---|
| 617 |
LPCWSTR CreationCallStack; |
|---|
| 618 |
} |
|---|
| 619 |
*/ |
|---|
| 620 |
} |
|---|
| 621 |
|
|---|
| 622 |
alias LPDIRECT3DQUERY9 IDirect3DQuery9; |
|---|
| 623 |
|
|---|
| 624 |
/**************************************************************************** |
|---|
| 625 |
* Flags for SetPrivateData method on all D3D9 interfaces |
|---|
| 626 |
* |
|---|
| 627 |
* The passed pointer is an IUnknown ptr. The SizeOfData argument to SetPrivateData |
|---|
| 628 |
* must be set to sizeof(IUnknown*). Direct3D will call AddRef through this |
|---|
| 629 |
* pointer and Release when the private data is destroyed. The data will be |
|---|
| 630 |
* destroyed when another SetPrivateData with the same GUID is set, when |
|---|
| 631 |
* FreePrivateData is called, or when the D3D9 object is freed. |
|---|
| 632 |
****************************************************************************/ |
|---|
| 633 |
const D3DSPD_IUNKNOWN = 0x00000001L; |
|---|
| 634 |
|
|---|
| 635 |
/**************************************************************************** |
|---|
| 636 |
* |
|---|
| 637 |
* Flags for IDirect3D9::CreateDevice's BehaviorFlags |
|---|
| 638 |
* |
|---|
| 639 |
****************************************************************************/ |
|---|
| 640 |
|
|---|
| 641 |
const D3DCREATE_FPU_PRESERVE = 0x00000002L; |
|---|
| 642 |
const D3DCREATE_MULTITHREADED = 0x00000004L; |
|---|
| 643 |
|
|---|
| 644 |
const D3DCREATE_PUREDEVICE = 0x00000010L; |
|---|
| 645 |
const D3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020L; |
|---|
| 646 |
const D3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040L; |
|---|
| 647 |
const D3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080L; |
|---|
| 648 |
|
|---|
| 649 |
const D3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100L; |
|---|
| 650 |
const D3DCREATE_ADAPTERGROUP_DEVICE = 0x00000200L; |
|---|
| 651 |
const D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX = 0x00000400L; |
|---|
| 652 |
|
|---|
| 653 |
// This flag causes the D3D runtime not to alter the focus |
|---|
| 654 |
// window in any way. Use with caution- the burden of supporting |
|---|
| 655 |
// focus management events (alt-tab, etc.) falls on the |
|---|
| 656 |
// application, and appropriate responses (switching display |
|---|
| 657 |
// mode, etc.) should be coded. |
|---|
| 658 |
const D3DCREATE_NOWINDOWCHANGES = 0x00000800L; |
|---|
| 659 |
|
|---|
| 660 |
// Disable multithreading for software vertex processing |
|---|
| 661 |
const D3DCREATE_DISABLE_PSGP_THREADING = 0x00002000L; |
|---|
| 662 |
// This flag enables present statistics on device. |
|---|
| 663 |
const D3DCREATE_ENABLE_PRESENTSTATS = 0x00004000L; |
|---|
| 664 |
// This flag disables printscreen support in the runtime for this device |
|---|
| 665 |
const D3DCREATE_DISABLE_PRINTSCREEN = 0x00008000L; |
|---|
| 666 |
|
|---|
| 667 |
const D3DCREATE_SCREENSAVER = 0x10000000L; |
|---|
| 668 |
|
|---|
| 669 |
|
|---|
| 670 |
/**************************************************************************** |
|---|
| 671 |
* |
|---|
| 672 |
* Parameter for IDirect3D9::CreateDevice's Adapter argument |
|---|
| 673 |
* |
|---|
| 674 |
****************************************************************************/ |
|---|
| 675 |
|
|---|
| 676 |
const D3DADAPTER_DEFAULT = 0; |
|---|
| 677 |
|
|---|
| 678 |
/**************************************************************************** |
|---|
| 679 |
* |
|---|
| 680 |
* Flags for IDirect3D9::EnumAdapters |
|---|
| 681 |
* |
|---|
| 682 |
****************************************************************************/ |
|---|
| 683 |
|
|---|
| 684 |
/* |
|---|
| 685 |
* The D3DENUM_WHQL_LEVEL value has been retired for 9Ex and future versions, |
|---|
| 686 |
* but it needs to be defined here for compatibility with DX9 and earlier versions. |
|---|
| 687 |
* See the DirectX SDK for sample code on discovering driver signatures. |
|---|
| 688 |
*/ |
|---|
| 689 |
const D3DENUM_WHQL_LEVEL = 0x00000002L; |
|---|
| 690 |
|
|---|
| 691 |
/* NO_DRIVERVERSION will not fill out the DriverVersion field, nor will the |
|---|
| 692 |
DriverVersion be incorporated into the DeviceIdentifier GUID. WINNT only */ |
|---|
| 693 |
const D3DENUM_NO_DRIVERVERSION = 0x00000004L; |
|---|
| 694 |
|
|---|
| 695 |
|
|---|
| 696 |
/**************************************************************************** |
|---|
| 697 |
* |
|---|
| 698 |
* Maximum number of back-buffers supported in DX9 |
|---|
| 699 |
* |
|---|
| 700 |
****************************************************************************/ |
|---|
| 701 |
|
|---|
| 702 |
const D3DPRESENT_BACK_BUFFERS_MAX = 3L; |
|---|
| 703 |
|
|---|
| 704 |
/**************************************************************************** |
|---|
| 705 |
* |
|---|
| 706 |
* Maximum number of back-buffers supported when apps use CreateDeviceEx |
|---|
| 707 |
* |
|---|
| 708 |
****************************************************************************/ |
|---|
| 709 |
const D3DPRESENT_BACK_BUFFERS_MAX_EX = 30L; |
|---|
| 710 |
|
|---|
| 711 |
/**************************************************************************** |
|---|
| 712 |
* |
|---|
| 713 |
* Flags for IDirect3DDevice9::SetGammaRamp |
|---|
| 714 |
* |
|---|
| 715 |
****************************************************************************/ |
|---|
| 716 |
|
|---|
| 717 |
const D3DSGR_NO_CALIBRATION = 0x00000000L; |
|---|
| 718 |
const D3DSGR_CALIBRATE = 0x00000001L; |
|---|
| 719 |
|
|---|
| 720 |
/**************************************************************************** |
|---|
| 721 |
* |
|---|
| 722 |
* Flags for IDirect3DDevice9::SetCursorPosition |
|---|
| 723 |
* |
|---|
| 724 |
****************************************************************************/ |
|---|
| 725 |
|
|---|
| 726 |
const D3DCURSOR_IMMEDIATE_UPDATE = 0x00000001L; |
|---|
| 727 |
|
|---|
| 728 |
/**************************************************************************** |
|---|
| 729 |
* |
|---|
| 730 |
* Flags for IDirect3DSwapChain9::Present |
|---|
| 731 |
* |
|---|
| 732 |
****************************************************************************/ |
|---|
| 733 |
|
|---|
| 734 |
const D3DPRESENT_DONOTWAIT = 0x00000001L; |
|---|
| 735 |
const D3DPRESENT_LINEAR_CONTENT = 0x00000002L; |
|---|
| 736 |
const D3DPRESENT_DONOTFLIP = 0x00000004L; |
|---|
| 737 |
const D3DPRESENT_FLIPRESTART = 0x00000008L; |
|---|
| 738 |
const D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR = 0x00000010L; |
|---|
| 739 |
|
|---|
| 740 |
/**************************************************************************** |
|---|
| 741 |
* |
|---|
| 742 |
* Flags for DrawPrimitive/DrawIndexedPrimitive |
|---|
| 743 |
* Also valid for Begin/BeginIndexed |
|---|
| 744 |
* Also valid for VertexBuffer::CreateVertexBuffer |
|---|
| 745 |
****************************************************************************/ |
|---|
| 746 |
|
|---|
| 747 |
|
|---|
| 748 |
/* |
|---|
| 749 |
* DirectDraw error codes |
|---|
| 750 |
*/ |
|---|
| 751 |
const _FACD3D = 0x876; |
|---|
| 752 |
HRESULT MAKE_D3DHRESULT(T)(T code) { return MAKE_HRESULT( 1, _FACD3D, code ); } |
|---|
| 753 |
HRESULT MAKE_D3DSTATUS(T)(T code) { return MAKE_HRESULT( 0, _FACD3D, code ); } |
|---|
| 754 |
|
|---|
| 755 |
/* |
|---|
| 756 |
* Direct3D Errors |
|---|
| 757 |
*/ |
|---|
| 758 |
const HRESULT D3D_OK = S_OK; |
|---|
| 759 |
|
|---|
| 760 |
const HRESULT D3DERR_WRONGTEXTUREFORMAT = MAKE_D3DHRESULT(2072); |
|---|
| 761 |
const HRESULT D3DERR_UNSUPPORTEDCOLOROPERATION = MAKE_D3DHRESULT(2073); |
|---|
| 762 |
const HRESULT D3DERR_UNSUPPORTEDCOLORARG = MAKE_D3DHRESULT(2074); |
|---|
| 763 |
const HRESULT D3DERR_UNSUPPORTEDALPHAOPERATION = MAKE_D3DHRESULT(2075); |
|---|
| 764 |
const HRESULT D3DERR_UNSUPPORTEDALPHAARG = MAKE_D3DHRESULT(2076); |
|---|
| 765 |
const HRESULT D3DERR_TOOMANYOPERATIONS = MAKE_D3DHRESULT(2077); |
|---|
| 766 |
const HRESULT D3DERR_CONFLICTINGTEXTUREFILTER = MAKE_D3DHRESULT(2078); |
|---|
| 767 |
const HRESULT D3DERR_UNSUPPORTEDFACTORVALUE = MAKE_D3DHRESULT(2079); |
|---|
| 768 |
const HRESULT D3DERR_CONFLICTINGRENDERSTATE = MAKE_D3DHRESULT(2081); |
|---|
| 769 |
const HRESULT D3DERR_UNSUPPORTEDTEXTUREFILTER = MAKE_D3DHRESULT(2082); |
|---|
| 770 |
const HRESULT D3DERR_CONFLICTINGTEXTUREPALETTE = MAKE_D3DHRESULT(2086); |
|---|
| 771 |
const HRESULT D3DERR_DRIVERINTERNALERROR = MAKE_D3DHRESULT(2087); |
|---|
| 772 |
|
|---|
| 773 |
const HRESULT D3DERR_NOTFOUND = MAKE_D3DHRESULT(2150); |
|---|
| 774 |
const HRESULT D3DERR_MOREDATA = MAKE_D3DHRESULT(2151); |
|---|
| 775 |
const HRESULT D3DERR_DEVICELOST = MAKE_D3DHRESULT(2152); |
|---|
| 776 |
const HRESULT D3DERR_DEVICENOTRESET = MAKE_D3DHRESULT(2153); |
|---|
| 777 |
const HRESULT D3DERR_NOTAVAILABLE = MAKE_D3DHRESULT(2154); |
|---|
| 778 |
const HRESULT D3DERR_OUTOFVIDEOMEMORY = MAKE_D3DHRESULT(380); |
|---|
| 779 |
const HRESULT D3DERR_INVALIDDEVICE = MAKE_D3DHRESULT(2155); |
|---|
| 780 |
const HRESULT D3DERR_INVALIDCALL = MAKE_D3DHRESULT(2156); |
|---|
| 781 |
const HRESULT D3DERR_DRIVERINVALIDCALL = MAKE_D3DHRESULT(2157); |
|---|
| 782 |
const HRESULT D3DERR_WASSTILLDRAWING = MAKE_D3DHRESULT(540); |
|---|
| 783 |
const HRESULT D3DOK_NOAUTOGEN = MAKE_D3DSTATUS(2159); |
|---|
| 784 |
const HRESULT D3DERR_DEVICEREMOVED = MAKE_D3DHRESULT(2160); |
|---|
| 785 |
const HRESULT S_NOT_RESIDENT = MAKE_D3DSTATUS(2165); |
|---|
| 786 |
const HRESULT S_RESIDENT_IN_SHARED_MEMORY = MAKE_D3DSTATUS(2166); |
|---|
| 787 |
const HRESULT S_PRESENT_MODE_CHANGED = MAKE_D3DSTATUS(2167); |
|---|
| 788 |
const HRESULT S_PRESENT_OCCLUDED = MAKE_D3DSTATUS(2168); |
|---|
| 789 |
const HRESULT D3DERR_DEVICEHUNG = MAKE_D3DHRESULT(2164); |
|---|
| 790 |
|
|---|
| 791 |
|
|---|
| 792 |
/********************* |
|---|
| 793 |
/* D3D9Ex interfaces |
|---|
| 794 |
/*********************/ |
|---|
| 795 |
|
|---|
| 796 |
extern (Windows) HRESULT Direct3DCreate9Ex(UINT SDKVersion, LPDIRECT3D9EX*); |
|---|
| 797 |
|
|---|
| 798 |
interface LPDIRECT3D9EX : LPDIRECT3D9 |
|---|
| 799 |
{ |
|---|
| 800 |
UINT GetAdapterModeCountEx(UINT Adapter, D3DDISPLAYMODEFILTER* pFilter ); |
|---|
| 801 |
HRESULT EnumAdapterModesEx( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter,UINT Mode,D3DDISPLAYMODEEX* pMode); |
|---|
| 802 |
HRESULT GetAdapterDisplayModeEx( UINT Adapter,D3DDISPLAYMODEEX* pMode,D3DDISPLAYROTATION* pRotation); |
|---|
| 803 |
HRESULT CreateDeviceEx( UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,D3DDISPLAYMODEEX* pFullscreenDisplayMode,LPDIRECT3DDEVICE9EX* ppReturnedDeviceInterface); |
|---|
| 804 |
HRESULT GetAdapterLUID( UINT Adapter,LUID * pLUID); |
|---|
| 805 |
} |
|---|
| 806 |
|
|---|
| 807 |
alias LPDIRECT3D9EX IDirect3D9Ex; |
|---|
| 808 |
|
|---|
| 809 |
interface LPDIRECT3DDEVICE9EX : LPDIRECT3DDEVICE9 |
|---|
| 810 |
{ |
|---|
| 811 |
HRESULT SetConvolutionMonoKernel( UINT width,UINT height,float* rows,float* columns); |
|---|
| 812 |
HRESULT ComposeRects( LPDIRECT3DSURFACE9 pSrc,LPDIRECT3DSURFACE9 pDst,LPDIRECT3DVERTEXBUFFER9 pSrcRectDescs,UINT NumRects,LPDIRECT3DVERTEXBUFFER9 pDstRectDescs,D3DCOMPOSERECTSOP Operation,int Xoffset,int Yoffset); |
|---|
| 813 |
HRESULT PresentEx( RECT* pSourceRect, RECT* pDestRect,HWND hDestWindowOverride, RGNDATA* pDirtyRegion,DWORD dwFlags); |
|---|
| 814 |
HRESULT GetGPUThreadPriority( INT* pPriority); |
|---|
| 815 |
HRESULT SetGPUThreadPriority( INT Priority); |
|---|
| 816 |
HRESULT WaitForVBlank( UINT iSwapChain); |
|---|
| 817 |
HRESULT CheckResourceResidency( LPDIRECT3DRESOURCE9* pResourceArray,UINT32 NumResources); |
|---|
| 818 |
HRESULT SetMaximumFrameLatency( UINT MaxLatency); |
|---|
| 819 |
HRESULT GetMaximumFrameLatency( UINT* pMaxLatency); |
|---|
| 820 |
HRESULT CheckDeviceState( HWND hDestinationWindow); |
|---|
| 821 |
HRESULT CreateRenderTargetEx( UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Lockable,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle,DWORD Usage); |
|---|
| 822 |
HRESULT CreateOffscreenPlainSurfaceEx( UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle,DWORD Usage); |
|---|
| 823 |
HRESULT CreateDepthStencilSurfaceEx( UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Discard,LPDIRECT3DSURFACE9* ppSurface,HANDLE* pSharedHandle,DWORD Usage); |
|---|
| 824 |
HRESULT ResetEx( D3DPRESENT_PARAMETERS* pPresentationParameters,D3DDISPLAYMODEEX *pFullscreenDisplayMode); |
|---|
| 825 |
HRESULT GetDisplayModeEx( UINT iSwapChain,D3DDISPLAYMODEEX* pMode,D3DDISPLAYROTATION* pRotation); |
|---|
| 826 |
} |
|---|
| 827 |
|
|---|
| 828 |
alias LPDIRECT3DDEVICE9EX IDirect3DDevice9Ex; |
|---|
| 829 |
|
|---|
| 830 |
interface LPDIRECT3DSWAPCHAIN9EX : LPDIRECT3DSWAPCHAIN9 |
|---|
| 831 |
{ |
|---|
| 832 |
HRESULT GetLastPresentCount( UINT* pLastPresentCount); |
|---|
| 833 |
HRESULT GetPresentStats( D3DPRESENTSTATS* pPresentationStatistics); |
|---|
| 834 |
HRESULT GetDisplayModeEx( D3DDISPLAYMODEEX* pMode,D3DDISPLAYROTATION* pRotation); |
|---|
| 835 |
} |
|---|
| 836 |
|
|---|
| 837 |
alias LPDIRECT3DSWAPCHAIN9EX IDirect3DSwapChain9Ex; |
|---|