2017-10-07 6 views
0

J'ai trouvé ce code sur internet et je voudrais connaître la théorie derrière cela, quelqu'un peut-il me pointer dans la bonne direction?Quelqu'un sait d'où vient ce code pour normaliser les coefficients d'harmoniques sphériques?

Voici le code:

float4 SHCNormalize(in float4 res) 
{ 
    // extract direction 
    float l = dot(res.gba, res.gba); 
    res.gba /= max(0.05f, sqrt(l)); 
    res.r = 1.0; 
    return res; 
} 

Pour vous donner un peu de contexte, ce code est transmis en 4 coefficients d'harmoniques zonaux représentant un lobe cosinus pincé dans l'espace SH.

Merci!

Répondre

0

le maximum dans la fonction est d'éviter l'écart de 0,0. le res.r = 1.0f est un détail d'implémentation qui s'applique uniquement au code et n'a aucune base théorique.