ID3DXPRTEngine::ComputeDirectLightingSH 方法

计算对 3D 对象的直接照明贡献,其中源辐射由球面和谐 (SH) 近似值表示。

语法

HRESULT ComputeDirectLightingSH(
  [in]      UINT            Order,
  [in, out] LPD3DXPRTBUFFER pDataOut
);

参数

Order [in]

类型: UINT

SH 评估的顺序。 必须在 D3DXSH_MINORDER 范围内才能D3DXSH_MAXORDER(含)。 计算将生成 Order² 系数。 评估程度为 Order - 1。

pDataOut [in, out]

类型: LPD3DXPRTBUFFER

指向输出 ID3DXPRTBuffer 对象的指针,该对象使用 SH 近似值为直接照明贡献建模。 此缓冲区必须为模拟分配正确数量的颜色通道。

返回值

类型: HRESULT

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

备注

输出不包括反照量,并且模拟器中仅集成入射光。 通过不乘以反照率,可以比源辐射更精细地对反照率变体进行建模,从而通过压缩得出更准确的结果。

调用 ID3DXPRTEngine::MultiplyAlbedo 将每个预计算的辐射传输 (PRT) 矢量乘以反照度。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

ID3DXPRTEngine