ホーム › Graphics.Direct3D9 › IDirect3DDevice9Ex
IDirect3DDevice9Ex
COMメソッド 15
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| width | DWORD | in | コンボリューションカーネルの幅(要素数)。 |
| height | DWORD | in | コンボリューションカーネルの高さ(要素数)。 |
| rows | FLOAT* | inout | 行方向の重み係数を示すFLOAT配列へのポインタ。 |
| columns | FLOAT* | inout | 列方向の重み係数を示すFLOAT配列へのポインタ。 |
vtbl 120 HRESULT ComposeRects(IDirect3DSurface9* pSrc, IDirect3DSurface9* pDst, IDirect3DVertexBuffer9* pSrcRectDescs, DWORD NumRects, IDirect3DVertexBuffer9* pDstRectDescs, D3DCOMPOSERECTSOP Operation, INT Xoffset, INT Yoffset)
| pSrc | IDirect3DSurface9* | in | 合成元の矩形群を含むソースサーフェスへのポインタ。 |
| pDst | IDirect3DSurface9* | in | 合成先のデスティネーションサーフェスへのポインタ。 |
| pSrcRectDescs | IDirect3DVertexBuffer9* | in | 元矩形の記述を格納した頂点バッファへのポインタ。 |
| NumRects | DWORD | in | 合成する矩形の個数。 |
| pDstRectDescs | IDirect3DVertexBuffer9* | in | 先矩形の記述を格納した頂点バッファへのポインタ。NULL可。 |
| Operation | D3DCOMPOSERECTSOP | in | 合成演算の種別を示すD3DCOMPOSERECTSOP。COPYやANDなど。 |
| Xoffset | INT | in | 合成先に適用するX方向のオフセット(ピクセル)。 |
| Yoffset | INT | in | 合成先に適用するY方向のオフセット(ピクセル)。 |
vtbl 121 HRESULT PresentEx(RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags)
| pSourceRect | RECT* | in | 転送元の矩形へのポインタ。NULLで全体。 |
| pDestRect | RECT* | in | 転送先の矩形へのポインタ。NULLで全体。 |
| hDestWindowOverride | HWND | in | 表示先を上書きするウィンドウハンドル。NULLで既定。 |
| pDirtyRegion | RGNDATA* | in | 更新領域を示すRGNDATAへのポインタ。NULLで全体。 |
| dwFlags | DWORD | in | 表示動作を示すフラグ。D3DPRESENT_DONOTWAITなど。 |
| pPriority | INT* | inout | 現在のGPUスレッド優先度を受け取るINTポインタ。 |
| Priority | INT | in | 設定するGPUスレッド優先度。-7〜7の範囲を指定する。 |
| iSwapChain | DWORD | in | 待機対象スワップチェーンの0始まりのインデックス。 |
vtbl 125 HRESULT CheckResourceResidency(IDirect3DResource9** pResourceArray, DWORD NumResources)
| pResourceArray | IDirect3DResource9** | out | 常駐確認するリソースの配列(IDirect3DResource9ポインタ配列)。 |
| NumResources | DWORD | in | pResourceArrayの要素数。 |
| MaxLatency | DWORD | in | 許容する最大フレーム遅延数(キュー可能フレーム数)。 |
| pMaxLatency | DWORD* | inout | 現在の最大フレーム遅延数を受け取るDWORDポインタ。 |
| hDestinationWindow | HWND | in | 状態を確認する対象の表示先ウィンドウハンドル。 |
vtbl 129 HRESULT CreateRenderTargetEx(DWORD Width, DWORD Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage)
| Width | DWORD | in | レンダーターゲットの幅(ピクセル)。 |
| Height | DWORD | in | レンダーターゲットの高さ(ピクセル)。 |
| Format | D3DFORMAT | in | サーフェスのD3DFORMATフォーマット。 |
| MultiSample | D3DMULTISAMPLE_TYPE | in | マルチサンプリングの種別を示すD3DMULTISAMPLE_TYPE。 |
| MultisampleQuality | DWORD | in | マルチサンプル品質レベル(0始まり)。 |
| Lockable | BOOL | in | サーフェスをロック可能にするか。TRUEでロック可。 |
| ppSurface | IDirect3DSurface9** | out | 作成されたレンダーターゲットサーフェスのポインタを受け取る出力。 |
| pSharedHandle | HANDLE* | inout | 共有リソース用ハンドルのポインタ。通常はNULL。 |
| Usage | DWORD | in | 追加用途を示すフラグ。D3DUSAGE値を指定する。 |
vtbl 130 HRESULT CreateOffscreenPlainSurfaceEx(DWORD Width, DWORD Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage)
| Width | DWORD | in | サーフェスの幅(ピクセル)。 |
| Height | DWORD | in | サーフェスの高さ(ピクセル)。 |
| Format | D3DFORMAT | in | サーフェスのD3DFORMATフォーマット。 |
| Pool | D3DPOOL | in | リソースの管理プールを示すD3DPOOL。 |
| ppSurface | IDirect3DSurface9** | out | 作成されたオフスクリーンサーフェスのポインタを受け取る出力。 |
| pSharedHandle | HANDLE* | inout | 共有リソース用ハンドルのポインタ。通常はNULL。 |
| Usage | DWORD | in | 追加用途を示すフラグ。D3DUSAGE値を指定する。 |
vtbl 131 HRESULT CreateDepthStencilSurfaceEx(DWORD Width, DWORD Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage)
| Width | DWORD | in | 深度ステンシルサーフェスの幅(ピクセル)。 |
| Height | DWORD | in | 深度ステンシルサーフェスの高さ(ピクセル)。 |
| Format | D3DFORMAT | in | 深度ステンシルのD3DFORMATフォーマット。 |
| MultiSample | D3DMULTISAMPLE_TYPE | in | マルチサンプリングの種別を示すD3DMULTISAMPLE_TYPE。 |
| MultisampleQuality | DWORD | in | マルチサンプル品質レベル(0始まり)。 |
| Discard | BOOL | in | Present後に内容を破棄してよいか。TRUEで破棄可。 |
| ppSurface | IDirect3DSurface9** | out | 作成された深度ステンシルサーフェスのポインタを受け取る出力。 |
| pSharedHandle | HANDLE* | inout | 共有リソース用ハンドルのポインタ。通常はNULL。 |
| Usage | DWORD | in | 追加用途を示すフラグ。D3DUSAGE値を指定する。 |
vtbl 132 HRESULT ResetEx(D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode)
| pPresentationParameters | D3DPRESENT_PARAMETERS* | inout | リセット時に適用する新しいD3DPRESENT_PARAMETERSへのポインタ。 |
| pFullscreenDisplayMode | D3DDISPLAYMODEEX* | inout | 全画面時の表示モードを示すD3DDISPLAYMODEEXへのポインタ。ウィンドウ時NULL。 |
vtbl 133 HRESULT GetDisplayModeEx(DWORD iSwapChain, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation)
| iSwapChain | DWORD | in | 対象スワップチェーンの0始まりのインデックス。 |
| pMode | D3DDISPLAYMODEEX* | inout | 現在の拡張表示モードを受け取るD3DDISPLAYMODEEXへのポインタ。 |
| pRotation | D3DDISPLAYROTATION* | inout | 現在の画面回転状態を受け取るD3DDISPLAYROTATIONポインタ。NULL可。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirect3DDevice9Ex "{B18B10CE-2649-405A-870F-95F777D4313A}" #usecom global IDirect3DDevice9Ex IID_IDirect3DDevice9Ex "{}" #comfunc global IDirect3DDevice9Ex_SetConvolutionMonoKernel 119 int,int,var,var #comfunc global IDirect3DDevice9Ex_ComposeRects 120 sptr,sptr,sptr,int,sptr,int,int,int #comfunc global IDirect3DDevice9Ex_PresentEx 121 var,var,sptr,var,int #comfunc global IDirect3DDevice9Ex_GetGPUThreadPriority 122 var #comfunc global IDirect3DDevice9Ex_SetGPUThreadPriority 123 int #comfunc global IDirect3DDevice9Ex_WaitForVBlank 124 int #comfunc global IDirect3DDevice9Ex_CheckResourceResidency 125 sptr,int #comfunc global IDirect3DDevice9Ex_SetMaximumFrameLatency 126 int #comfunc global IDirect3DDevice9Ex_GetMaximumFrameLatency 127 var #comfunc global IDirect3DDevice9Ex_CheckDeviceState 128 sptr #comfunc global IDirect3DDevice9Ex_CreateRenderTargetEx 129 int,int,int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx 130 int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx 131 int,int,int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_ResetEx 132 var,var #comfunc global IDirect3DDevice9Ex_GetDisplayModeEx 133 int,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirect3DDevice9Ex "{B18B10CE-2649-405A-870F-95F777D4313A}" #usecom global IDirect3DDevice9Ex IID_IDirect3DDevice9Ex "{}" #comfunc global IDirect3DDevice9Ex_SetConvolutionMonoKernel 119 int,int,sptr,sptr #comfunc global IDirect3DDevice9Ex_ComposeRects 120 sptr,sptr,sptr,int,sptr,int,int,int #comfunc global IDirect3DDevice9Ex_PresentEx 121 sptr,sptr,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_GetGPUThreadPriority 122 sptr #comfunc global IDirect3DDevice9Ex_SetGPUThreadPriority 123 int #comfunc global IDirect3DDevice9Ex_WaitForVBlank 124 int #comfunc global IDirect3DDevice9Ex_CheckResourceResidency 125 sptr,int #comfunc global IDirect3DDevice9Ex_SetMaximumFrameLatency 126 int #comfunc global IDirect3DDevice9Ex_GetMaximumFrameLatency 127 sptr #comfunc global IDirect3DDevice9Ex_CheckDeviceState 128 sptr #comfunc global IDirect3DDevice9Ex_CreateRenderTargetEx 129 int,int,int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx 130 int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx 131 int,int,int,int,int,int,sptr,sptr,int #comfunc global IDirect3DDevice9Ex_ResetEx 132 sptr,sptr #comfunc global IDirect3DDevice9Ex_GetDisplayModeEx 133 int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。