D3DXSHEvalConeLight-Funktion (D3DX10.h)
Hinweis
Die Hilfsprogrammbibliothek D3DX (D3DX 9, D3DX 10 und D3DX 11) ist veraltet und wird für Windows Store-Apps nicht unterstützt.
Hinweis
Anstelle dieser Funktion empfiehlt es sich, die Bibliotheksfunktion Spherical Harmonics MathXMSHEvalConeLight zu verwenden.
Wertet ein Licht aus, das ein Kegel konstanter Intensität ist, und gibt spektrale sphärische harmonische Daten (SH) zurück.
Syntax
HRESULT D3DXSHEvalConeLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ FLOAT Radius,
_In_ FLOAT RIntensity,
_In_ FLOAT GIntensity,
_In_ FLOAT BIntensity,
_In_ FLOAT *pROut,
_In_ FLOAT *pGOut,
_In_ FLOAT *pBOut
);
Parameter
-
Bestellung [in]
-
Typ: UINT
Reihenfolge der SH-Auswertung. Muss im Bereich der D3DXSH_MINORDER liegen, um D3DXSH_MAXORDER zu D3DXSH_MAXORDER, einschließlich. Die Auswertung generiert Order²-Koeffizienten. Der Grad der Bewertung ist Reihenfolge - 1.
-
pDir [in]
-
Typ: const D3DXVECTOR3*
Zeiger auf den (x, y, z) Hemisphärenachsenrichtungsvektor, in dem die SH-Basisfunktionen ausgewertet werden sollen. Siehe Hinweise.
-
Radius [in]
-
Typ: FLOAT
Radius des Kegels in Bogenmaßen.
-
RIntensity [in]
-
Typ: FLOAT
Die rote Intensität des Lichts.
-
GIntensity [in]
-
Typ: FLOAT
Die grüne Intensität des Lichts.
-
BIntensity [in]
-
Typ: FLOAT
Die blaue Intensität des Lichts.
-
pROut [in]
-
Typ: FLOAT*
Zeiger auf den AUSGABE-SH-Vektor für die rote Komponente.
-
pGOut [in]
-
Typ: FLOAT*
Zeiger auf den AUSGABE-SH-Vektor für die grüne Komponente.
-
pBOut [in]
-
Typ: FLOAT*
Zeiger auf den AUSGABE-SH-Vektor für die blaue Komponente.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert sein: D3DERR_INVALIDCALL.
Bemerkungen
Wertet ein Licht aus, das ein Kegel konstanter Intensität ist, und gibt spektrale SH-Daten zurück. Der Ausgabevektor wird so berechnet, dass, wenn das Intensitätsverhältnis R/G/B gleich 1 ist, die Ausgangsstrahlung eines Punkts direkt unter dem Licht (in Kegelrichtung auf ein diffuses Objekt mit einer Albedo von 1 ausgerichtet) 1,0 beträgt. Dadurch werden drei Spektralbeispiele berechnet. pROut wird zurückgegeben, während pGOut und pBOut zurückgegeben werden können.
Auf der Kugel mit Einheitsradius kann, wie in der folgenden Abbildung dargestellt, die Richtung einfach mit theta, dem Winkel um die z-Achse in rechtshändiger Richtung und phi, dem Winkel von z angegeben werden.
Die folgenden Formeln zeigen die Beziehung zwischen kartesischen (x, y, z) und kugelförmigen Koordinaten (Theta, phi) auf der Einheitskugel. Der Winkel theta variiert über den Bereich von 0 bis 2 Pi, während phi von 0 bis pi variiert.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für