ホーム › Graphics.Direct3D11 › ID3D11View
ID3D11View
COM公式ドキュメント
ビューインターフェイスは、レンダリング中にパイプラインがアクセスできるリソースの部分を指定します。(ID3D11View)
解説(Remarks)
ビューインターフェイスは、すべてのビューの基底インターフェイスです。ビューには、深度ステンシルビュー、レンダーターゲットビュー、シェーダーリソースビュー、アンオーダードアクセスビューの 4 種類があります。
- レンダーターゲットビューを作成するには、ID3D11Device::CreateRenderTargetView を呼び出します。
- 深度ステンシルビューを作成するには、ID3D11Device::CreateDepthStencilView を呼び出します。
- シェーダーリソースビューを作成するには、ID3D11Device::CreateShaderResourceView を呼び出します。
- アンオーダードアクセスビューを作成するには、ID3D11Device::CreateUnorderedAccessView を呼び出します。
- レンダーターゲットビューまたは深度ステンシルビューをバインドするには、ID3D11DeviceContext::OMSetRenderTargets を呼び出します。
- シェーダーリソースをバインドするには、ID3D11DeviceContext::VSSetShaderResources を呼び出します。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 7 void GetResource(ID3D11Resource** ppResource)
このビューを通じてアクセスされるリソースを取得します。(ID3D11View.GetResource)
| ppResource | ID3D11Resource** | out | このビューを通じてアクセスされるリソースへのポインターのアドレスです。(ID3D11Resource を参照してください。) |
解説(Remarks)
この関数はリソースの参照カウントを 1 つ増やすため、アプリケーションが返されたポインターを使い終わったときには Release を呼び出す必要があります。Release を呼び出す前に返されたポインターを破棄した (または失った) 場合、メモリリークが発生します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D11View "{839D1216-BB2E-412B-B7F4-A9DBEBE08ED1}"
#usecom global ID3D11View IID_ID3D11View "{}"
#comfunc global ID3D11View_GetResource 7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。