Freigeben über


ID3DXPRTEngine::ComputeVolumeSamples-Methode

Berechnet eine Projektion der direkten Beleuchtung vom vorherigen Lichtsprung in sphärische harmonische (SH)-Basisvektoren, die die Einstrahlung an bestimmten Stellen darstellen.

Syntax

HRESULT ComputeVolumeSamples(
  [in]            LPD3DXPRTBUFFER pSurfDataIn,
  [in]            UINT            Order,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Parameter

pSurfDataIn [in]

Typ: LPD3DXPRTBUFFER

Zeiger auf ein ID3DXPRTBuffer-Eingabeobjekt , das das 3D-Objekt aus dem vorherigen Lichtsprung darstellt.

Reihenfolge [in]

Typ: UINT

Reihenfolge der SH-Auswertung. Muss im Bereich der D3DXSH_MINORDER liegen, um D3DXSH_MAXORDER inklusive. Die Auswertung generiert Order²-Koeffizienten. Der Grad der Auswertung ist Order - 1.

NumVolSamples.xml [in]

Typ: UINT

Anzahl der Beispielspeicherorte.

pSampleLocs [in]

Typ: const D3DXVECTOR3*

Position für jedes Beispiel. Wenn pSampleLocs NULL ist, berechnet ComputeVolumeSamples Übertragungsmatrizen an jedem Gittervertex. Wenn pSampleLocs jedoch nicht NULL ist, müssen Sie eine Stichprobe über eine Kugel (legen Sie UseSphere = TRUE und UseCosine = FALSE in ID3DXPRTEngine::SetSamplingInfo fest); Andernfalls gibt ComputeVolumeSamples D3DERR_INVALIDCALL zurück.

pDataOut [in, out]

Typ: LPD3DXPRTBUFFER

Zeiger auf ein ID3DXPRTBuffer-Ausgabeobjekt , das die direkte Beleuchtung des vorherigen Lichts in SH-Basisvektoren projiziert. Dieser Puffer muss über die richtige Anzahl von Farbkanälen verfügen, die der Simulation zugeordnet sind.

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Mit dieser Methode wird berechnet, wie das Licht der Quellstrahlfunktion von der Oberfläche reflektiert wird, die die Szene darstellt (pSurfDataIn) und an jedem punkt im Raum ankommt, der von pSampleLocs angegeben wird. Die SH-Koeffizienten stellen die Zuordnung an jedem pSampleLocs-Punkt der Quellstrahlung zur übertragenen Incidentstrahlung dar.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH