2012-05-06 14 views
8

ho questo:Funzione GLSL pow?

float xExponential = pow(xPingPong, 5); 

E non funziona, sostenendo:

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

mi doin' qualcosa che non va? Sviluppo per iOS con OpenGL ES 2.0.

risposta

29

Puoi provare questo?

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

Sembra strano, ma funziona, grazie. – Geri

+10

Il motivo è che 5 è un numero intero e 5.0 è un float (e la funzione pow non è definita per pow (float, int) .Non c'è un typecast automatico in GLSL, ma potresti forzare il tipo corretto per float xExponential = pow (xPingPong, float (5)); - non che abbia senso in questo esempio: – Mortennobel

+3

@Geri E 'considerato educato accettare una risposta se ti ha aiutato a risolvere il tuo problema.Fai il segno di spunta accanto alla risposta di Mennan se ti ha aiutato. –