Salut à tous.
Je débutes dans opengl et en même temps sur sfml 2.
J'ai sfml 2 rc, opengl 3, codeblocks.
Mon but est de faire un triangle en opengl 3 et d'afficher un texte à l'aide de sfml.
Séparément, les deux fonctionne.
Mais une fois que je les fait fonctionner en même temps, le texte s'affiche mais pas le triangle.
A savoir qu'à un moment de lag lors d'un teste, je penses avoir vu le triangle avant que le texte prend le dessus.
#include <SFML/Graphics.hpp>
#define GL3_PROTOTYPES 1
#include <SFML/OpenGL.hpp> // modification fait: remplacer GL/gl.h par GL/gl3.h dans le fichier /usr/local/include/SFML/OpenGL.hpp !
int main()
{
// configuration du context opengl
sf::ContextSettings settings;
settings.depthBits = 24;
settings.stencilBits = 8;
settings.antialiasingLevel = 16;
settings.majorVersion = 3;
settings.minorVersion = 3;
// création de la fenêtre
sf::RenderWindow window(sf::VideoMode(600, 400), "OpenGL", sf::Style::Default, settings);
// réglage de la syncrhonisation vérticale
window.setVerticalSyncEnabled(true);
// chargement texte
sf::Font font;
if (!font.loadFromFile("files/font/Arial.ttf"))
return EXIT_FAILURE;
sf::Text text("salut mes sauveurs", font, 16);
// la boucle principale
bool bouclePrincipale = true;
while (bouclePrincipale)
{
// gestion des évènnements
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
{
// fermeture fenêtre si boutoun fermeture cliquer
bouclePrincipale = false;
}
}
// effacement des tampons de couleur/profondeur
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// création triangle opengl 3
float vertices[] = {-0.5, -0.5, 0.0, 0.5, 0.5, -0.5};
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, vertices);
glEnableVertexAttribArray(0);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableVertexAttribArray(0);
// affichage le texte
window.draw(text);
// termine la trame courante
window.display();
}
return 0;
}
Comment faire pour les mixer ?