次の方法で共有


ID3DXPRTEngine::SetMeshMaterials

3D シーンにおけるメッシュのマテリアル プロパティを設定します。このメソッドはサブサーフェス スキャッタリング パラメーターを指定するために使用します。

HRESULT 
SetMeshMaterials(
  CONST D3DXSHMATERIAL ** ppMaterials,
  UINT NumMeshes,
  UINT NumChannels,
  BOOL bSetAlbedo,
  FLOAT fLengthScale
);

パラメータ

  • ppMaterials
    目的のメッシュのマテリアル プロパティを指すポインターのアドレスです。「D3DXSHMATERIAL」を参照してください。
  • NumMeshes
    マテリアル プロパティを設定するメッシュのインデックスです。
  • NumChannels
    メッシュ内に設定するカラー チャンネルの数です。マテリアルをグレーにする (R = G = B) 場合は 1、カラー ブリード効果を有効にする場合は 3 を指定します。このパラメーターを変更する場合、まず、ID3DXPRTEngine::SetPerTexelAlbedo または ID3DXPRTEngine::SetPerVertexAlbedo などの別のメソッドを使用してアルベドを設定します。
  • bSetAlbedo
    TRUE の場合は、メッシュのアルベドが ppMaterials に設定され、すべての既存のテクセルおよび頂点のアルベド値が上書きされます。FALSE の場合は、他のメソッドで設定された、すべての既存のテクセルおよび頂点のアルベド値が保持されます。NumChannels は、D3DXCreatePRTBuffer または D3DXCreatePRTBufferTex でバッファーを生成するために使用した NumChannels パラメーターと一致する必要があります。
  • fLengthScale
    1 mm のキューブに対応する 3D シーンのスケールです。サブサーフェス スキャッタリングの計算に使用されます。

戻り値

成功すると、S_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容