D3DXSHEvalSphericalLight, fonction (D3dx9math. h)
Évalue une lumière sphérique et retourne des données de l’harmonique sphérique spectral (SH).
Syntaxe
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
);
Paramètres
-
Commande [ dans]
-
Type : uint
Ordre de l’évaluation SH. La valeur doit être comprise entre D3DXSH _ MINORDER et D3DXSH _ MAXORDER, inclus. L’évaluation génère des coefficients de commande ². Le degré de l’évaluation est Order-1.
-
pPos [ dans]
-
Type : const D3DXVECTOR3 *
Pointeur vers la position de la lumière.
-
Rayon [ dans]
-
Type : float
Rayon de la source de lumière sphérique.
-
RIntensity [ dans]
-
Type : float
Intensité rouge de la lumière.
-
GIntensity [ dans]
-
Type : float
Intensité verte de la lumière.
-
BIntensity [ dans]
-
Type : float
Intensité bleue de la lumière.
-
pROut [ à]
-
Type : float*
Pointeur vers le vecteur de sortie SH pour le composant rouge.
-
pGOut [ à]
-
Type : float*
Pointeur vers le vecteur de sortie SH pour le composant vert.
-
pBOut [ à]
-
Type : float*
Pointeur vers le vecteur de sortie SH pour le composant bleu.
Valeur retournée
Type : HRESULT
Si la fonction est réussie, la valeur de retour est D3D _ OK. Si la fonction échoue, la valeur de retour peut être : D3DERR _ INVALIDCALL.
Remarques
Évalue une lumière sphérique et retourne des données SH spectrales. Il n’y a aucune normalisation de l’intensité de la lumière comme c’est le cas pour les lumières directionnelles. vous devez donc veiller à spécifier les inintensités. Cela permet de calculer trois échantillons spectraux. pROut est retourné, tandis que pGOut et pBOut peuvent être retournés.
Sur la sphère avec rayon d’unité, comme indiqué dans l’illustration suivante, la direction peut être spécifiée simplement avec thêta, l’angle autour de l’axe z dans la direction de droite, et Phi, l’angle de z.

Les équations suivantes montrent la relation entre les coordonnées cartésiennes (x, y, z) et sphériques (thêta, Phi) sur la sphère d’unité. Le thêta angulaire varie d’une plage de 0 à 2 pi, tandis que la valeur de Phi varie de 0 à pi.

Configuration requise
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|