ID3DXPRTEngine::ComputeVolumeSamplesDirectSH-Methode

Berechnet eine Projektion entfernter Beleuchtung in SH-Basisvektoren (Spherical Vector), die die Strahlkraft von Vorfällen an angegebenen Stellen darstellen.

Syntax

HRESULT ComputeVolumeSamplesDirectSH(
  [in]            UINT            OrderIn,
  [in]            UINT            OrderOut,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Parameter

OrderIn [ In]

Typ: UINT

Reihenfolge der SH-Darstellung entfernter Beleuchtung. Muss im Bereich von D3DXSH _ MINORDER bis D3DXSH _ MAXORDER (einschließlich) liegen. Der Grad der Auswertung ist OrderIn - 1.

OrderOut [ In]

Typ: UINT

Reihenfolge der SH-Darstellung der lokalen Beleuchtung. Muss im Bereich von D3DXSH _ MINORDER bis D3DXSH _ MAXORDER (einschließlich) liegen. Der Grad der Auswertung ist OrderOut - 1.

NumVolSamples.xml [ In]

Typ: UINT

Anzahl von Beispielspeicherorten.

pSampleLocs [ In]

Typ: const D3DXVECTOR3 *

Position für jedes Beispiel.

pDataOut [ in, out]

Typ: LPD3DXPRTBUFFER

Zeiger auf ein Id3DXPRTBuffer-Ausgabeobjekt, das die entfernte Beleuchtung in SH-Basisvektoren projiziert. Diesem Puffer muss die richtige Anzahl von Farbkanälen für die Simulation zugeordnet sein. Diese Methode generiert OrderInlimit * OrderOut"skalare Skalar pro Kanal an jedem Beispielspeicherort.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, lautet der Rückgabewert D3D _ OK. Wenn die Methode fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR _ INVALIDCALL, E _ OUTOFMEMORY.

Bemerkungen

Diese Methode berechnet, wie Licht aus einer entfernten Quelle an jedem Punkt im durch pSampleLocs angegebenen Raum eintrifft. Die SH-Koeffizienten stellen an jedem pSampleLocs-Punkt die Zuordnung des Quellmaßes zum übertragenen Vorfallsmaß dar.

Um diese Methode erfolgreich zu verwenden, müssen Sie die Stichprobenentnahme für eine Kugel mit UseSphere = TRUE und UseCosine = FALSE in ID3DXPRTEngine::SetSamplingInfofestlegen. Andernfalls gibt diese Methode einen Fehler mit D3DERR _ INVALIDCALL zurück.

Requirements (Anforderungen)

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Weitere Informationen

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamples