D3DXSHMultiply6, fonction
Notes
La bibliothèque d’utilitaires D3DX (D3DX 9, D3DX 10 et D3DX 11) est déconseillée et n’est pas prise en charge pour les applications du Windows Store.
Notes
Au lieu d’utiliser cette fonction, nous vous recommandons d’utiliser la fonction de bibliothèque Spherical Harmonics MathXMSHMultiply6.
Calcule le produit de deux fonctions harmoniques sphériques (f et g). Les deux fonctions sont d’ordre N = 6.
Syntaxe
FLOAT* D3DXSHMultiply6(
_In_ FLOAT *pOut,
_In_ const FLOAT *pF,
_In_ const FLOAT *pG
);
Paramètres
-
pOut [in]
-
Type : FLOAT*
Pointeur vers les coefficients SH de sortie : la fonction de base Ylm est stockée à l² + m + l. L’ordre N détermine la longueur du tableau, où il doit toujours y avoir des coefficients N².
-
pF [in]
-
Type : const FLOAT*
Coefficients SH d’entrée pour la première fonction.
-
pG [in]
-
Type : const FLOAT*
Deuxième ensemble de coefficients SH d’entrée.
Valeur retournée
Type : FLOAT*
Pointeur vers les coefficients de sortie SH.
Notes
Le produit de deux fonctions SH d’ordre N = 6 génère une fonction SH d’ordre 2 × N - 1 = 11, mais les résultats sont tronqués. Cela signifie que le produit se déplace ( f × g = g × f ) mais ne s’associe pas ( f × ( g × h ) ≠ ( f × g ) × h ).
Cette fonction utilise l’équation suivante :
pOut[i] = int(y_i(s) * f(s) * g(s))
où y_i(s) est la fonction de base SH ith, et où f(s) et g(s) utilisent la fonction SH suivante :
sum_i(y_i(s)*c_i)
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi