D3DXSHEvalSphericalLight-Funktion (D3dx9math.h)

Wertet ein sphärisches Licht aus und gibt spektrale sphärische harmonische Daten (SH) zurück.

Hinweis

Die Hilfsprogrammbibliothek D3DX (D3DX 9, D3DX 10 und D3DX 11) ist veraltet und wird für Windows Store-Apps nicht unterstützt.

Hinweis

Anstatt diese Funktion zu verwenden, wird empfohlen, die Spherical Harmonics Math-BibliotheksfunktionXMSHEvalSphericalLight zu verwenden.

Syntax

HRESULT D3DXSHEvalSphericalLight(
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pPos,
  _In_        FLOAT       Radius,
  _In_        FLOAT       RIntensity,
  _In_        FLOAT       GIntensity,
  _In_        FLOAT       BIntensity,
  _Out_       FLOAT       *pROut,
  _Out_       FLOAT       *pGOut,
  _Out_       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.

pPos [in]

Typ: const D3DXVECTOR3*

Zeiger auf die Lichtposition.

Radius [in]

Typ: FLOAT

Radius der sphärischen Lichtquelle.

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 [out]

Typ: FLOAT*

Zeiger auf den AUSGABE-SH-Vektor für die rote Komponente.

pGOut [out]

Typ: FLOAT*

Zeiger auf den AUSGABE-SH-Vektor für die grüne Komponente.

pBOut [out]

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 sphärisches Licht aus und gibt spektrale SH-Daten zurück. Es gibt keine Normalisierung der Intensität des Lichts wie bei richtungsgerichteten Leuchten, daher muss bei der Angabe der Intensitäten Vorsicht getroffen werden. 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.

Abbildung einer Kugel mit Einheitsradius

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.

Gleichungen der Beziehung zwischen kartesischen und kugelförmigen Koordinaten

Anforderungen

Anforderung Wert
Header
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

Vorcomputed Radiance Transfer (Direct3D 9)