Win32 API 日本語リファレンス
ホームGraphics.Direct2D › ID2D1ComputeInfo

ID2D1ComputeInfo

COM
IID5598b14b-9fd7-48b7-9bdb-8f0964eb38bc継承元ID2D1RenderInfo自前メソッド開始 vtbl7

公式ドキュメント

コンピュートシェーダーによるレンダリングパスの情報を指定できるようにします。

解説(Remarks)

トランスフォームは、このレンダリング情報の状態を変更して、コンピュートシェーダーとその依存リソースを指定します。

メソッド 3

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 7 HRESULT SetComputeShaderConstantBuffer(BYTE* buffer, DWORD bufferCount)

このトランスフォームの定数バッファデータを設定または変更します。

bufferBYTE*in定数バッファに適用するデータ。
bufferCountDWORDin定数バッファ内のデータのバイト数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT SetComputeShader(GUID* shaderId)

指定されたシェーダーリソースにコンピュートシェーダーを設定します。この呼び出しを行う前に、リソースを読み込んでおく必要があります。

shaderIdGUID*inシェーダーの GUID。

戻り値

型: HRESULT

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。

HRESULT 説明
S_OK エラーは発生しませんでした。
E_OUTOFMEMORY Direct2D が呼び出しを完了するのに十分なメモリを割り当てられませんでした。
E_INVALIDARG 戻り値を返す関数に無効なパラメーターが渡されました。
vtbl 9 HRESULT SetResourceTexture(DWORD textureIndex, ID2D1ResourceTexture* resourceTexture)

指定されたシェーダーテクスチャインデックスに対応するリソーステクスチャを、指定されたテクスチャリソースに設定します。

textureIndexDWORDinリソーステクスチャを設定するインデックス。
resourceTextureID2D1ResourceTexture*inシェーダーテクスチャインデックスに設定するリソーステクスチャオブジェクト。

戻り値

型: HRESULT

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。

HRESULT 説明
S_OK エラーは発生しませんでした。
E_OUTOFMEMORY Direct2D が呼び出しを完了するのに十分なメモリを割り当てられませんでした。
E_INVALIDARG 戻り値を返す関数に無効なパラメーターが渡されました。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID2D1ComputeInfo "{5598B14B-9FD7-48B7-9BDB-8F0964EB38BC}"
#usecom global ID2D1ComputeInfo IID_ID2D1ComputeInfo "{}"
#comfunc global ID2D1ComputeInfo_SetComputeShaderConstantBuffer  7 var,int
#comfunc global ID2D1ComputeInfo_SetComputeShader                8 var
#comfunc global ID2D1ComputeInfo_SetResourceTexture              9 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。