ID3DXPRTEngine::ComputeDirectLightingSHGPU-Methode
Verwendet die GPU, um den direkten Beleuchtungsbeitrag für 3D-Objekte zu berechnen, bei denen die Quellstrahlung durch eine sphärische harmonische Näherung (SH) dargestellt wird. Die Berechnung der Beleuchtung auf der GPU ist in der Regel viel schneller als auf der CPU.
Syntax
HRESULT ComputeDirectLightingSHGPU(
[in] LPDIRECT3DDEVICE9 pDevice,
[in] UINT Flags,
[in] UINT Order,
[in] FLOAT ZBias,
[in] FLOAT ZAngleBias,
[in, out] LPD3DXPRTBUFFER pDataOut
);
Parameter
-
pDevice [in]
-
Typ: LPDIRECT3DDEVICE9
Zeiger auf das IDirect3DDevice9-Geräteobjekt , das zum Ausführen der Simulation auf der GPU verwendet wird. Das Gerät muss ps_2_0 Pixelshader unterstützen.
Hinweis
Rückruffunktionen sollten nicht das vom GPU-Simulator verwendete IDirect3DDevice9-Geräteobjekt verwenden.
-
Flaggen [in]
-
Typ: UINT
GPU-Simulationsparameter, der die Auflösung des Schatten-Z-Puffers definiert. Sollte auf einen der konstanten Werte von D3DXSHGPUSIMOPT festgelegt werden. Zur Angabe einer Simulation mit höherer Genauigkeit kann der D3DXSHGPUSIMOPT_HIGHQUALITY-Wert mit einem der D3DXSHGPUSIMOPT_SHADOWRESxxx-Werte kombiniert werden.
-
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.
-
ZBias [in]
-
Typ: FLOAT
Verzerrung in normaler Richtung.
-
ZAngleBias [in]
-
Typ: FLOAT
Verzerrung in normaler Richtung, skaliert um eins minus dem Kosinus des Winkels mit dem Lichtstrahl.
-
pDataOut [in, out]
-
Typ: LPD3DXPRTBUFFER
Zeiger auf ein ID3DXPRTBuffer-Objekt . 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
Bei dieser Methode wird die Albedo nicht mit dem Lichtsignal multipliziert, und nur eingehendes Licht wird in den Simulator integriert. Wenn Sie die Albedo nicht multiplizieren, können Sie die Albedovariation in einem feineren Maßstab als die Quellstrahlung modellieren und so genauere Ergebnisse der Komprimierung erzielen.
Rufen Sie MultiplyAlbedo auf, um jeden vorberechneten PRT-Vektor (Radiance Transfer) mit dem Albedo zu multiplizieren.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch