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

ID3D10Texture3D

COM
IID9b7e4c05-342c-4106-a19f-4f2704f689f0継承元ID3D10Resource自前メソッド開始 vtbl10

公式ドキュメント

3D テクスチャインターフェイスは、構造化されたメモリであるテクセルデータにアクセスします。(ID3D10Texture3D)

解説(Remarks)

空の Texture3D リソースを作成するには、ID3D10Device::CreateTexture3D を呼び出します。テクスチャの作成と読み込みの詳細については、Creating Texture Resources を参照してください。

テクスチャをパイプラインに直接バインドすることはできません。代わりに、ビューを作成してバインドする必要があります。ビューを使用すると、一定の制約の範囲内で実行時にテクスチャデータを解釈できます。テクスチャをレンダーターゲットまたは深度ステンシルリソースとして使用するには、それぞれ ID3D10Device::CreateRenderTargetViewID3D10Device::CreateDepthStencilView を呼び出します。テクスチャをシェーダーへの入力として使用するには、ID3D10Device::CreateShaderResourceView を呼び出してビューを作成します。

メソッド 3

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

vtbl 10 HRESULT Map(DWORD Subresource, D3D10_MAP MapType, DWORD MapFlags, D3D10_MAPPED_TEXTURE3D* pMappedTex3D)

サブリソースに含まれるデータへのポインターを取得し、そのサブリソースへの GPU アクセスを拒否します。(ID3D10Texture3D.Map)

SubresourceDWORDinサブリソースのインデックス番号。詳細については D3D10CalcSubresource を参照してください。
MapTypeD3D10_MAPinリソースに対する CPU の読み取りおよび書き込み権限を指定します。指定可能な値については D3D10_MAP を参照してください。
MapFlagsDWORDinGPU がビジー状態のときに CPU が行うべき動作を指定するフラグ。このフラグは省略可能です。
pMappedTex3DD3D10_MAPPED_TEXTURE3D*outこの関数によって設定される構造体(D3D10_MAPPED_TEXTURE3D)へのポインター。この構造体にはリソースデータへのポインターが含まれます。

戻り値

Type: HRESULT

この関数が成功した場合、S_OK を返します。すべての Map メソッドは同一の戻り値と動作上の制約を持ちます。これらは ID3D10Texture1D::Map の解説セクションに記載されています。

vtbl 11 void Unmap(DWORD Subresource)

ID3D10Texture3D::Map によって取得したリソースへのポインターを無効化し、リソースへの GPU アクセスを再び有効にします。

SubresourceDWORDinアンマップするサブリソース。詳細については D3D10CalcSubresource を参照してください。

解説(Remarks)

Unmap を呼び出す前に、サブリソースがマップされている必要があります。

Direct3D 9 と Direct3D 10 の違い:

Direct3D 10 の Unmap() は、Direct3D 9 のリソースの Unlock() に相当します。

vtbl 12 void GetDesc(D3D10_TEXTURE3D_DESC* pDesc)

テクスチャリソースのプロパティを取得します。(ID3D10Texture3D.GetDesc)

pDescD3D10_TEXTURE3D_DESC*outリソースの記述(D3D10_TEXTURE3D_DESC を参照)へのポインター。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ID3D10Texture3D "{9B7E4C05-342C-4106-A19F-4F2704F689F0}"
#usecom global ID3D10Texture3D IID_ID3D10Texture3D "{}"
#comfunc global ID3D10Texture3D_Map      10 int,int,int,var
#comfunc global ID3D10Texture3D_Unmap    11 int
#comfunc global ID3D10Texture3D_GetDesc  12 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。