Bonjour,
Je suis entrain d'apprendre OpenGL en suivant ce tutoriel:
http://openclassrooms.com/courses/developpez-vos-applications-3d-avec-opengl-3-3 sauf que celui ci utilise, en plus de OpenGL, la SDL. Cependant, préférant largement la SFML à la SDL, j'ai voulu dévier un peu du tuto et utiliser la SFML au lieu de la SDL. J'ai donc créé un nouveau projet et tout linké (J'utilise donc: SFML, GLEW, Freeglut). Cependant, glew ne semble pas fonctionner, quand j'appelle une fonction de glew (comme glIsShader ou glVertexAttribPointer, par exemple), le programme crash avec l'erreur suivante:
Unhandled exception at 0x751ECB49 in SFMLGL.exe: 0xC0000005: Access violation executing location 0x00000000.
J'ai donc cherché pendant plusieurs heures et j'ai remarqué que les fonctions qui font crash sont celles qui sont sous la forme (je le vois quand je fais clic droit -> go to definition)
#define glIsShader GLEW_GET_FUN(__glewIsShader)
Ce sont vraiment ces "types" de fonctions qui font crash. Au début de mon programme, j'appelle glEnable(GL_DEPTH_TEST) et ça ne crash pas. Quand je fais clic droit -> go to definition sur cette dernière fonction, je remarque qu'elle n'est pas sous la forme GLEW_GET_FUNC() mais
GLAPI void GLAPIENTRY glEnable (GLenum cap);
Sur internet, j'ai trouvé ce topic:
http://stackoverflow.com/questions/15165863/glgenframebuffers-access-violation-when-using-glfw-glewIls disent que glew a des problèmes avec un "core OpenGL profile" je ne sais pas ce qu'est un core OpenGL profile mais je pense que c'est peut-être à cause de cela ou alors peut-être que il faut faire quelque chose de spécial pour pouvoir utiliser SFML OpenGL et glew.
Je ne sais pas si ça vient de SFML mais je viens ici car je ne sais vraiment plus quoi faire, merci.