次の方法で共有


ID3DXTextureGutterHelper

ID3DXTextureGutterHelper インターフェイスは、テクスチャー内の余白領域を作成および管理するために使用します。余白領域によって、テクスチャーが分離され、バイリニア補間でテクスチャー境界におけるレンダリングの不自然な効果を回避することができます。

Get... メソッドを使用すると、Apply... メソッドで使用するデータ構造体へのアクセスが可能になります。

ID3DXTextureGutterHelper のメンバー

メソッド 説明
ID3DXTextureGutterHelper::ApplyGuttersFloat 余白を FLOAT テクスチャー バッファーに適用します。
ID3DXTextureGutterHelper::ApplyGuttersPRT 余白を ID3DXPRTBuffer バッファー オブジェクトに適用します。
ID3DXTextureGutterHelper::ApplyGuttersTex 余白を IDirect3DTexture9 テクスチャー オブジェクトに適用します。
ID3DXTextureGutterHelper::GetBaryMap テクセル重心座標を取得します。
ID3DXTextureGutterHelper::GetFaceMap 各テクセルが属するメッシュ面のインデックスを取得します。
ID3DXTextureGutterHelper::GetGutterMap 各テクセルの場所に応じたテクセル クラスを示すテクセル クラス値を取得します。
ID3DXTextureGutterHelper::GetHeight テクスチャーの高さ (ピクセル単位) を取得します。
ID3DXTextureGutterHelper::GetTexelMap 各テクセルの (u, v) テクスチャー座標を取得します。
ID3DXTextureGutterHelper::GetWidth テクスチャーの幅 (ピクセル単位) を取得します。
ID3DXTextureGutterHelper::ResampleTex テクスチャーを再サンプリングして、この余白ヘルパーをパラメーター化します。
ID3DXTextureGutterHelper::SetBaryMap テクセル重心座標を設定します。
ID3DXTextureGutterHelper::SetFaceMap 各テクセルが属するメッシュ面のインデックスを設定します。
ID3DXTextureGutterHelper::SetGutterMap 各テクセルの場所に応じたテクセル クラスを示すテクセル クラス値を設定します。
ID3DXTextureGutterHelper::SetTexelMap 各テクセルの (u, v) テクスチャー座標を設定します。

解説 

    事前演算済み放射輝度伝播 (PRT) で使用する場合、このインターフェイスは、モデルが一意にパラメーター化されていることを必要とします。すべてのテクセルは、モデルのサーフェス上の単一の点に対応し、またモデルのサーフェス上のすべての点は、単一のテクセルに対応していることが必要です。モデルが複数のテクスチャーを含んでいる場合、そのモデルを分割して、テクスチャー当たり 1 つの余白ヘルパー オブジェクトをそれぞれが含む別個の部分にすることが必要です。

このインターフェイスを使用すると、各テクセルが 4 つのクラスのうちの 1 つに含まれるテクスチャー空間にマップを生成することができます。

テクセル クラス テクセルの場所
0 無効な点です。テクセルは使用されません。
1 三角形の内部です。
2 余白の内部です。
4 余白の内部です。テクセルは、ID3DXTextureGutterHelper::ApplyGuttersFloatID3DXTextureGutterHelper::ApplyGuttersTex、または ID3DXTextureGutterHelper::ApplyGuttersPRT メソッドにおいて完全なサンプルとして評価されます。

クラス 1 および 2 の場合、テクセルは、そのテクセルが属する面の最初の 2 つの頂点の重心座標に加えて、その面と共に格納されます。余白の頂点は、テクスチャー空間内の最も接近したエッジに割り当てられます。

テクセル クラス 3 は存在しません。

ID3DXTextureGutterHelper インターフェイスを取得するには、D3DXCreateTextureGutterHelper 関数を呼び出します。

LPD3DXTEXTUREGUTTERHELPER 型は、ID3DXTextureGutterHelper インターフェイスへのポインターとして定義されています。

typedef interface ID3DXTextureGutterHelper ID3DXTextureGutterHelper;
typedef interface ID3DXTextureGutterHelper *LPD3DXTEXTUREGUTTERHELPER;

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容