Page MenuHomec4science

glwidget.cc
No OneTemporary

File Metadata

Created
Wed, Dec 4, 23:25

glwidget.cc

#include <QKeyEvent>
#include <QTimerEvent>
#include <QMatrix4x4>
#include "glwidget.h"
// ======================================================================
void GLWidget::initializeGL()
{
vue.init();
}
// ======================================================================
void GLWidget::resizeGL(int width, int height)
{
/* On commance par dire sur quelle partie de la
* fenêtre OpenGL doit dessiner.
* Ici on lui demande de dessiner sur toute la fenêtre.
*/
glViewport(0, 0, width, height);
/* Puis on modifie la matrice de projection du shader.
* Pour ce faire on crée une matrice identité (constructeur
* par défaut), on la multiplie par la droite par une matrice
* de perspective.
* Plus de détail sur cette matrice
* http://www.songho.ca/opengl/gl_projectionmatrix.html
* Puis on upload la matrice sur le shader à l'aide de la
* méthode de la classe VueOpenGL
*/
QMatrix4x4 matrice;
matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
vue.setProjection(matrice);
}
// ======================================================================
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
c.dessine();
}

Event Timeline