2012-05-06 19 views
8

mam to:Funkcja GLSL pow?

float xExponential = pow(xPingPong, 5); 

I nie działa, twierdząc:

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

jestem robisz coś złego? Opracowanie dla iOS z OpenGL ES 2.0.

Odpowiedz

29

Czy możesz tego spróbować?

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

Wydaje się dziwne, ale działa, dzięki. – Geri

+10

Powodem jest to, że 5 jest liczbą całkowitą, a 5,0 to wartość zmiennoprzecinkowa (a funkcja pow jest nie zdefiniowana dla pow (float, int) .Nie ma automatycznie typecast w GLSL, ale można wymusić poprawny typ przez float xExponential = pow (xPingPong, float (5)) - nie ma to sensu w tym przykładzie: – Mortennobel

+3

@Geri Uważa się, że uprzejmie jest zaakceptować odpowiedź, jeśli pomogło ci to rozwiązać problem .. Uderz w znacznik wyboru obok odpowiedzi Mennana, jeśli ci pomógł. –