D3DXCreatePRTCompBuffer 函数

从未压缩的 ID3DXPRTBuffer 对象创建压缩的预计算辐射传输 (PRT) 缓冲区。 此函数应与每个顶点或卷缓冲区一起使用。

语法

HRESULT D3DXCreatePRTCompBuffer(
  _In_    D3DXSHCOMPRESSQUALITYTYPE Quality,
  _In_    UINT                      NumClusters,
  _In_    UINT                      NumPCA,
  _In_    LPD3DXSHPRTSIMCB          pCB,
  _In_    LPVOID                    lpUserContext,
  _In_    LPD3DXPRTBUFFER           pBuffer,
  _Inout_ LPD3DXPRTCOMPBUFFER       *ppBuffer
);

参数

质量 [in]

类型: D3DXSHCOMPRESSQUALITYTYPE

球面调和 (SH) 压缩的质量。 请参阅 D3DXSHCOMPRESSQUALITYTYPE

NumClusters [in]

类型: UINT

用于压缩的群集数。

NumPCA [in]

类型: UINT

PCA (主组件分析) 在每个群集中使用的基向量的数目。

pCB [in]

类型: LPD3DXSHPRTSIMCB

指向 LPD3DXSHPRTSIMCB 回调函数的可选指针,该函数用于计算已完成的 PRT 压缩计算的百分比。 必须实现回调函数以返回S_OK以继续运行压缩例程。 任何其他值都将停止压缩。 可以为 NULL

lpUserContext [in]

类型: LPVOID

指向传递给 LPD3DXSHPRTSIMCB 回调函数的用户定义值的可选指针。 通常由应用程序用来传递指向数据结构的指针,该数据结构为回调函数提供上下文信息。 可以为 NULL

pBuffer [in]

类型: LPD3DXPRTBUFFER

指向要压缩的未压缩 ID3DXPRTBuffer 对象的指针的地址。

ppBuffer [in, out]

类型: LPD3DXPRTCOMPBUFFER*

指向输出 ID3DXPRTCompBuffer 对象的指针的地址。

返回值

类型: HRESULT

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

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

预计算的辐射传输函数

D3DXCreatePRTBuffer

D3DXCreatePRTBufferTex