ID3DXPRTEngine::ComputeSSAdaptive-Methode
Berechnet einen Übertragungsvektor, der die Quellradiusquelle zuweist, um die Auslassungsfläche zu beenden, die sich aus der Streuung der Unterfläche ergibt. Dazu werden adaptive Stichproben und Materialeigenschaften verwendet, die von ID3DXPRTEngine::SetMeshMaterialsfestgelegt wurden. Die -Methode generiert neue Scheitelpunkte und Gesichter im Netz, um das PRT-Signal (Precomputed Radiance Transfer) genauer anzunähern. Diese Methode kann nur für Materialien verwendet werden, die pro Scheitelpunkt in einem Gittermodellobjekt definiert sind.
Syntax
HRESULT ComputeSSAdaptive(
[in] LPD3DXPRTBUFFER pDataIn,
[in] FLOAT AdaptiveThresh,
[in] FLOAT MinEdgeLength,
[in] UINT MaxSubdiv,
[in, out] LPD3DXPRTBUFFER pDataOut,
[in, out] LPD3DXPRTBUFFER pDataTotal
);
Parameter
-
pDataIn [ In]
-
Typ: LPD3DXPRTBUFFER
Zeiger auf ein EINGABE-ID3DXPRTBuffer-Objekt, das das 3D-Objekt aus dem vorherigen lichten Hüpfen darstellt. Diesem Eingabepuffer muss die richtige Anzahl von Farbkanälen für die Simulation zugeordnet sein.
-
AdaptiveThresh [ In]
-
Typ: FLOAT
Schwellenwert für den PRT-Vektor, der zum Unterteilen von Gitternetzvertices und Gesichtern verwendet werden soll. Wenn kleiner als 1e-6f ist, wird der Standardwert 1e-6f angegeben.
-
MinEdgeLength [ In]
-
Typ: FLOAT
Minimale Länge des Gesichtsrands, die bei der adaptiven Stichprobenentnahme generiert wird. Wenn die -Methode feststellt, dass der Wert zu klein ist, wird ein modellabhängiger Wert angegeben.
-
MaxSubdiv [ In]
-
Typ: UINT
Maximale Unterteilungsebene eines Gesichts, die bei der adaptiven Stichprobenentnahme verwendet wird. Bei 0 (null) wird der Standardwert 4 angegeben.
-
pDataOut [ in, out]
-
Typ: LPD3DXPRTBUFFER
Zeiger auf ein ID3DXPRTBuffer-Ausgabeobjekt, das eine einzelne Abprallfläche des Lichts mit Streufläche modelliert. Diesem Ausgabepuffer muss die richtige Anzahl von Farbkanälen für die Simulation zugeordnet sein.
-
pDataTotal [ in, out]
-
Typ: LPD3DXPRTBUFFER
Zeiger auf ein optionales ID3DXPRTBuffer-Objekt, das die laufende Summe aller vorherigen pDataOut-Ausgaben ist. Kann NULL sein.
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
Rufen Sie diese Methode für jede Lichtpralltaste auf, nachdem eine ID3DXPRTEngine::ComputeDirectLightingSHAdaptive-Methode aufgerufen wurde, um das Streudiagramm der Unterfläche zu modellieren.
Die Ausgabe dieser Methode enthält nicht albedo, und nur eingehendes Licht ist in den Simulator integriert. Indem Sie den Albedo nicht multiplizieren, können Sie albedo-Variationen in einem feineren Maßstab als die Quellleistung modellieren und so genauere Ergebnisse der Komprimierung erzielen.
Rufen Sie ID3DXPRTEngine::MultiplyAlbedo auf, um jeden PRT-Vektor mit dem Albedo zu multiplizieren.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|