stl, non c'est pas un secret mais pour tous dire je suis un tutorielle sur opengl mais dans le tuto il utilise la SDL alors je convertie le code en SFML le but est de créer une classe pour gérer la fenêtre et avec une méthode pour la fenêtre et une pour la boucle principale et les attributs sont la hauteur et la largeur de la fenêtre le titre, moi j'ai rajouté sf::RenderWindow m_window; comme attribut pour initialisé une fenêtre SFML; puis dans une méthode j'attribut les valeur de hauteur, largeur et titre a ma fenêtre puis sa ne fonctionne pas voici mon code complet avec tous :
SceneOpengl.h
class SceneOpengl
{
public:
SceneOpengl(std::string titreFenetre, int largeurFenetre, int hauteurFenetre);
void initializerFenetre();
void bouclePrincipale();
~SceneOpengl();
private:
std::string m_titre;
int m_largeurFenetre;
int m_hauteurFenetre;
sf::RenderWindow m_window;
};
sceneOpengl.cpp
SceneOpengl::SceneOpengl(std::string titreFenetre, int largeurFenetre, int hauteurFenetre): m_titre(titreFenetre), m_largeurFenetre(largeurFenetre),
m_hauteurFenetre(hauteurFenetre)
{
}
SceneOpengl::~SceneOpengl()
{
//dtor
}
void SceneOpengl::initializerFenetre()
{
m_window.setSize(sf::Vector2u(m_largeurFenetre,m_hauteurFenetre));
m_window.setTitle(m_titre);
glewInit();
}
void SceneOpengl::bouclePrincipale()
{
float sommets [] = {-0.5, -0.5, 0.0, 0.5, 0.5, -0.5};
while (m_window.isOpen())
{
sf::Event event;
while (m_window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
m_window.close();
}
glVertexAttribPointer(0,2,GL_FLOAT,GL_FALSE,0,sommets);
glEnableVertexAttribArray(0);
glDrawArrays(GL_TRIANGLES,0,3);
glDisableVertexAttribArray(0);
m_window.display();
m_window.clear();
}
}
et moin main.cpp
int main()
{
SceneOpengl maFenetre("maFenetre",800,800);
maFenetre.bouclePrincipale();
return 0;
}
Je sais pas si j'ai était bien claire et le code se compile sans érreur mais il y a que la console qui se lance pas la fenêtre.
Merci de vos réponse.