ID3DXPRTEngine::MultiplyAlbedo 方法

将每个预计算弧度传输 (PRT) 向量乘以每顶点 albedo。

语法

HRESULT MultiplyAlbedo(
  [in, out] LPD3DXPRTBUFFER pDataOut
);

参数

pDataOut [in, out]

类型: LPD3DXPRTBUFFER

指向输出 ID3DXPRTBuffer 对象的指针,该对象将包含 PRT 向量乘以每个顶点的 albedo。 如果此输出缓冲区是纹理对象,则必须注意以与模拟缓冲区相同的分辨率存储纹理的余量。 可以使用 D3DXLoadSurfaceFromSurface 在 albedo 上设置适当的分辨率,并根据需要应用纹理装订区域。

返回值

类型: HRESULT

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

备注

ID3DXPRTEngine::Computexxx 方法计算输出缓冲区,其中光信号尚未乘以 albedo。 通过不乘以余量,可以比源辐射更精细地建模反余量变体,从而产生更准确的压缩结果。

若要在呈现光模型中包括 albedo,请在其中一个 Computexxx 方法后调用此方法。

调用此方法之前,应调用 ID3DXPRTEngine::SetMeshMaterials

要求

要求 Value
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

ID3DXPRTEngine

ID3DXPRTEngine::ComputeDirectLightingSH