D3DXSHEvalDirection-Funktion (D3dx9math.h)

Wertet die SH-Basisfunktionen (Spherical Vector) aus einem Eingaberichtungsvektor aus.

Syntax

FLOAT* D3DXSHEvalDirection(
  _Out_       FLOAT       *pOut,
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir
);

Parameter

pOut [ out]

Typ: FLOAT*

Zeiger auf SH-Ausgabekoeffizienten (Spherical Veralten). Die Auswertung generiert Order²-Koeffizienten. Siehe Hinweise.

Bestellung [ In]

Typ: UINT

Reihenfolge der SH-Auswertung. Muss im Bereich von D3DXSH _ MINORDER bis D3DXSH _ MAXORDER (einschließlich) liegen. Die Auswertung generiert Order²-Koeffizienten. Der Grad der Auswertung ist "Order - 1".

pDir [ In]

Typ: const D3DXVECTOR3 *

(x, y, z) Richtungsvektor, in dem die SH-Basisfunktionen ausgewertet werden sollen. Muss normalisiert werden. Siehe Hinweise.

Rückgabewert

Typ: FLOAT*

Zeiger auf SH-Ausgabekoeffizienten. Siehe Hinweise.

Hinweise

Jeder Koeffizient der Basisfunktion "Ylm" wird an der Speicherposition ljs + m + l gespeichert, wobei Folgendes gilt:

  • l ist der Grad der Basisfunktion.
  • m ist der Basisfunktionsindex für den angegebenen l-Wert und reicht von -l bis l einschließlich.

Auf der Kugel mit Einheitenradius kann die Richtung wie in der folgenden Abbildung dargestellt einfach mit theta, dem Winkel um die Z-Achse in rechtshändiger Richtungund phi, dem Winkel von z, angegeben werden.

Abbildung einer Kugel mit Einheitenradius

Die folgenden Gleichungen zeigen die Beziehung zwischen kartesischen Koordinaten (x, y, z) und sphärischen Koordinaten (Theta, Phi) auf der Einheitenkugel. Der Winkel theta variiert über den Bereich von 0 bis 2 Pi, während phi von 0 bis pi variiert.

Gleichungen der Beziehung zwischen kartesischen und sphärischen Koordinaten

Anforderungen

Anforderung Wert
Header
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

Vorausberechnen der Übertragungsstärke (Direct3D 9)