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::SetPerTexelAlbedo 或 ID3DXPRTEngine::SetPerVertexAlbedo 等方法設定 albedo。
-
bSetAlbedo [in]
-
類型: BOOL
如果 為 TRUE,請將網格的 albedo 設定為 ppMaterials,並覆寫所有現有的材質和頂點 albedo 值。 如果 為 FALSE,則會保留其他方法所設定的所有現有紋素和頂點 albedo 值;NumChannels 必須符合用來在 D3DXCreatePRTBuffer 或 D3DXCreatePRTBufferTex中建立緩衝區的 NumChannels 參數。
-
fLengthScale [in]
-
類型: FLOAT
相對於 1 公釐 Cube 的 3D 場景縮放比例。 用於子表面散佈計算。
傳回值
類型: HRESULT
如果方法成功,傳回值會S_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,E_OUTOFMEMORY。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱