Bonjour tous,
je voudrais savoir juste un petit truc:
=> comment met on à jour l'affichage lorsqu'on a changé quelque chose?
je croyais que c'etait: "udateGL" mais ça ne marche pas...
je vous remercie d'avance
Bonjour tous,
je voudrais savoir juste un petit truc:
=> comment met on à jour l'affichage lorsqu'on a changé quelque chose?
je croyais que c'etait: "udateGL" mais ça ne marche pas...
je vous remercie d'avance
C'est bien updateGL() => qui fait appelle à glDraw() qui lui même fait appelle à paintGL().
updateGL()
Updates the widget by calling glDraw().
glDraw()
Executes the virtual function paintGL().
The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.
paintGL()
This virtual function is called whenever the widget needs to be painted. Reimplement it in a subclass.
There is no need to call makeCurrent() because this has already been done when this function is called.
Donc dans ton programme tu as un initializeGL() où tu fais toute tes initialisations et après tu mets tes commandes de dessin dans paintGL() qui sera appelé à chaque fois que tu feras appelle à updateGL().
Oui, la fonction paintGl sera automatiquement appelé par updateGL.
En pratique, il faut initialiser dans le constructeur (pour les initialisations qui n'ont pas besoin d'un context OpenGL valide) ou dans initializeGL (pour les initialisations qui ont besoin d'un contexte OpenGL), le code de rendu dans paintGl et mettre updateGL dans chaque fonction qui modifie la vue 3D (events clavier et souris, timer pour faire des animations, etc.)
A relire (ou lire) : Utilisation avancée des processeurs graphiques avec Qt
en fait mon probleme n'est pas resolu
=> j'ai remarqué que ma figure se mettais bien à jour mais c'est l'affichage qui ne se fait pas.
En fait mon programme fonctionne très bien lorsque je fais bouger la fenetre, ceci permet de mettre à jour le screen.
=> comment puis je faire automatiquement ? en fait je voudrais que cela se fasse à chaque fois que l'on passe dans la fonction paintGL()
merci d'avance
Partager