ホーム › Graphics.Direct3D12 › ID3D12GraphicsCommandList4
ID3D12GraphicsCommandList4
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 68 void BeginRenderPass(DWORD NumRenderTargets, D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, D3D12_RENDER_PASS_FLAGS Flags)
| NumRenderTargets | DWORD | in | レンダーパスで使用するレンダーターゲットの個数。 |
| pRenderTargets | D3D12_RENDER_PASS_RENDER_TARGET_DESC* | inoptional | 各レンダーターゲットの記述(開始・終了アクセス挙動)を含む配列。 |
| pDepthStencil | D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* | inoptional | 深度ステンシルの記述子。使用しない場合はNULL可。 |
| Flags | D3D12_RENDER_PASS_FLAGS | in | レンダーパスの挙動を制御するフラグ(サスペンド/リジューム等)。 |
vtbl 69 void EndRenderPass()
vtbl 70 void InitializeMetaCommand(ID3D12MetaCommand* pMetaCommand, void* pInitializationParametersData, UINT_PTR InitializationParametersDataSizeInBytes)
| pMetaCommand | ID3D12MetaCommand* | in | 初期化する対象のメタコマンド。 |
| pInitializationParametersData | void* | inoptional | 初期化ステージへ渡すパラメータデータの先頭ポインタ。不要時はNULL可。 |
| InitializationParametersDataSizeInBytes | UINT_PTR | in | 初期化パラメータデータのバイト単位サイズ。 |
vtbl 71 void ExecuteMetaCommand(ID3D12MetaCommand* pMetaCommand, void* pExecutionParametersData, UINT_PTR ExecutionParametersDataSizeInBytes)
| pMetaCommand | ID3D12MetaCommand* | in | 実行する対象のメタコマンド。 |
| pExecutionParametersData | void* | inoptional | 実行ステージへ渡すパラメータデータの先頭ポインタ。不要時はNULL可。 |
| ExecutionParametersDataSizeInBytes | UINT_PTR | in | 実行パラメータデータのバイト単位サイズ。 |
vtbl 72 void BuildRaytracingAccelerationStructure(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, DWORD NumPostbuildInfoDescs, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs)
| pDesc | D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* | in | 構築する高速化構造のビルド記述子。入力・出力・スクラッチアドレスを含む。 |
| NumPostbuildInfoDescs | DWORD | in | ビルド後情報を出力する記述子の個数。不要時は0。 |
| pPostbuildInfoDescs | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* | inoptional | ビルド後に取得する情報の記述子配列。NumPostbuildInfoDescsが0ならNULL可。 |
vtbl 73 void EmitRaytracingAccelerationStructurePostbuildInfo(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, DWORD NumSourceAccelerationStructures, ULONGLONG* pSourceAccelerationStructureData)
| pDesc | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* | in | 出力するビルド後情報の種別と書き込み先を示す記述子。 |
| NumSourceAccelerationStructures | DWORD | in | 情報を取得する元の高速化構造の個数。 |
| pSourceAccelerationStructureData | ULONGLONG* | in | 対象高速化構造のGPU仮想アドレスの配列。 |
vtbl 74 void CopyRaytracingAccelerationStructure(ULONGLONG DestAccelerationStructureData, ULONGLONG SourceAccelerationStructureData, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode)
| DestAccelerationStructureData | ULONGLONG | in | コピー先高速化構造のGPU仮想アドレス。 |
| SourceAccelerationStructureData | ULONGLONG | in | コピー元高速化構造のGPU仮想アドレス。 |
| Mode | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE | in | コピーモード。複製・コンパクト化・可視化シリアライズ等を指定する。 |
vtbl 75 void SetPipelineState1(ID3D12StateObject* pStateObject)
| pStateObject | ID3D12StateObject* | in | 設定するレイトレーシング等のステートオブジェクト。 |
vtbl 76 void DispatchRays(D3D12_DISPATCH_RAYS_DESC* pDesc)
| pDesc | D3D12_DISPATCH_RAYS_DESC* | in | レイ生成のディスパッチ記述子。シェーダーテーブルと幅・高さ・深さを含む。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12GraphicsCommandList4 "{8754318E-D3A9-4541-98CF-645B50DC4874}" #usecom global ID3D12GraphicsCommandList4 IID_ID3D12GraphicsCommandList4 "{}" #comfunc global ID3D12GraphicsCommandList4_BeginRenderPass 68 int,var,var,int #comfunc global ID3D12GraphicsCommandList4_EndRenderPass 69 #comfunc global ID3D12GraphicsCommandList4_InitializeMetaCommand 70 sptr,sptr,sptr #comfunc global ID3D12GraphicsCommandList4_ExecuteMetaCommand 71 sptr,sptr,sptr #comfunc global ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure 72 var,int,var #comfunc global ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo 73 var,int,var #comfunc global ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure 74 int64,int64,int #comfunc global ID3D12GraphicsCommandList4_SetPipelineState1 75 sptr #comfunc global ID3D12GraphicsCommandList4_DispatchRays 76 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12GraphicsCommandList4 "{8754318E-D3A9-4541-98CF-645B50DC4874}" #usecom global ID3D12GraphicsCommandList4 IID_ID3D12GraphicsCommandList4 "{}" #comfunc global ID3D12GraphicsCommandList4_BeginRenderPass 68 int,sptr,sptr,int #comfunc global ID3D12GraphicsCommandList4_EndRenderPass 69 #comfunc global ID3D12GraphicsCommandList4_InitializeMetaCommand 70 sptr,sptr,sptr #comfunc global ID3D12GraphicsCommandList4_ExecuteMetaCommand 71 sptr,sptr,sptr #comfunc global ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure 72 sptr,int,sptr #comfunc global ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo 73 sptr,int,sptr #comfunc global ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure 74 int64,int64,int #comfunc global ID3D12GraphicsCommandList4_SetPipelineState1 75 sptr #comfunc global ID3D12GraphicsCommandList4_DispatchRays 76 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。