salut,
Je programme un système de lumière dynamique mais il se trouve que les Coordonnées en y que je lui donne sont inversé ( 0 en bas de l’écran) ce qui est extrêmement dérangeant
voici le code ou je dessine la lumière
light.clear();
float angle = 360/lightDefinition;
light.setPrimitiveType(sf::TrianglesFan);
light.append(position);
light[0].color = Color(color.r,color.g,color.b,100); // ajout du point au centre
light.append(Vector2f(position.x+radius,position.y));
light[1].color = Color(color.r,color.g,color.b,0); // ajout du premier point a droite
angle = (M_PI*2)/lightDefinition;
for(unsigned short i=1;i<lightDefinition+1;i++)
{
Vector2f anglePt;
Vertex vertex;
anglePt.x = position.x+((radius*cos(angle*i)) );
anglePt.y = position.y+((radius*sin(angle*i)) );
vertex.position = anglePt;
vertex.color = Color(color.r,color.g,color.b,0);
light.append(vertex);
}
j'ai fait un screen pour montré le problème, on peut voir dans la console que la lumière devrais ce trouver en 3y mais est en faite en bas de l’écran (le seul moyen que j'ai trouvé pour la remettre au bon endroit est d'inversé la coordonnées en y puis d'y soustraire la hauteur de l’écran)
donc voila, j'aimerais savoir si c'est une erreur de ma part ou bien si c'est normal (la OpenGL ayant son Y inversé), merci d'avance ^^