ID3DXPRTEngine::ComputeBounceAdaptive 方法
使用自适应采样计算单次反转光反射产生的源辐射。 此方法在网格上生成新的顶点和面,以更准确地近似于预计算的辐射传输 (PRT) 信号。 此方法可用于任何照明场景,包括球面调和 (基于 SH) 的 PRT 模型。
语法
HRESULT ComputeBounceAdaptive(
[in] LPD3DXPRTBUFFER pDataIn,
[in] FLOAT AdaptiveThresh,
[in] FLOAT MinEdgeLength,
[in] UINT MaxSubdiv,
[in, out] LPD3DXPRTBUFFER pDataOut,
[in, out] LPD3DXPRTBUFFER pDataTotal
);
参数
-
pDataIn [in]
-
类型: LPD3DXPRTBUFFER
指向输入 ID3DXPRTBuffer 对象的指针,该对象表示上一次光线反弹中的 3D 对象。 此输入缓冲区必须具有为模拟分配的适当数量的颜色通道。
-
AdaptiveThresh [in]
-
类型: FLOAT
用于细分网格顶点和面的 PRT 向量的阈值。 如果小于 1e-6f,则指定默认值 1e-6f。
-
MinEdgeLength [in]
-
类型: FLOAT
将在自适应采样中生成的最小面边缘长度。 如果方法确定值太小,则指定与模型相关的值。 如果为零,则指定默认值 4。
-
MaxSubdiv [in]
-
类型: UINT
将在自适应采样中使用的人脸的最大细分级别。
-
pDataOut [in, out]
-
类型: LPD3DXPRTBUFFER
指向输出 ID3DXPRTBuffer 对象的指针。 此输出缓冲区必须为模拟分配正确数量的颜色通道。
-
pDataTotal [in, out]
-
类型: LPD3DXPRTBUFFER
指向可选的 ID3DXPRTBuffer 对象的指针,该对象在每次轻弹时保持 pDataOut 的运行总和。 可以为 NULL。
返回值
类型: HRESULT
如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅