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)设置反照度。

bSetAlbedo [in]

类型: BOOL

如果 为 TRUE,则将网格的反照度设置为 ppMaterials,覆盖所有现有的纹素和顶点反照度值。 如果 为 FALSE,则 保留由其他方法设置的所有现有纹素和顶点反照度值;NumChannels 必须与用于在 D3DXCreatePRTBuffer 或 D3DXCreatePRTBufferTex 中创建缓冲区的 NumChannels 参数匹配。

fLengthScale [in]

类型: FLOAT

相对于 1 毫米立方体的 3D 场景比例。 用于地下散点计算。

返回值

类型: HRESULT

如果该方法成功,则返回值S_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

ID3DXPRTEngine