Freigeben über


D3DXCreatePRTCompBuffer-Funktion

Erstellt einen komprimierten vorkompilierten PRT-Puffer (Compressed Radiance Transfer) aus einem nicht komprimierten ID3DXPRTBuffer-Objekt . Diese Funktion sollte mit Vertex- oder Volumepuffern verwendet werden.

Syntax

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

Parameter

Qualität [in]

Typ: D3DXSHCOMPRESSQUALITYTYPE

Qualität der sphärisch harmonischen (SH)-Komprimierung. Siehe D3DXSHCOMPRESSQUALITYTYPE.

NumClusters [in]

Typ: UINT

Anzahl der Cluster, die für die Komprimierung verwendet werden sollen.

NumPCA [in]

Typ: UINT

Anzahl der Basisvektoren der Prinzipalkomponentenanalyse (PCA), die in jedem Cluster verwendet werden sollen.

pCB [in]

Typ: LPD3DXSHPRTSIMCB

Optionaler Zeiger auf die Rückruffunktion LPD3DXSHPRTSIMCB , die verwendet wird, um den Prozentsatz der abgeschlossenen PRT-Komprimierungsberechnungen zu berechnen. Die Rückruffunktion muss implementiert werden, um S_OK zurückzugeben, um die Komprimierungsroutine weiterhin auszuführen. Jeder andere Wert beendet die Komprimierung. Kann NULL sein.

lpUserContext [in]

Typ: LPVOID

Optionaler Zeiger auf einen benutzerdefinierten Wert, der an die Rückruffunktion LPD3DXSHPRTSIMCB übergeben wird. Wird in der Regel von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, die Kontextinformationen für die Rückruffunktion bereitstellt. Kann NULL sein.

pBuffer [in]

Typ: LPD3DXPRTBUFFER

Adresse eines Zeigers auf das nicht komprimierte ID3DXPRTBuffer-Objekt , das komprimiert wird.

ppBuffer [ein, aus]

Typ: LPD3DXPRTCOMPBUFFER*

Adresse eines Zeigers auf das Ausgabeobjekt ID3DXPRTCompBuffer .

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Vorcomputed Radiance Transfer Functions

D3DXCreatePRTBuffer

D3DXCreatePRTBufferTex