Question

revient souvent NAN ( "Not A Number") en fonction de l'entrée:

#define PI 3.1415f

GLfloat sineEaseIn(GLfloat ratio) {
 return 1.0f-cosf(ratio * (PI / 2.0f));
}

J'ai essayé de faire PI quelques petits chiffres pour voir si cela pouvait aider. Pas de dé. Ensuite, je pensais que ce serait peut-être une incompatibilité de type de données, mais float et GLfloat semblent être équivalentes:

gl.h

typedef float           GLfloat;

math.h

extern float  cosf( float );

Est-ce un problème de casting?

Était-ce utile?

La solution

Je soupçonne que l'un des éléments suivants est en cours de réalisation:

  • votre valeur d'entrée à ratio peut ne pas être ce que vous attendez qu'il soit, et ratio lui-même est peut-être NaN
  • cosf que vous appelez est pas celui math.h

Dans le cas contraire, il ne semble pas être quelque chose de mal avec votre expression.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top