Freigeben über


D3DXCreatePRTBuffer-Funktion

Erstellt einen vorab berechneten PRT-Puffer (Radiance Transfer), der von einem Simulator komprimiert oder gefüllt werden kann. Diese Funktion sollte verwendet werden, um Puffer pro Scheitelpunkt oder Volume zu erstellen.

Syntax

HRESULT D3DXCreatePRTBuffer(
  _In_    UINT            NumSamples,
  _In_    UINT            NumCoeffs,
  _In_    UINT            NumChannels,
  _Inout_ LPD3DXPRTBUFFER *ppBuffer
);

Parameter

NumSamples [in]

Typ: UINT

Anzahl der Scheitelpunkte (oder Texel), die stichprobeniert wurden.

NumCoeffs [in]

Typ: UINT

Anzahl der Koeffizienten pro Stichprobenstandort. Bei Verwendung von sphärischen harmonischen (SH) PRT sollte die Anzahl der Koeffizienten Order² sein, wobei Order die Reihenfolge der SH-Auswertung ist. Die Reihenfolge muss sich im Bereich der D3DXSH_MINORDER D3DXSH_MAXORDER einschließlich befinden. Der Grad der Auswertung ist Order - 1.

NumChannels [in]

Typ: UINT

Anzahl der Farbkanäle, die im Gitter festgelegt werden sollen. Legen Sie auf 1 fest, um graue Materialien anzugeben (R = G = B), oder 3, um Farbblutungseffekte zu aktivieren.

ppBuffer [in, out]

Typ: LPD3DXPRTBUFFER*

Adresse eines Zeigers auf das erstellte ID3DXPRTBuffer-Objekt .

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Wenn der Puffer erstellt wird, werden alle Werte mit 0 (null) initialisiert.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Weitere Informationen

Vorberechnete Radianzübertragungsfunktionen

D3DXCreatePRTBufferTex