2012-05-06 6 views
8

J'ai ceci:Fonction GLSL pow?

float xExponential = pow(xPingPong, 5); 

Et ne fonctionne pas, affirmant:

ERROR: 0:53: No matching overload for call to function 'pow'

Suis-je fais quelque chose de mal? Développement pour iOS avec OpenGL ES 2.0.

Répondre

29

Pouvez-vous essayer cela?

float xExponential = pow(xPingPong, 5.0); 
+0

Cela semble bizarre, mais fonctionne, merci. – Geri

+10

Reason est que 5 est un nombre entier et que 5.0 est un float (et que la fonction pow n'est pas définie pour pow (float, int) Il n'y a pas de traduction automatique dans GLSL, mais vous pouvez forcer le type correct par float xExponential = pow (xPingPong, float (5)), - cela n'a pas de sens dans cet exemple – Mortennobel

+3

@Geri Il est considéré comme poli d'accepter une réponse si elle vous a aidé à résoudre votre problème.Cochez la case à côté de la réponse de Mennan si cela vous a aidé. –