D3DXSHEvalHemisphereLight, fonction (D3DX10. h)
Évalue une lumière qui est une interpolation linéaire entre deux couleurs sur la sphère.
Syntaxe
HRESULT D3DXSHEvalHemisphereLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ D3DXCOLOR Top,
_In_ D3DXCOLOR Bottom,
_In_ FLOAT *pROut,
_In_ FLOAT *pGOut,
_In_ FLOAT *pBOut
);
Paramètres
-
Commande [ dans]
-
Type : uint
Ordre de l’évaluation de l’harmonique sphérique (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.
-
pDir [ dans]
-
Type : const D3DXVECTOR3 *
Pointeur vers le vecteur de direction de l’axe (x, y, z) de l’hémisphère dans lequel évaluer les fonctions de base SH. Consultez la section Notes.
-
En haut [ dans]
-
Type : D3DXCOLOR
Couleur du ciel.
-
En bas [ dans]
-
Type : D3DXCOLOR
Couleur de fond.
-
pROut [ dans]
-
Type : float*
Pointeur vers le vecteur de sortie SH pour le composant rouge.
-
pGOut [ dans]
-
Type : float*
Pointeur vers le vecteur de sortie SH pour le composant vert.
-
pBOut [ dans]
-
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
L’interpolation est effectuée de façon linéaire entre les deux points, et non pas sur la surface de la sphère (autrement dit, si l’axe était (0, 0, 1) elle est linéaire en Z, et non pas dans l’angle de l’azimut). La fonction d’éclairage sphérique qui en résulte est normalisée, de sorte qu’un point sur une surface parfaitement diffuse sans occultation et un point perpendiculaire dans la direction pDir entraînerait la sortie de luminance avec une valeur de 1 (si la couleur supérieure était blanche et la couleur inférieure était noire). Il s’agit d’un modèle très simple où Top représente l’intensité de « Sky » et Bottom représente l’intensité du « Ground ».
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 |
|