<- Homepage
Bu sayfası tamamen gönüllü olarak kendim hazırladım yani kişisel bir referans sitesidir. Tabiki istediğiniz gibi kullanabilirsiniz sonuçta geliştiriciler için işleri kolaylaştırmak istedim yani anlayacağınız resmi bir doküman değildir, DirectX, Microsoft'un tescilli markasıdır. Öte yandan DirectX gibi güzel bir teknolojinin sıkıcı ve karmaşık dokümanlardan ziyade daha iyi bir dokümana ihtiyacı olduğunu hissettim. Normalde web sitesi ile uğraşmaktan hiç hoşlanmam fakat bunu yaparken inanılmaz keyif aldım.
( IDirect3DDevice9 hala Tadilatta )
Fonksiyon Kullanım Şekli:
C++: d3d9->CreateDevice(...);
C : d3d9->lpVtbl->CreateDevice(d3d9, ...);
Requirements
Functions
Interfaces
IUnknown
├►IDirect3D9
├►IDirect3DDevice9
├►IDirect3DPixelShader9
├►IDirect3DQuery9
├►IDirect3DResource9
│ ├►IDirect3DBaseTexture9
│ │ ├►IDirect3DCubeTexture9
│ │ ├►IDirect3DTexture9
│ │ └►IDirect3DVolumeTexture9
│ ├►IDirect3DIndexBuffer9
│ ├►IDirect3DSurface9
│ ├►IDirect3DVertexBuffer9
│ └►IDirect3DVolume9
├►IDirect3DStateBlock9
├►IDirect3DSwapChain9
├►IDirect3DVertexDeclaration9
└►IDirect3DVertexShader9
ULONG IUnknown::AddRef();
HRESULT IUnknown::QueryInterface(REFIID riid, void **ppvObject);
ret: E_NOINTERFACE, E_POINTER
ULONG IUnknown::Release();
^ IDirect3D9::
CheckDepthStencilMatch
CheckDeviceFormat
CheckDeviceFormatConversion
CheckDeviceMultiSampleType
CheckDeviceType
CreateDevice
EnumAdapterModes
GetAdapterCount
GetAdapterDisplayMode
GetAdapterIdentifier
GetAdapterModeCount
GetAdapterMonitor
GetDeviceCaps
RegisterSoftwareDevice
^ IDirect3DBaseTexture9::
GenerateMipSubLevels
GetAutoGenFilterType
GetLevelCount
GetLOD
SetAutoGenFilterType
SetLOD
^ IDirect3DCubeTexture9::
AddDirtyRect
GetCubeMapSurface
GetLevelDesc
LockRect
UnlockRect
^ IDirect3DDevice9::
BeginScene
BeginStateBlock
Clear
ColorFill
CreateAdditionalSwapChain
CreateCubeTexture
CreateDepthStencilSurface
CreateIndexBuffer
CreateOffscreenPlainSurface
CreatePixelShader
CreateQuery
CreateRenderTarget
CreateStateBlock
CreateTexture
CreateVertexBuffer
CreateVertexDeclaration
CreateVertexShader
CreateVolumeTexture
DeletePatch
DrawIndexedPrimitive
DrawIndexedPrimitiveUP
DrawPrimitive
DrawPrimitiveUP
DrawRectPatch
DrawTriPatch
EndScene
EndStateBlock
EvictManagedResources
GetAvailableTextureMem
GetBackBuffer
GetClipPlane
GetClipStatus
GetCreationParameters
GetCurrentTexturePalette
GetDepthStencilSurface
GetDeviceCaps
GetDirect3D
GetDisplayMode
GetFrontBufferData
GetFVF
GetGammaRamp
GetIndices
GetLight
GetLightEnable
GetMaterial
GetNPatchMode
GetNumberOfSwapChains
GetPaletteEntries
GetPixelShader
GetPixelShaderConstantB
GetPixelShaderConstantF
GetPixelShaderConstantF
GetRasterStatus
GetRenderState
GetRenderTarget
GetRenderTargetData
GetSamplerState
GetScissorRect
GetSoftwareVertexProcessing
GetStreamSource
GetStreamSourceFreq
GetSwapChain
GetTexture
GetTextureStageState
GetTransform
GetVertexDeclaration
GetVertexShader
GetVertexShaderConstantB
GetVertexShaderConstantF
GetVertexShaderConstantI
GetViewport
LightEnable
MultiplyTransform
Present
ProcessVertices
Reset
SetClipPlane
SetClipStatus
SetCurrentTexturePalette
SetCursorPosition
SetCursorProperties
SetDepthStencilSurface
SetDialogBoxMode
SetFVF
SetGammaRamp
SetIndices
SetLight
SetMaterial
SetNPatchMode
SetPaletteEntries
SetPixelShader
SetPixelShaderConstantB
SetPixelShaderConstantF
SetPixelShaderConstantI
SetRenderState
SetRenderTarget
SetSamplerState
SetScissorRect
SetSoftwareVertexProcessing
SetStreamSource
SetStreamSourceFreq
SetTexture
SetTextureStageState
SetTransform
SetVertexDeclaration
SetVertexShader
SetVertexShaderConstantB
SetVertexShaderConstantF
SetVertexShaderConstantI
SetViewport
ShowCursor
StretchRect
TestCooperativeLevel
UpdateSurface
UpdateTexture
ValidateDevice
^ IDirect3DIndexBuffer9::
GetDesc
Lock
Unlock
^ IDirect3DPixelShader9::
GetDevice
GetFunction
^ IDirect3DQuery9::
GetData
GetDataSize
GetDevice
GetType
Issue
^ IDirect3DResource9::
FreePrivateData
GetDevice
GetPriority
GetPrivateData
GetType
PreLoad
SetPriority
SetPrivateData
^ IDirect3DStateBlock9::
Apply
Capture
GetDevice
^ IDirect3DSurface9::
GetContainer
GetDC
GetDesc
LockRect
ReleaseDC
UnlockRect
^ IDirect3DSwapChain9::
GetBackBuffer
GetDevice
GetDisplayMode
GetFrontBufferData
GetPresentParameters
GetRasterStatus
Present
^ IDirect3DTexture9::
AddDirtyRect
GetLevelDesc
GetSurfaceLevel
LockRect
UnlockRect
^ IDirect3DVertexBuffer9::
GetDesc
Lock
Unlock
^ IDirect3DVertexDeclaration9::
GetDeclaration
GetDevice
^ IDirect3DVertexShader9::
GetDevice
GetFunction
^ IDirect3DVolume9::
FreePrivateData
GetContainer
GetDesc
GetDevice
GetPrivateData
LockBox
SetPrivateData
UnlockBox
^ IDirect3DVolumeTexture9::
AddDirtyBox
GetLevelDesc
GetVolumeLevel
LockBox
UnlockBox
IDirect3D9 * Direct3DCreate9(
UINT SDKVersion
);
Başarılı olduysa örnek pointeri döndürür.
Başarılı olmadıysa NULL döndürür.
HRESULT CheckDepthStencilMatch(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT AdapterFormat,
[in] D3DFORMAT RenderTargetFormat,
[in] D3DFORMAT DepthStencilFormat
);
Seçilen derinlik ayarıyla renk ayarının ekran kartında
birbiriyle uyumlu olup olmadığını kontrol eder
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
HRESULT CheckDeviceFormat(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT AdapterFormat,
[in] DWORD Usage ,
[in] D3DRESOURCETYPE RType,
[in] D3DFORMAT CheckFormat
);
Seçilen formatın donanım ile uyumunu kontrol eder.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
HRESULT CheckDeviceFormatConversion(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT SourceFormat,
[in] D3DFORMAT TargetFormat
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
HRESULT CheckDeviceMultiSampleType(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT SurfaceFormat,
[in] BOOL Windowed,
[in] D3DMULTISAMPLE_TYPE MultiSampleType,
[out] DWORD *pQualityLevels
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
D3DERR_INVALIDDEVICE
HRESULT CheckDeviceType(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT DisplayFormat,
[in] D3DFORMAT BackBufferFormat,
[in] BOOL Windowed
);
Adaptörde seçilen donanım hızlandırmalı
cihaz tipinin kullanılıp kullanılamayacağını
döndürür.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
HRESULT CreateDevice(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[in] HWND hFocusWindow,
[in] DWORD BehaviorFlags ,
[in, out] D3DPRESENT_PARAMETERS *pPresentationParameters,
[out, retval] IDirect3DDevice9 **ppReturnedDeviceInterface
);
IDirect3DDevice9 adresini dolduran fonksiyondur.
Çalışması için öncesinde bir yaratılmış pencereye ihtiyaç duyar.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_DEVICELOST
D3DERR_INVALIDCALL
D3DERR_NOTAVAILABLE
D3DERR_OUTOFVIDEOMEMORY
HRESULT EnumAdapterModes(
[in] UINT Adapter ,
[in] D3DFORMAT Format,
[in] UINT Mode,
[out] D3DDISPLAYMODE *pMode
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_DEVICELOST
D3DERR_INVALIDCALL
UINT GetAdapterCount();
HRESULT GetAdapterDisplayMode(
[in] UINT Adapter ,
[in, out] D3DDISPLAYMODE *pMode
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
HRESULT GetAdapterIdentifier(
[in] UINT Adapter ,
[in] DWORD Flags ,
[out] D3DADAPTER_IDENTIFIER9 *pIdentifier
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
UINT GetAdapterModeCount(
[in] UINT Adapter ,
[in] D3DFORMAT Format
);
HMONITOR GetAdapterMonitor(
[in] UINT Adapter
);
HRESULT GetDeviceCaps(
[in] UINT Adapter ,
[in] D3DDEVTYPE DeviceType,
[out] D3DCAPS9 *pCaps
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_INVALIDDEVICE
D3DERR_OUTOFVIDEOMEMORY
D3DERR_NOTAVAILABLE
HRESULT RegisterSoftwareDevice(
[in] void *pInitializeFunction
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_OUTOFVIDEOMEMORY
VOID GenerateMipSubLevels();
D3DUSAGE_AUTOGENMIPMAP'in
kullanılabilmesini sağlar
D3DTEXTUREFILTERTYPE GetAutoGenFilterType();
Bu fonksiyonu kullanabilmek için doku
D3DUSAGE_AUTOGENMIPMAP ile yaratılmalıdır.
Başarılı olmadıysa D3DTEXF_NONE döndürür.
DWORD GetLevelCount();
Kaç tane çoklu doku
destekleniyorsa onu
döndürüyor.
DWORD GetLOD();
Yönetilen dokuda çağrılırsa
maksimum LOD sayısını döndürür.
Yönetilmeyen dokuda çağrılırsa
D3DERR döndürür.
HRESULT SetAutoGenFilterType(
[in] D3DTEXTUREFILTERTYPE FilterType
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
DWORD SetLOD(
[in] DWORD LODNew
);
HRESULT AddDirtyRect(
[in] D3DCUBEMAP_FACES FaceType,
[in] const RECT *pDirtyRect
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetCubeMapSurface(
[in] D3DCUBEMAP_FACES FaceType,
[in] UINT Level,
[out] IDirect3DSurface9 **ppCubeMapSurface
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetLevelDesc(
[in] UINT Level,
[out] D3DSURFACE_DESC *pDesc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
[in] D3DCUBEMAP_FACES FaceType,
[in] UINT Level,
[out] D3DLOCKED_RECT *pLockedRect,
[in] const RECT *pRect,
[in] DWORD Flags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect(
[in] D3DCUBEMAP_FACES FaceType,
[in] UINT Level
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT BeginScene();
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT BeginStateBlock();
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Clear(
[in] DWORD Count,
[in] const D3DRECT *pRects,
[in] DWORD Flags ,
[in] D3DCOLOR Color,
[in] float Z,
[in] DWORD Stencil
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT ColorFill(
[in] IDirect3DSurface9 *pSurface,
[in] const RECT *pRect,
[in] D3DCOLOR color
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreateAdditionalSwapChain(
[in, out] D3DPRESENT_PARAMETERS *pPresentationParameters,
[out, retval] IDirect3DSwapChain9 **ppSwapChain
);
ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_DEVICELOST, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateCubeTexture(
[in] UINT EdgeLength,
[in] UINT Levels,
[in] DWORD Usage ,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DCubeTexture9 **ppCubeTexture,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateDepthStencilSurface(
[in] UINT Width,
[in] UINT Height,
[in] D3DFORMAT Format,
[in] D3DMULTISAMPLE_TYPE MultiSample,
[in] DWORD MultisampleQuality,
[in] BOOL Discard,
[out, retval] IDirect3DSurface9 **ppSurface,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateOffscreenPlainSurface(
[in] UINT Width,
[in] UINT Height,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DSurface9 **ppSurface,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreatePixelShader(
[in] const DWORD *pFunction,
[out, retval] IDirect3DPixelShader9 **ppShader
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateQuery(
[in] D3DQUERYTYPE Type,
[out, retval] IDirect3DQuery9 **ppQuery
);
ret: D3D_OK, D3DERR_NOTAVAILABLE E_OUTOFMEMORY
HRESULT CreateRenderTarget(
[in] UINT Width,
[in] UINT Height,
[in] D3DFORMAT Format,
[in] D3DMULTISAMPLE_TYPE MultiSample,
[in] DWORD MultisampleQuality,
[in] BOOL Lockable,
[out, retval] IDirect3DSurface9 **ppSurface,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateStateBlock(
[in] D3DSTATEBLOCKTYPE Type,
[out, retval] IDirect3DStateBlock9 **ppSB
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateTexture(
[in] UINT Width,
[in] UINT Height,
[in] UINT Levels,
[in] DWORD Usage ,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DTexture9 **ppTexture,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVertexBuffer(
[in] UINT Length,
[in] DWORD Usage ,
[in] DWORD FVF ,
[in] D3DPOOL Pool,
[out, retval] IDirect3DVertexBuffer9 **ppVertexBuffer,
[in] HANDLE *pSharedHandle
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVertexDeclaration(
[in] const D3DVERTEXELEMENT9 *pVertexElements,
[out, retval] IDirect3DVertexDeclaration9 **ppDecl
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreateVertexShader(
[in] const DWORD *pFunction,
[out, retval] IDirect3DVertexShader9 **ppShader
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVolumeTexture(
[in] UINT Width,
[in] UINT Height,
[in] UINT Depth,
[in] UINT Levels,
[in] DWORD Usage ,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DVolumeTexture9 **ppVolumeTexture,
[in] HANDLE *pSharedHandle // NULL
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT DeletePatch(
[in] UINT Handle
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawIndexedPrimitive(
[in] D3DPRIMITIVETYPE Type,
[in] INT BaseVertexIndex,
[in] UINT MinIndex,
[in] UINT NumVertices,
[in] UINT StartIndex,
[in] UINT PrimitiveCount
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawIndexedPrimitiveUP(
[in] D3DPRIMITIVETYPE PrimitiveType,
[in] UINT MinVertexIndex,
[in] UINT NumVertices,
[in] UINT PrimitiveCount,
[in] const void *pIndexData,
[in] D3DFORMAT IndexDataFormat,
[in] const void *pVertexStreamZeroData,
[in] UINT VertexStreamZeroStride
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawPrimitive(
[in] D3DPRIMITIVETYPE PrimitiveType,
[in] UINT StartVertex,
[in] UINT PrimitiveCount
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawPrimitiveUP(
[in] D3DPRIMITIVETYPE PrimitiveType,
[in] UINT PrimitiveCount,
[in] const void *pVertexStreamZeroData,
[in] UINT VertexStreamZeroStride
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawRectPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DRECTPATCH_INFO *pRectPatchInfo
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawTriPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DTRIPATCH_INFO *pTriPatchInfo
);
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
D3DCUBEMAP_FACES
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDesc(
[out] D3DINDEXBUFFER_DESC *pDesc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Lock(
[in] UINT OffsetToLock,
[in] UINT SizeToLock,
[out] VOID **ppbData,
[in] DWORD Flags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Unlock();
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetFunction(
[in, out] void *pData,
[in, out] UINT *pSizeOfData
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetData(
[in, out] void *pData,
[in] DWORD dwSize,
[in] DWORD dwGetDataFlags
);
Başarılı olduysa S_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
S_FALSE
D3DERR_DEVICELOST
DWORD GetDataSize();
HRESULT GetDevice(
[out] IDirect3DDevice9 **pDevice
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
D3DQUERYTYPE GetType();
HRESULT Issue(
[in] DWORD dwIssueFlags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT FreePrivateData(
[in] REFGUID refguid
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_NOTFOUND
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
DWORD GetPriority();
HRESULT GetPrivateData(
[in] REFGUID refguid,
[in, out] void *pData,
[in, out] DWORD *pSizeOfData
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
D3DERR_MOREDATA
D3DERR_NOTFOUND
D3DRESOURCETYPE GetType();
void PreLoad();
DWORD SetPriority(
[in] DWORD PriorityNew
);
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
D3DERR_INVALIDCALL
E_OUTOFMEMORY
HRESULT Apply();
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Capture();
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
[in, out, retval] IDirect3DDevice9 **ppDevice
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetContainer(
[in] REFIID riid,
[out] void **ppContainer
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDC(
[out] HDC *phdc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDesc(
[out] D3DSURFACE_DESC *pDesc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
[out] D3DLOCKED_RECT *pLockedRect,
[in] const RECT *pRect,
[in] DWORD Flags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT ReleaseDC(
[in] HDC hdc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect();
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetBackBuffer(
[in] UINT BackBuffer,
[in] D3DBACKBUFFER_TYPE Type,
[out, retval] IDirect3DSurface9 **ppBackBuffer
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDisplayMode(
[out] D3DDISPLAYMODE *pMode
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetFrontBufferData(
[in, out] IDirect3DSurface9 *pDestSurface
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetPresentParameters(
[out, retval] D3DPRESENT_PARAMETERS *pPresentationParameters
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetRasterStatus(
[out] D3DRASTER_STATUS *pRasterStatus
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Present(
[in] const RECT *pSourceRect,
[in] const RECT *pDestRect,
[in] HWND hDestWindowOverride,
[in] const RGNDATA *pDirtyRegion,
[in] DWORD dwFlags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür.
D3DERR_DEVICELOST,
D3DERR_DRIVERINTERNALERROR,
D3DERR_INVALIDCALL,
D3DERR_OUTOFVIDEOMEMORY,
E_OUTOFMEMORY
HRESULT AddDirtyRect(
[in] const RECT *pDirtyRect
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetLevelDesc(
[in] UINT Level,
[out] D3DSURFACE_DESC *pDesc
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetSurfaceLevel(
[in] UINT Level,
[out, retval] IDirect3DSurface9 **ppSurfaceLevel
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
[in] UINT Level,
[out] D3DLOCKED_RECT *pLockedRect,
[in] const RECT *pRect,
[in] DWORD Flags
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect(
[in] UINT Level
);
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDesc(
[out] D3DVERTEXBUFFER_DESC *pDesc
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Lock(
[in] UINT OffsetToLock,
[in] UINT SizeToLock,
[out] VOID **ppbData,
[in] DWORD Flags
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Unlock();
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDeclaration(
[in, out] D3DVERTEXELEMENT9 *pDecl,
[out] UINT *pNumElements
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetFunction(
[in, out] void *pData,
[in, out] UINT *pSizeOfData
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT FreePrivateData(
[in] REFGUID refguid
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_NOTFOUND
HRESULT GetContainer(
[in] REFIID riid,
[out, retval] void **ppContainer
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDesc(
[out] D3DVOLUME_DESC *pDesc
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
[out, retval] IDirect3DDevice9 **ppDevice
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetPrivateData(
[in] REFGUID refguid,
[in, out] void *pData,
[in, out] DWORD *pSizeOfData
);
ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_MOREDATA, D3DERR_NOTFOUND
HRESULT LockBox(
[out] D3DLOCKED_BOX *pLockedVolume,
[in] const D3DBOX *pBox,
[in] DWORD Flags
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags // 0 or D3DSPD_IUNKNOWN
);
ret: D3D_OK, D3DERR_INVALIDCALL, E_OUTOFMEMORY
HRESULT UnlockBox();
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT AddDirtyBox(
[in] const D3DBOX *pDirtyBox
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetLevelDesc(
[in] UINT Level,
[out] D3DVOLUME_DESC *pDesc
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetVolumeLevel(
[in] UINT Level,
[out, retval] IDirect3DVolume9 **ppVolumeLevel
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT LockBox(
[in] UINT Level,
[out] D3DLOCKED_BOX *pLockedVolume,
[in] const D3DBOX *pBox,
[in] DWORD Flags
);
ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT UnlockBox(
[in] UINT Level
);
ret: D3D_OK, D3DERR_INVALIDCALL
typedef struct D3DTRIPATCH_INFO {
UINT StartVertexOffset;
UINT NumVertices;
D3DBASISTYPE Basis;
D3DDEGREETYPE Degree;
} D3DTRIPATCH_INFO, *LPD3DTRIPATCH_INFO;
typedef struct D3DRECTPATCH_INFO {
UINT StartVertexOffsetWidth;
UINT StartVertexOffsetHeight;
UINT Width;
UINT Height;
UINT Stride;
D3DBASISTYPE Basis;
D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;
typedef struct D3DRECT {
LONG x1;
LONG y1;
LONG x2;
LONG x2;
} D3DRECT;
typedef struct D3DLOCKED_BOX {
int RowPitch;
int SlicePitch;
void *pBits;
} D3DLOCKED_BOX, *LPD3DLOCKED_BOX;
typedef struct D3DBOX {
UINT Left;
UINT Top;
UINT Right;
UINT Bottom;
UINT Front;
UINT Back;
} D3DBOX, *LPD3DBOX;
typedef struct D3DVOLUME_DESC {
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage; // not used
D3DPOOL Pool;
UINT Width;
UINT Height;
UINT Depth;
} D3DVOLUME_DESC, *LPD3DVOLUME_DESC;
typedef struct D3DVERTEXELEMENT9 {
WORD Stream;
WORD Offset;
BYTE Type ;
BYTE Method ;
BYTE Usage ;
BYTE UsageIndex;
} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
typedef struct D3DPRESENT_PARAMETERS {
UINT BackBufferWidth;
UINT BackBufferHeight;
D3DFORMAT BackBufferFormat;
UINT BackBufferCount;
D3DMULTISAMPLE_TYPE MultiSampleType;
DWORD MultiSampleQuality;
D3DSWAPEFFECT SwapEffect;
HWND hDeviceWindow;
BOOL Windowed;
BOOL EnableAutoDepthStencil;
D3DFORMAT AutoDepthStencilFormat;
DWORD Flags;
UINT FullScreen_RefreshRateInHz;
UINT PresentationInterval;
} D3DPRESENT_PARAMETERS, *LPD3DPRESENT_PARAMETERS;
typedef struct D3DDISPLAYMODE {
UINT Width;
UINT Height;
UINT RefreshRate;
D3DFORMAT Format;
} D3DDISPLAYMODE, *LPD3DDISPLAYMODE;
typedef struct _D3DCAPS9 {
D3DDEVTYPE DeviceType;
UINT AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
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;
DWORD 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;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
...
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
float PixelShader1xMaxValue;
DWORD DevCaps2;
float MaxNpatchTessellationLevel;
DWORD Reserved5;
UINT MasterAdapterOrdinal;
UINT AdapterOrdinalInGroup;
UINT NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;
typedef struct D3DADAPTER_IDENTIFIER9 {
char Driver[MAX_DEVICE_IDENTIFIER_STRING ];
char Description[MAX_DEVICE_IDENTIFIER_STRING ];
char DeviceName[32];
#ifdef _WIN32
LARGE_INTEGER DriverVersion;
#else
DWORD DriverVersionLowPart;
DWORD DriverVersionHighPart;
#endif
DWORD VendorId;
DWORD DeviceId;
DWORD SubSysId;
DWORD Revision;
GUID DeviceIdentifier;
DWORD WHQLLevel;
} D3DADAPTER_IDENTIFIER9, *LPD3DADAPTER_IDENTIFIER9;
typedef struct D3DSURFACE_DESC {
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
D3DMULTISAMPLE_TYPE MultiSampleType;
DWORD MultiSampleQuality;
UINT Width;
UINT Height;
} D3DSURFACE_DESC, *LPD3DSURFACE_DESC;
typedef struct D3DLOCKED_RECT {
INT Pitch;
void *pBits;
} D3DLOCKED_RECT, *LPD3DLOCKED_RECT;
typedef struct D3DINDEXBUFFER_DESC {
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage ;
D3DPOOL Pool;
UINT Size;
} D3DINDEXBUFFER_DESC, *LPD3DINDEXBUFFER_DESC;
typedef struct _RGNDATA {
RGNDATAHEADER rdh;
char Buffer[1];
} RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA;
typedef struct D3DVERTEXBUFFER_DESC {
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage ;
D3DPOOL Pool;
UINT Size;
DWORD FVF ;
} D3DVERTEXBUFFER_DESC, *LPD3DVERTEXBUFFER_DESC;
typedef DWORD D3DCOLOR;
D3DCLEAR_STENCIL
D3DCLEAR_TARGET
D3DCLEAR_ZBUFFER
D3DFVF_DIFFUSE
D3DFVF_NORMAL
D3DFVF_PSIZE
D3DFVF_SPECULAR
D3DFVF_XYZ
D3DFVF_XYZRHW
D3DFVF_XYZB1 through D3DFVF_XYZB5
D3DFVF_XYZW
0
D3DPRESENT_DONOTWAIT
D3DPRESENT_LINEAR_CONTENT
RDH_RECTANGLES
D3D_SDK_VERSION
#define MAX_DEVICE_IDENTIFIER_STRING 512
#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ));
D3DADAPTER_DEFAULT
Usage
Vertex Buffer Create
Index Buffer Create
Texture Buffer Create
Cube Texture Create
Volume Texture Create
Surface Create
Check Device Format
D3DUSAGE_AUTOGENMIPMAP X X X
D3DUSAGE_DEPTHSTENCIL X X X X
D3DUSAGE_DMAP X X
D3DUSAGE_DONOTCLIP X X
D3DUSAGE_DYNAMIC X X X X X X
D3DUSAGE_NONSECURE X X X X X X X
D3DUSAGE_NPATCHES X X
D3DUSAGE_POINTS X X
D3DUSAGE_RTPATCHES X X
D3DUSAGE_RENDERTARGET X X X X
D3DUSAGE_SOFTWAREPROCESSING X X X X X X
D3DUSAGE_TEXTAPI X X
D3DUSAGE_WRITEONLY X X
D3DUSAGE_RESTRICTED_CONTENT
D3DUSAGE_RESTRICT_SHARED_RESOURCE
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Lock
IDirect3DIndexBuffer9
IDirect3DCubeTexture9
IDirect3DTexture9
IDirect3DVertexBuffer9
IDirect3DVolume9
IDirect3DVolumeTexture9
D3DLOCK_DISCARD X X X X X X
D3DLOCK_DONOTWAIT
D3DLOCK_NO_DIRTY_UPDATE X X X X X X
D3DLOCK_NOOVERWRITE X X X
D3DLOCK_NOSYSLOCK X X X X X
D3DLOCK_READONLY X X X X X X
D3DCREATE_ADAPTERGROUP_DEVICE
D3DCREATE_DISABLE_DRIVER_MANAGEMENT
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX
D3DCREATE_DISABLE_PRINTSCREEN
D3DCREATE_DISABLE_PSGP_THREADING
D3DCREATE_ENABLE_PRESENTSTATS
D3DCREATE_FPU_PRESERVE
D3DCREATE_HARDWARE_VERTEXPROCESSING
D3DCREATE_MIXED_VERTEXPROCESSING
D3DCREATE_MULTITHREADED
D3DCREATE_NOWINDOWCHANGES
D3DCREATE_PUREDEVICE
D3DCREATE_SCREENSAVER
D3DCREATE_SOFTWARE_VERTEXPROCESSING
0 or D3DGETDATA_FLUSH
0 or D3DENUM_WHQL_LEVEL
#define D3DISSUE_END (1 << 0)
#define D3DISSUE_BEGIN (1 << 1)
0 or D3DSPD_IUNKNOWN
typedef enum D3DDEGREETYPE {
D3DDEGREE_LINEAR = 1,
D3DDEGREE_QUADRATIC = 2,
D3DDEGREE_CUBIC = 3,
D3DDEGREE_QUINTIC = 5,
D3DDEGREE_FORCE_DWORD = 0x7fffffff
} D3DDEGREETYPE;
typedef enum D3DBASISTYPE {
D3DBASIS_BEZIER = 0,
D3DBASIS_BSPLINE = 1,
D3DBASIS_CATMULL_ROM = 2,
D3DBASIS_FORCE_DWORD = 0x7fffffff
} D3DBASISTYPE, *LPD3DBASISTYPE;
typedef enum D3DPRIMITIVETYPE {
D3DPT_POINTLIST = 1,
D3DPT_LINELIST = 2,
D3DPT_LINESTRIP = 3,
D3DPT_TRIANGLELIST = 4,
D3DPT_TRIANGLESTRIP = 5,
D3DPT_TRIANGLEFAN = 6,
D3DPT_FORCE_DWORD = 0x7fffffff
} D3DPRIMITIVETYPE, *LPD3DPRIMITIVETYPE;
typedef enum _D3DSTATEBLOCKTYPE {
D3DSBT_ALL = 1,
D3DSBT_PIXELSTATE = 2,
D3DSBT_VERTEXSTATE = 3,
D3DSBT_FORCE_DWORD = 0x7fffffff
} D3DSTATEBLOCKTYPE;
typedef enum D3DQUERYTYPE {
D3DQUERYTYPE_VCACHE = 4,
D3DQUERYTYPE_RESOURCEMANAGER = 5,
D3DQUERYTYPE_VERTEXSTATS = 6,
D3DQUERYTYPE_EVENT = 8,
D3DQUERYTYPE_OCCLUSION = 9,
D3DQUERYTYPE_TIMESTAMP = 10,
D3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
D3DQUERYTYPE_TIMESTAMPFREQ = 12,
D3DQUERYTYPE_PIPELINETIMINGS = 13,
D3DQUERYTYPE_INTERFACETIMINGS = 14,
D3DQUERYTYPE_VERTEXTIMINGS = 15,
D3DQUERYTYPE_PIXELTIMINGS = 16,
D3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
D3DQUERYTYPE_CACHEUTILIZATION = 18,
D3DQUERYTYPE_MEMORYPRESSURE = 19
} D3DQUERYTYPE, *LPD3DQUERYTYPE;
typedef enum D3DDECLUSAGE {
D3DDECLUSAGE_POSITION = 0,
D3DDECLUSAGE_BLENDWEIGHT = 1,
D3DDECLUSAGE_BLENDINDICES = 2,
D3DDECLUSAGE_NORMAL = 3,
D3DDECLUSAGE_PSIZE = 4,
D3DDECLUSAGE_TEXCOORD = 5,
D3DDECLUSAGE_TANGENT = 6,
D3DDECLUSAGE_BINORMAL = 7,
D3DDECLUSAGE_TESSFACTOR = 8,
D3DDECLUSAGE_POSITIONT = 9,
D3DDECLUSAGE_COLOR = 10,
D3DDECLUSAGE_FOG = 11,
D3DDECLUSAGE_DEPTH = 12,
D3DDECLUSAGE_SAMPLE = 13
} D3DDECLUSAGE, *LPD3DDECLUSAGE;
typedef enum D3DDECLMETHOD {
D3DDECLMETHOD_DEFAULT = 0,
D3DDECLMETHOD_PARTIALU = 1,
D3DDECLMETHOD_PARTIALV = 2,
D3DDECLMETHOD_CROSSUV = 3,
D3DDECLMETHOD_UV = 4,
D3DDECLMETHOD_LOOKUP = 5,
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
typedef enum D3DDECLTYPE {
D3DDECLTYPE_FLOAT1 = 0,
D3DDECLTYPE_FLOAT2 = 1,
D3DDECLTYPE_FLOAT3 = 2,
D3DDECLTYPE_FLOAT4 = 3,
D3DDECLTYPE_D3DCOLOR = 4,
D3DDECLTYPE_UBYTE4 = 5,
D3DDECLTYPE_SHORT2 = 6,
D3DDECLTYPE_SHORT4 = 7,
D3DDECLTYPE_UBYTE4N = 8,
D3DDECLTYPE_SHORT2N = 9,
D3DDECLTYPE_SHORT4N = 10,
D3DDECLTYPE_USHORT2N = 11,
D3DDECLTYPE_USHORT4N = 12,
D3DDECLTYPE_UDEC3 = 13,
D3DDECLTYPE_DEC3N = 14,
D3DDECLTYPE_FLOAT16_2 = 15,
D3DDECLTYPE_FLOAT16_4 = 16,
D3DDECLTYPE_UNUSED = 17
} D3DDECLTYPE, *LPD3DDECLTYPE;
typedef enum D3DDEVTYPE {
D3DDEVTYPE_HAL = 1,
D3DDEVTYPE_NULLREF = 4,
D3DDEVTYPE_REF = 2,
D3DDEVTYPE_SW = 3,
D3DDEVTYPE_FORCE_DWORD = 0x7fffffff
} D3DDEVTYPE, *LPD3DDEVTYPE;
typedef enum _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_A2B10G10R10 = 31,
D3DFMT_A8B8G8R8 = 32,
D3DFMT_X8B8G8R8 = 33,
D3DFMT_G16R16 = 34,
D3DFMT_A2R10G10B10 = 35,
D3DFMT_A16B16G16R16 = 36,
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_A2W10V10U10 = 67,
D3DFMT_UYVY = MAKEFOURCC ('U', 'Y', 'V', 'Y'),
D3DFMT_R8G8_B8G8 = MAKEFOURCC ('R', 'G', 'B', 'G'),
D3DFMT_YUY2 = MAKEFOURCC ('Y', 'U', 'Y', '2'),
D3DFMT_G8R8_G8B8 = MAKEFOURCC ('G', 'R', 'G', 'B'),
D3DFMT_DXT1 = MAKEFOURCC ('D', 'X', 'T', '1'),
D3DFMT_DXT2 = MAKEFOURCC ('D', 'X', 'T', '2'),
D3DFMT_DXT3 = MAKEFOURCC ('D', 'X', 'T', '3'),
D3DFMT_DXT4 = MAKEFOURCC ('D', 'X', 'T', '4'),
D3DFMT_DXT5 = 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_D32F_LOCKABLE = 82,
D3DFMT_D24FS8 = 83,
...
#if !defined(D3D_DISABLE_9EX)
D3DFMT_D32_LOCKABLE = 84,
D3DFMT_S8_LOCKABLE = 85,
#endif // !D3D_DISABLE_9EX
D3DFMT_L16 = 81,
D3DFMT_VERTEXDATA = 100,
D3DFMT_INDEX16 = 101,
D3DFMT_INDEX32 = 102,
D3DFMT_Q16W16V16U16 = 110,
D3DFMT_MULTI2_ARGB8 = MAKEFOURCC ('M','E','T','1'),
D3DFMT_R16F = 111,
D3DFMT_G16R16F = 112,
D3DFMT_A16B16G16R16F = 113,
D3DFMT_R32F = 114,
D3DFMT_G32R32F = 115,
D3DFMT_A32B32G32R32F = 116,
D3DFMT_CxV8U8 = 117,
#if !defined(D3D_DISABLE_9EX)
D3DFMT_A1 = 118,
D3DFMT_A2B10G10R10_XR_BIAS = 119,
D3DFMT_BINARYBUFFER = 199,
#endif // !D3D_DISABLE_9EX
D3DFMT_FORCE_DWORD =0x7fffffff
} D3DFORMAT;
typedef enum D3DRESOURCETYPE {
D3DRTYPE_SURFACE = 1,
D3DRTYPE_VOLUME = 2,
D3DRTYPE_TEXTURE = 3,
D3DRTYPE_VOLUMETEXTURE = 4,
D3DRTYPE_CUBETEXTURE = 5,
D3DRTYPE_VERTEXBUFFER = 6,
D3DRTYPE_INDEXBUFFER = 7,
D3DRTYPE_FORCE_DWORD = 0x7fffffff
} D3DRESOURCETYPE, *LPD3DRESOURCETYPE;
typedef enum D3DMULTISAMPLE_TYPE {
D3DMULTISAMPLE_NONE = 0,
D3DMULTISAMPLE_NONMASKABLE = 1,
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,
D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
} D3DMULTISAMPLE_TYPE, *LPD3DMULTISAMPLE_TYPE;
typedef enum D3DSWAPEFFECT {
D3DSWAPEFFECT_DISCARD = 1,
D3DSWAPEFFECT_FLIP = 2,
D3DSWAPEFFECT_COPY = 3,
D3DSWAPEFFECT_OVERLAY = 4,
D3DSWAPEFFECT_FLIPEX = 5,
D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
} D3DSWAPEFFECT, *LPD3DSWAPEFFECT;
typedef enum D3DTEXTUREFILTERTYPE {
D3DTEXF_NONE = 0,
D3DTEXF_POINT = 1,
D3DTEXF_LINEAR = 2,
D3DTEXF_ANISOTROPIC = 3,
D3DTEXF_PYRAMIDALQUAD = 6,
D3DTEXF_GAUSSIANQUAD = 7,
D3DTEXF_CONVOLUTIONMONO = 8,
D3DTEXF_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREFILTERTYPE, *LPD3DTEXTUREFILTERTYPE;
typedef enum 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,
D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
} D3DCUBEMAP_FACES, *LPD3DCUBEMAP_FACES;
typedef enum D3DPOOL {
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3,
D3DPOOL_FORCE_DWORD = 0x7fffffff
} D3DPOOL, *LPD3DPOOL;
typedef enum D3DBACKBUFFER_TYPE {
D3DBACKBUFFER_TYPE_MONO = 0,
D3DBACKBUFFER_TYPE_LEFT = 1,
D3DBACKBUFFER_TYPE_RIGHT = 2,
D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
} D3DBACKBUFFER_TYPE, *LPD3DBACKBUFFER_TYPE;