Ah oui, mince. Désolé si c'est un peu stupide mais je suis nouveau à OpenGL/Glew.. et je m’emmêle les pinceaux. J'ai donc initialisé Glew mais le problème persiste toujours. Voici mon code (le début):
sf::ContextSettings settings;
settings.majorVersion = 3;
settings.minorVersion = 1;
sf::RenderWindow window(sf::VideoMode(800, 600), "OpenGL", sf::Style::Default, settings);
glewExperimental = GL_TRUE;
GLenum initGlew = glewInit();
//If the initialization failed
if (initGlew != GLEW_OK)
{
std::cout << "Failed to initialize GLEW, error: " << glewGetErrorString(initGlew) << std::endl;
return false;
}
glEnable(GL_DEPTH_TEST);
Normalement, Glew est bien initialisé car ça ne passe pas dans le if(initGlew !=GLEW_OK)
J'ignore à quoi sert glewExperimental mais j'ai vu sur internet qu'il fallait parfois le mettre. De toute façon, avec ou sans, l'erreur persiste.
Merci encore.
Oui, ma carte graphique supporte OpenGL 3.1 car, au début, je suivais le tuto avec la SDL et OpenGL 3.1 marchait. Cependant, quand je fais (dans mon projet SFML OpenGL)
std::cout << glGetString(GL_VERSION) << std::endl;
ça écrit: 1.1.0
Et dans mon projet SDL OpenGL la même ligne écrit: 4.4.0 NVIDIA 345.20
J'utilise aussi les mêmes API que celles utilisées pour le projet original SDL OpenGL (Glew, GLM, Freeglut).
J'ai une carte graphique Nvidia GeForce GTX 660ti, qui est assez récente.