D3DXSHEvalConeLight, fonction (D3dx9math. h)

Évalue une lumière qui est un cône d’intensité constante et retourne des données d’harmonique sphérique spectral (SH).

Syntaxe

HRESULT D3DXSHEvalConeLight(
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir,
  _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.

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.

Rayon [ dans]

Type : float

Rayon du cône en radians.

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 qui est un cône d’intensité constante et retourne des données SH spectrales. Le vecteur de sortie est calculé de sorte que si le rapport d’intensité R/G/B est égal à 1, le luminance de sortie d’un point situé directement sous la lumière (orienté dans la direction du cône sur un objet diffus avec un albedo de 1) est 1,0. 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.

illustration d’une sphère avec rayon unitaire

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.

équations de la relation entre les coordonnées cartésiennes et sphériques

Configuration requise

Condition requise Valeur
En-tête
D3dx9math. h
Bibliothèque
D3dx9. lib

Voir aussi

Fonctions mathématiques

Transfert de luminance précalculé (Direct3D 9)