2010-10-21 17 views
0

Salut mon programme est censé afficher une sphère de couleur rouge solide dans le centre de l'écran, tout ce que je reçois est la limite de la sphère:GlutSolidSphere pas solide

int main(int argc, char **argv) { 
    glutInit(&argc, argv); 
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA); 
    glutInitWindowSize(800,600); 
    glutInitWindowPosition(0,0); 
    glutCreateWindow("Sphere"); 

    glutDisplayFunc(renderScene); 
    glutReshapeFunc(changeSize); 
    glutMainLoop(); 

    return 0; 
} 


void renderScene() { 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glColor3f(1.0f,0.0f,0.0f); 

    glutSolidSphere(2.5, 50, 40); 

    glutSwapBuffers(); 
} 
+0

pourrait vous inclure la source 'Modif.dim()' aussi bien? –

+2

et peut-être une capture d'écran –

+0

Le problème était en effet dans la fonction changesize ... – AnkurVj

Répondre

1

Essayez d'ajouter glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); avant glutSolidSphere(2.5, 50, 40);

+0

Je suis sûr que glutSolidSphere met le mode polygone à solide tout seul (alors que glutWireSphere utilise le mode ligne automagiquement). – Kos

0

Que voulez-vous dire « frontière » ? Solide ne signifie pas rempli, cela signifie que la surface ne contient aucune ouverture. Ceci est en contraste avec glutWireSphere, qui est juste la trame de fil.