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)设置反照度。
-
bSetAlbedo [in]
-
类型: BOOL
如果 为 TRUE,则将网格的反照度设置为 ppMaterials,覆盖所有现有的纹素和顶点反照度值。 如果 为 FALSE,则 保留由其他方法设置的所有现有纹素和顶点反照度值;NumChannels 必须与用于在 D3DXCreatePRTBuffer 或 D3DXCreatePRTBufferTex 中创建缓冲区的 NumChannels 参数匹配。
-
fLengthScale [in]
-
类型: FLOAT
相对于 1 毫米立方体的 3D 场景比例。 用于地下散点计算。
返回值
类型: HRESULT
如果该方法成功,则返回值S_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅