共用方式為


ID3DXPRTEngine::SetMeshMaterials 方法

在 3D 場景中設定網格材質屬性。 使用這個方法來指定子表面散佈參數。

語法

HRESULT SetMeshMaterials(
  [in] const D3DXSHMATERIAL **ppMaterials,
  [in]       UINT           NumMeshes,
  [in]       UINT           NumChannels,
  [in]       BOOL           bSetAlbedo,
  [in]       FLOAT          fLengthScale
);

參數

ppMaterials [in]

類型:const D3DXSHMATERIAL**

所需網格材質屬性指標的位址。 請參閱 D3DXSHMATERIAL

NumMeshes [in]

類型: UINT

要設定材質屬性的網格索引。

NumChannels [in]

類型: UINT

網格中要設定的色彩通道數目。 設定為 1 以指定灰色材質 (R = G = B) ,或 3 以啟用色彩淡色效果。 如果您想要變更此參數,請先使用 ID3DXPRTEngine::SetPerTexelAlbedoID3DXPRTEngine::SetPerVertexAlbedo 等方法設定 albedo

bSetAlbedo [in]

類型: BOOL

如果 為 TRUE,請將網格的 albedo 設定為 ppMaterials,並覆寫所有現有的材質和頂點 albedo 值。 如果 為 FALSE,則會保留其他方法所設定的所有現有紋素和頂點 albedo 值;NumChannels 必須符合用來在 D3DXCreatePRTBufferD3DXCreatePRTBufferTex中建立緩衝區的 NumChannels 參數。

fLengthScale [in]

類型: FLOAT

相對於 1 公釐 Cube 的 3D 場景縮放比例。 用於子表面散佈計算。

傳回值

類型: HRESULT

如果方法成功,傳回值會S_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,E_OUTOFMEMORY。

規格需求

需求
標頭
D3DX9Mesh.h
程式庫
D3dx9.lib

另請參閱

ID3DXPRTEngine