Esempio n. 1
0
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();

}
Esempio n. 2
0
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);
    }
}