断片‎ > ‎

DirectX9のデバイス

9と11を併用できるクラスを作ろうしてMSヘルプからコピペしまくってみたが、
中身違いすぎなので別々に使ったほうが良いという結論に。

とりあえず折角コピペしたので貼り付け。眺める用に。

/**
*  シーンを開始する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT BeginScene(VOID);

/**
* Microsoft® Direct3D® にデバイス ステート ブロックの記録を開始するように知らせる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT BeginStateBlock(VOID);

/**
*  ビューポートまたはビューポート内の矩形セットを指定した RGBA 色にクリアし、深度バッファをクリアし、ステンシル バッファを削除する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT Clear(      
DWORD Count,
const D3DRECT *pRects,
DWORD Flags,
D3DCOLOR Color,
float Z,
DWORD Stencil
);

/**
* このメソッドを利用して、アプリケーションは D3DPOOL_DEFAULT サーフェイスの矩形領域を指定した色で塗りつぶすことができる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT ColorFill(      
IDirect3DSurface9 *pSurface,
CONST RECT *pRect,
D3DCOLOR color
);

/**
*  複数のビューをレンダリングするための追加スワップ チェーンを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateAdditionalSwapChain(      
D3DPRESENT_PARAMETERS* pPresentationParameters,
IDirect3DSwapChain9** ppSwapChain
);

/**
*  キューブ テクスチャ リソースを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateCubeTexture(      
UINT EdgeLength,
UINT Levels,
DWORD Usage,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DCubeTexture9 **ppCubeTexture,
HANDLE* pHandle
);

/**
*  深度ステンシル リソースを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateDepthStencilSurface(      
UINT Width,
UINT Height,
D3DFORMAT Format,
D3DMULTISAMPLE_TYPE MultiSample,
DWORD MultisampleQuality,
BOOL Discard,
IDirect3DSurface9** ppSurface,
HANDLE* pHandle
);

/**
*  インデックス バッファを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateIndexBuffer(      
UINT Length,
DWORD Usage,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DIndexBuffer9** ppIndexBuffer,
HANDLE* pHandle
);

/**
* オフスクリーン サーフェイスを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateOffscreenPlainSurface(      
UINT Width,
UINT Height,
D3DFORMAT Format,
DWORD Pool,
IDirect3DSurface9** ppSurface,
HANDLE* pHandle
);
/**
* ピクセル シェーダを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreatePixelShader(      
CONST DWORD *pFunction,
IDirect3DPixelShader9** ppShader
);

/**
* ステータス クエリーを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateQuery(      
D3DQUERYTYPE Type,
IDirect3DQuery9** ppQuery
);

/**
* レンダリング ターゲット サーフェイスを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateRenderTarget(      
UINT Width,
UINT Height,
D3DFORMAT Format,
D3DMULTISAMPLE_TYPE MultiSample,
DWORD MultisampleQuality,
BOOL Lockable,
IDirect3DSurface9** ppSurface,
HANDLE* pHandle
);

/**
* すべてのデバイス ステート、頂点関連のステート、またはピクセル関連のステートの値を含む新しいステート ブロックを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateStateBlock(      
D3DSTATEBLOCKTYPE Type,
IDirect3DStateBlock9** ppSB
);

/**
* テクスチャ リソースを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateTexture(      
UINT Width,
UINT Height,
UINT Levels,
DWORD Usage,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DTexture9** ppTexture,
HANDLE* pHandle
);

/**
* 頂点バッファを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateVertexBuffer(      
UINT Length,
DWORD Usage,
DWORD FVF,
D3DPOOL Pool,
IDirect3DVertexBuffer9** ppVertexBuffer,
HANDLE* pHandle
);

/**
* デバイスおよび頂点要素から頂点シェーダ宣言を作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateVertexDeclaration(      
CONST D3DVERTEXELEMENT9* pVertexElements,
IDirect3DVertexDeclaration9** ppDecl
);

/**
* 頂点シェーダを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateVertexShader(      
const DWORD *pFunction,
IDirect3DVertexShader9** ppShader
);

/**
* ボリューム テクスチャ リソースを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateVolumeTexture(      
UINT Width,
UINT Height,
UINT Depth,
UINT Levels,
DWORD Usage,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DVolumeTexture9** ppVolumeTexture,
HANDLE* pHandle
);

/**
* キャッシュされていた高次パッチを解放する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DeletePatch(      
UINT Handle
);

/**
* 頂点の配列へのインデックスに基いて、指定されたジオメトリ プリミティブをレンダリングする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawIndexedPrimitive(      
D3DPRIMITIVETYPE Type,
INT BaseVertexIndex,
UINT MinIndex,
UINT NumVertices,
UINT StartIndex,
UINT PrimitiveCount
);

/**
* ユーザー メモリ ポインタで指定されているデータで、指定されているジオメトリ プリミティブをレンダリングする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawIndexedPrimitiveUP(      
D3DPRIMITIVETYPE PrimitiveType,
UINT MinVertexIndex,
UINT NumVertexIndices,
UINT PrimitiveCount,
const void *pIndexData,
D3DFORMAT IndexDataFormat,
CONST void* pVertexStreamZeroData,
UINT VertexStreamZeroStride
);

/**
* 現在のデータ入力ストリーム セットから、指定されたタイプの非インデックス付きジオメトリ プリミティブのシーケンスをレンダリングする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawPrimitive(      
D3DPRIMITIVETYPE PrimitiveType,
UINT StartVertex,
UINT PrimitiveCount
);

/**
* ユーザー メモリ ポインタで指定されたデータを、指定されたタイプのジオメトリ プリミティブのシーケンスとしてレンダリングする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawPrimitiveUP(      
D3DPRIMITIVETYPE PrimitiveType,
UINT PrimitiveCount,
const void *pVertexStreamZeroData,
UINT VertexStreamZeroStride
);

/**
* 現在設定されているストリームを使って、矩形のパッチを描画する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawRectPatch(      
UINT Handle,
const float* pNumSegs,
const D3DRECTPATCH_INFO* pRectPatchInfo
);

/**
* 現在設定されているストリームを使って、三角形のパッチを描画する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT DrawTriPatch(      
UINT Handle,
const float* pNumSegs,
const D3DTRIPATCH_INFO* pTriPatchInfo
);

/**
* BeginScene メソッドの呼び出しによって開始されたシーンを終了する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT EndScene(VOID);

/**
* デバイス ステート ブロックの記録を停止してステート ブロックのハンドルを取得するように Microsoft® Direct3D® に指示する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT EndStateBlock(      
IDirect3DStateBlock9 **ppSB
);

/**
* Microsoft® Direct3D® およびドライバ管理リソースを含め、すべての管理下のリソースを除外する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT EvictManagedResources(VOID);

/**
* 使用可能なテクスチャ メモリの量の推定値を返す。
* @return 成功した場合は、D3D_OK を返す。
*/
UINT GetAvailableTextureMem(VOID);

/**
* デバイスのスワップ チェーンからバック バッファを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetBackBuffer(      
UINT iSwapChain,
UINT BackBuffer,
D3DBACKBUFFER_TYPE Type,
IDirect3DSurface9 **ppBackBuffer
);

/**
* デバイスのユーザー定義クリップ面の係数を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetClipPlane(      
DWORD Index,
float *pPlane
);

/**
* クリップ ステータスを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetClipStatus(      
D3DCLIPSTATUS9 *pClipStatus
);

/**
* デバイスの作成パラメータを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetCreationParameters(      
D3DDEVICE_CREATION_PARAMETERS *pParameters
);

/**
* 現在のテクスチャ パレットを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetCurrentTexturePalette(      
UINT *pPaletteNumber
);

/**
* Direct3DDevice オブジェクトが所有する深度ステンシル サーフェイスを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetDepthStencilSurface(      
IDirect3DSurface9 **ppZStencilSurface
);

/**
* レンダリング デバイスの能力を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetDeviceCaps(      
D3DCAPS9 *pCaps
);

/**
* デバイスを作成した Microsoft® Direct3D® オブジェクトのインスタンスへのインターフェイスを返す。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetDirect3D(     
IDirect3D9 **ppD3D9
);

/**
* ディスプレイ モードの空間解像度、色深度、およびリフレッシュ周波数を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetDisplayMode(      
UINT iSwapChain,
D3DDISPLAYMODE *pMode
);

/**
* デバイスのフロント バッファのコピーを生成し、アプリケーションが提供するシステム メモリ バッファにそのコピーを格納する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetFrontBufferData(      
UINT iSwapChain,
IDirect3DSurface9 *pDestSurface
);

/**
* 固定機能による頂点の宣言を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetFVF(      
DWORD *pFVF
);

/**
* スワップ チェーンのガンマ補正曲線を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
void GetGammaRamp(      
UINT iSwapChain,
D3DGAMMARAMP *pRamp
);

/**
* インデックス データを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetIndices(      
IDirect3DIndexBuffer9 **ppIndexData
);

/**
* このデバイスで使う一連のライト プロパティを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetLight(      
DWORD Index,
D3DLIGHT9 *pLight
);

/**
* デバイスのライティング パラメータ セットのアクティビティ ステータス (有効または無効) を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetLightEnable(      
DWORD Index,
BOOL *pEnable
);

/**
* デバイスに対する現在のマテリアルのプロパティを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetMaterial(      
D3DMATERIAL9 *pMaterial
);

/**
* N パッチ モード セグメントを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
FLOAT GetNPatchMode(VOID);

/**
* 明示しないスワップ チェーンの数を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
UINT GetNumberOfSwapChains(VOID);

/**
* パレット エントリを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetPaletteEntries(      
UINT PaletteNumber,
PALETTEENTRY *pEntries
);

/**
* 現在設定されているピクセル シェーダを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetPixelShader(      
IDirect3DPixelShader9** ppShader
);

/**
* ブール型の頂点シェーダ定数を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetPixelShaderConstantB(      
UINT StartRegister,
BOOL *pConstantData,
UINT BoolCount
);

/**
* シェーダ定数の浮動小数点値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetPixelShaderConstantF(      
UINT StartRegister,
float *pConstantData,
UINT Vector4fCount
);

/**
* シェーダ定数の整数値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetPixelShaderConstantI(      
UINT StartRegister,
int *pConstantData,
UINT Vector4iCount
);

/**
* スワップ チェーンが表示されているモニタのラスタを記述する情報を返す。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetRasterStatus(      
UINT iSwapChain,
D3DRASTER_STATUS *pRasterStatus
);

/**
* デバイスに対するレンダリング ステートの値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetRenderState(      
D3DRENDERSTATETYPE State,
DWORD *pValue
);

/**
* レンダリング ターゲット サーフェイスを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetRenderTarget(      
DWORD RenderTargetIndex,
IDirect3DSurface9 **ppRenderTarget
);

/**
* レンダリング ターゲット データをデバイス メモリからシステム メモリにコピーする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetRenderTargetData(      
IDirect3DSurface9* pRenderTarget,
IDirect3DSurface9* pDestSurface
);

/**
* サンプラ ステート値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetSamplerState(      
DWORD Sampler,
D3DSAMPLERSTATETYPE Type,
DWORD* pValue
);

/**
* シザー矩形を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetScissorRect(      
CONST RECT *pRect
);

/**
* 頂点処理モード (ハードウェアまたはソフトウェア) を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
BOOL GetSoftwareVertexProcessing(VOID);

/**
* 指定されたデータ ストリームにバインドされている頂点バッファを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetStreamSource(      
UINT StreamNumber,
IDirect3DVertexBuffer9 **ppStreamData,
UINT *pOffsetInBytes,
UINT *pStride
);

/**
* ストリーム ソースの頻度値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetStreamSourceFreq(      
UINT StreamNumber,
UINT* pDivider
);

/**
* スワップ チェーンへのポインタを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetSwapChain(      
UINT iSwapChain,
IDirect3DSwapChain9 **ppSwapChain
);

/**
* デバイスのステージに割り当てられているテクスチャを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetTexture(      
DWORD Stage,
IDirect3DBaseTexture9 **ppTexture
);

/**
* 割り当てられているテクスチャのステート値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetTextureStageState(      
DWORD Stage,
D3DTEXTURESTAGESTATETYPE Type,
DWORD *pValue
);

/**
* トランスフォーム ステートを記述する行列を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetTransform(      
D3DTRANSFORMSTATETYPE State,
D3DMATRIX *pMatrix
);

/**
* 頂点シェーダの宣言を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetVertexDeclaration(      
IDirect3DVertexDeclaration9** ppDecl
);

/**
* 現在設定されている頂点シェーダを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetVertexShader(      
IDirect3DVertexShader9** ppShader
);

/**
* ブール型の頂点シェーダ定数を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetVertexShaderConstantB(      
UINT StartRegister,
BOOL *pConstantData,
UINT BoolCount
);

/**
* 頂点シェーダ定数の浮動小数点値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetVertexShaderConstantF(      
UINT StartRegister,
float *pConstantData,
UINT Vector4fCount
);

/**
* 頂点シェーダ定数の整数値を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetVertexShaderConstantI(      
UINT StartRegister,
int *pConstantData,
UINT Vector4iCount
);

/**
* デバイスに現在設定されているビューポート パラメータを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetViewport(      
D3DVIEWPORT9 *pViewport
);

/**
* デバイス内の一連のライティング パラメータを有効または無効にする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT LightEnable(      
DWORD LightIndex,
BOOL bEnable
);

/**
* デバイスのワールド行列、ビュー行列、または射影行列に、指定された行列を乗算する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT MultiplyTransform(      
D3DTRANSFORMSTATETYPE State,
CONST D3DMATRIX *pMatrix
);

/**
* デバイスが所有するバック バッファのシーケンスの中で、次のバッファのコンテンツをプレゼンテーションする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT Present(      
CONST RECT *pSourceRect,
CONST RECT *pDestRect,
HWND hDestWindowOverride,
CONST RGNDATA *pDirtyRegion
);

/**
* 頂点シェーダで定義されている頂点処理を一連の入力データ ストリームに適用し、インターリーブされた頂点データの単一ストリームを転送先頂点バッファに生成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT ProcessVertices(      
UINT SrcStartIndex,
UINT DestIndex,
UINT VertexCount,
IDirect3DVertexBuffer9 *pDestBuffer,
IDirect3DVertexDeclaration9* pVertexDecl,
DWORD Flags
);

/**
* スワップ チェーンのタイプ、サイズ、フォーマットをリセットする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT Reset(      
D3DPRESENT_PARAMETERS* pPresentationParameters
);

/**
* デバイスのユーザー定義クリップ面の係数を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetClipPlane(      
DWORD Index,
const float *pPlane
);

/**
* クリップ ステータスを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetClipStatus(      
const D3DCLIPSTATUS9 *pClipStatus
);

/**
* 現在のテクスチャ パレットを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetCurrentTexturePalette(      
UINT PaletteNumber
);

/**
* カーソルの位置と更新オプションを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
void SetCursorPosition(      
INT X,
INT Y,
DWORD Flags
);

/**
* カーソルのプロパティを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetCursorProperties(      
UINT XHotSpot,
UINT YHotSpot,
IDirect3DSurface9 *pCursorBitmap
);

/**
* 深度ステンシル サーフェイスを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetDepthStencilSurface(      
IDirect3DSurface9 *pZStencilSurface
);

/**
* このメソッドは、フルスクリーン モードのアプリケーションで Microsoft® Windows® Graphics Device Interface (GDI) ダイアログ ボックスを使用可能にする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetDialogBoxMode(      
BOOL bEnableDialogs
);

/**
* 現在の頂点ストリーム宣言を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetFVF(      
DWORD FVF
);

/**
* 明示しないスワップ チェーンのガンマ補正曲線を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
void SetGammaRamp(      
UINT iSwapChain,
DWORD Flags,
CONST D3DGAMMARAMP *pRamp
);

/**
* インデックス データを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetIndices(      
IDirect3DIndexBuffer9 *pIndexData
);

/**
* このデバイスに一連のライト プロパティを割り当てる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetLight(      
DWORD Index,
CONST D3DLIGHT9 *pLight
);

/**
* デバイスにマテリアル プロパティを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetMaterial(      
CONST D3DMATERIAL9 *pMaterial
);

/**
* N パッチを有効または無効にする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetNPatchMode(      
float nSegments
);

/**
* パレット エントリを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetPaletteEntries(      
UINT PaletteNumber,
const PALETTEENTRY *pEntries
);

/**
* 以前作成したピクセル シェーダを現在のピクセル シェーダに設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetPixelShader(      
IDirect3DPixelShader9* pShader
);

/**
* ブール型シェーダ定数を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetPixelShaderConstantB(      
UINT StartRegister,
CONST BOOL *pConstantData,
UINT BoolCount
);

/**
* シェーダ定数の浮動小数点値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetPixelShaderConstantF(      
UINT StartRegister,
CONST float *pConstantData,
UINT Vector4fCount
);

/**
* シェーダ定数の整数値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetPixelShaderConstantI(      
UINT StartRegister,
CONST int *pConstantData,
UINT Vector4iCount
);

/**
* 単一デバイスのレンダリング ステート パラメータを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetRenderState(      
D3DRENDERSTATETYPE State,
DWORD Value
);

/**
* デバイスに新しいカラー バッファを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetRenderTarget(      
DWORD RenderTargetIndex,
IDirect3DSurface9 *pRenderTarget
);

/**
* サンプラ ステート値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetSamplerState(      
DWORD Sampler,
D3DSAMPLERSTATETYPE Type,
DWORD Value
);

/**
* サンプラ ステート値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetScissorRect(      
CONST RECT *pRect
);

/**
* このメソッドは、頂点処理をソフトウェアとハードウェアで切り替えるために使う。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetSoftwareVertexProcessing(      
BOOL bSoftware
);

/**
* 頂点バッファをデバイスのデータ ストリームにバインドする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetStreamSource(      
UINT StreamNumber,
IDirect3DVertexBuffer9 *pStreamData,
UINT OffsetInBytes,
UINT Stride
);

/**
* ストリーム ソースの頻度値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetStreamSourceFreq(      
UINT StreamNumber,
UINT Divider
);

/**
* テクスチャをデバイスのステージに割り当てる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetTexture(      
DWORD Stage,
IDirect3DBaseTexture9 *pTexture
);

/**
* 現在割り当てられているテクスチャにステート値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetTextureStageState(      
DWORD Stage,
D3DTEXTURESTAGESTATETYPE Type,
DWORD Value
);

/**
* 単一デバイスのトランスフォーム関連ステートを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetTransform(      
D3DTRANSFORMSTATETYPE State,
CONST D3DMATRIX *pMatrix
);

/**
* 頂点シェーダ宣言を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetVertexDeclaration(      
IDirect3DVertexDeclaration9 *pDecl
);

/**
* 頂点シェーダを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetVertexShader(      
IDirect3DVertexShader9* pShader
);

/**
* ブール型の頂点シェーダ定数を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetVertexShaderConstantB(      
UINT StartRegister,
CONST BOOL *pConstantData,
UINT BoolCount
);

/**
* 頂点シェーダ定数の浮動小数点値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetVertexShaderConstantF(      
UINT StartRegister,
CONST float *pConstantData,
UINT Vector4fCount
);

/**
* 頂点シェーダ定数の整数値を設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetVertexShaderConstantI(      
UINT StartRegister,
CONST int *pConstantData,
UINT Vector4iCount
);

/**
* デバイスにビューポート パラメータを設定する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT SetViewport(      
CONST D3DVIEWPORT9 *pViewport
);

/**
* カーソルを表示または隠蔽する。
* @return 成功した場合は、D3D_OK を返す。
*/
BOOL ShowCursor(      
BOOL bShow
);

/**
* 転送元矩形の内容を転送先矩形にコピーする。コピーにより、転送元矩形を拡大およびフィルタリングできる。この関数は、ビデオ ストリームのアスペクト比の変更によく使われる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT StretchRect(      
IDirect3DSurface9 *pSourceSurface,
CONST RECT *pSourceRect,
IDirect3DSurface9 *pDestSurface,
CONST RECT *pDestRect,
D3DTEXTUREFILTERTYPE Filter
);

/**
* ウィンドウ アプリケーションまたはフルスクリーン アプリケーションに対する Microsoft® Direct3D® デバイスの現在の協調レベル ステータスを報告する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT TestCooperativeLevel(VOID);

/**
* あるサーフェイスから別のサーフェイスに、ピクセルの矩形サブセットをコピーする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT UpdateSurface(      
IDirect3DSurface9* pSourceSurface,
CONST RECT* pSourceRect,
IDirect3DSurface9* pDestinationSurface,
CONST POINT* pDestinationPoint
);

/**
* テクスチャのダーティー部分を更新する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT UpdateTexture(      
IDirect3DBaseTexture9 *pSourceTexture,
IDirect3DBaseTexture9 *pDestinationTexture
);

/**
* 現在のテクスチャのブレンディング処理と引数をデバイスが 1 回の処理でレンダリングできる能力を報告する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT ValidateDevice(      
DWORD *pNumPasses
);


// ↓ここから下はDirectt3D9

/**
* 深度ステンシル フォーマットが、特定のディスプレイ モードでのレンダリング ターゲット フォーマットと互換性があるかどうかを調べる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CheckDepthStencilMatch(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT AdapterFormat,
D3DFORMAT RenderTargetFormat,
D3DFORMAT DepthStencilFormat
);

/**
* サーフェイスのフォーマットが、指定したリソース タイプとして利用できるかどうか、
* およびこのアダプタを使うデバイスでテクスチャ、深度ステンシル バッファ、レンダリング ターゲットのいずれか、またはこれら 3 つの組み合わせとして使えるかどうかを調べる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CheckDeviceFormat(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT AdapterFormat,
DWORD Usage,
D3DRESOURCETYPE RType,
D3DFORMAT CheckFormat
);

/**
* デバイスがディスプレイ フォーマットの変換をサポートするかどうかをテストする。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CheckDeviceFormatConversion(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SourceFormat,
D3DFORMAT TargetFormat
);

/**
* このデバイスでマルチサンプリング テクニックを利用できるかどうかを調べる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CheckDeviceMultiSampleType(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SurfaceFormat,
BOOL Windowed,
D3DMULTISAMPLE_TYPE MultiSampleType,
DWORD* pQualityLevels
);

/**
* アダプタでハードウェア アクセラレーション デバイス タイプが使用可能かどうかを検証する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CheckDeviceType(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT DisplayFormat,
D3DFORMAT BackBufferFormat,
BOOL Windowed
);

/**
* ディスプレイ アダプタを表すためのデバイスを作成する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT CreateDevice(      
UINT Adapter,
D3DDEVTYPE DeviceType,
HWND hFocusWindow,
DWORD BehaviorFlags,
D3DPRESENT_PARAMETERS *pPresentationParameters,
IDirect3DDevice9** ppReturnedDeviceInterface
);

/**
* 利用可能なアダプタ モードを列挙する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT EnumAdapterModes(      
UINT Adapter,
D3DFORMAT Format,
UINT Mode,
D3DDISPLAYMODE* pMode
);

/**
* システムにあるアダプタの数を返す。
* @return このインターフェイスがインスタンス化された時点でシステムに存在していたアダプタの数を示す UINT 値。
*/
UINT GetAdapterCount(VOID);

/**
* アダプタの現在のディスプレイ モードを取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetAdapterDisplayMode(      
UINT Adapter,
D3DDISPLAYMODE *pMode
);

/**
* このインターフェイスがインスタンス化された時点でシステムに存在していた物理的なディスプレイ アダプタを記述する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetAdapterIdentifier(      
UINT Adapter,
DWORD Flags,
D3DADAPTER_IDENTIFIER9 *pIdentifier
);

/**
* アダプタで利用可能なディスプレイ モードの数を返す。
* @return 指定したアダプタのディスプレイ モードの数を返す。または、システムにあるアダプタの数以上の値を Adapter で指定すると、ゼロを返す。
*/
UINT GetAdapterModeCount(      
UINT Adapter,
D3DFORMAT Format
);

/**
* Microsoft® Direct3D® オブジェクトに関連付けられているモニタのハンドルを返す。
* @return Direct3D オブジェクトに関連付けられたモニタのハンドル。
*/
HMONITOR GetAdapterMonitor(      
UINT Adapter
);

/**
* デバイスについてのデバイス固有の情報を取得する。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT GetDeviceCaps(      
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DCAPS9 *pCaps
);

/**
* プラグ可能なソフトウェア デバイスを登録する。ソフトウェア デバイスはソフトウェアによるラスタ化を提供する。これにより、アプリケーションは、さまざまなソフトウェア ラスタライザにアクセスできる。
* @return 成功した場合は、D3D_OK を返す。
*/
HRESULT RegisterSoftwareDevice(      
void *pInitializeFunction
);
Comments