Это часто возвращает NAN («Не число») в зависимости от ввода:
#define PI 3.1415f
GLfloat sineEaseIn(GLfloat ratio) {
return 1.0f-cosf(ratio * (PI / 2.0f));
}
Я попытался уменьшить PI на несколько цифр, чтобы посмотреть, поможет ли это. Нет кости.
Тогда я подумал, что это может быть несоответствие типов данных, но float и glfloat кажутся эквивалентными:
gl.h
typedef float GLfloat;
math.h
extern float cosf( float );
Это проблема с кастингом?