void Dessiner(int cubeHeight) { glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity( ); // gluLookAt(3,4,2,0,0,0,0,0,1); camera->look(); // glRotated(angleZ,0,0,1); // glRotated(angleY,0,1,0); // glRotated(angleX,1,0,0); drawCube2(cubeHeight); // DrawGround(); // DrawSky(); // DrawSphere(); glFlush(); SDL_GL_SwapBuffers(); }
void CubeView::paintGL(QGLPainter *painter) { needsUpdate = false; QRect windowViewport = painter->viewport(); painter->modelViewMatrix().push(); painter->projectionMatrix().push(); painter->pushSurface(fbo); painter->setViewport(painter->surfaceSize()); painter->setCamera(innerCamera); painter->modelViewMatrix().rotate(tangle, 0.0f, 1.0f, 0.0f); painter->setFaceColor(QGL::AllFaces, QColor(170, 202, 0)); painter->setStandardEffect(QGL::LitMaterial); painter->setDepthTestingEnabled(true); painter->clear(); teapot->draw(painter); painter->popSurface(); painter->projectionMatrix().pop(); painter->modelViewMatrix().pop(); painter->setViewport(windowViewport); painter->setDepthTestingEnabled(false); painter->modelViewMatrix().rotate(oangle, 0.0f, 1.0f, 0.0f); QMatrix4x4 m = painter->modelViewMatrix(); QVector3D cube1pos(-1.5f, 0.0f, 0.0f); QVector3D cube2pos(1.5f, 0.0f, 0.0f); if (m.map(cube1pos).z() < m.map(cube2pos).z()) { drawCube1(painter, cube1pos); drawCube2(painter, cube2pos); } else { drawCube2(painter, cube2pos); drawCube1(painter, cube1pos); } }