Warum funtzt Rotieren nicht??



  • Hi,

    ich habe folgenden Quellcode:

    #include <GL/glut.h>
    
    /*
        D E C L A R E
        ===============
    
        Variablendeklarination
    */
    char buffer[12];
    float angle = 0.0f;
    
    /*
        K E Y _ D O W N
        ===============
    
        Testen ob Taste gedrückt ist
    */
    void key_down(unsigned char key, int x, int y)
    {
        buffer[key]=1;
    }
    void key_up(unsigned char key, int x, int y)
    {
        buffer[key]=0;
    }
    
    /*
        I N I T
        ===============
    
        Initialisierungsfunktion
    */
    void init()
    {
        glClearColor(0,0,0,0);
        glColor3f(1,1,1);
        glEnable(GL_DEPTH_TEST);
    
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glMatrixMode(GL_MODELVIEW);
    }
    
    /*
        I D L E
        ===============
    
        Auswertung der Tasten die gedrückt
        wurden
    */
    void idle()
    {
        if(buffer[27]) {
            exit(0);
        }
        glutPostRedisplay();
    }
    
    /*
        D I S P L A Y
        ===============
    
        Ausgabefunktion der Primitiven usw. Renderer
        Funktion
    */
    void display()
    {
        //glRotatef(angle,0.0f,1.0f,0.0f);
        glBegin(GL_TRIANGLES);
          glColor3f(1.0f,0.0f,0.0f); glVertex2f( 0.0f, 0.5f);
          glColor3f(0.0f,0.0f,1.0f); glVertex2f( 0.5f,-0.5f);
          glColor3f(0.0f,1.0f,0.0f); glVertex2f(-0.5f,-0.5f);
        glEnd();
    
        angle+=0.3f;
        glutSwapBuffers();
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    }
    
    /*
        M A I N
        ===============
    
        Hauptfunktion des Programmes, Haupteintrittspunkt
        von hier werden alle Prozesse gesteuert
    */
    int main(int argc, char *argv[])
    {
        glutInit(&argc,argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
        glutGameModeString("800x600:16");
        glutInitWindowSize(500,500);
        glutInitWindowPosition(0,0);
        glutCreateWindow("Leis - FENSTER");
        glutFullScreen();
        init();
        glutIdleFunc(idle);
        glutDisplayFunc(display);
        glutKeyboardFunc(key_down);
        glutKeyboardUpFunc(key_up);
        glutMainLoop();
    
        return 0;
    }
    

    Warum beendet das Programm sofort?? Es muss an glRotatef liegen, wenn ich das weg-kommentiere läuft es, an was liegt das???

    DANKE IM VORAUS!



  • ab nach Grafik



  • der beitrag kommt aus dem linux forum, also auf dem system linux meine ich unter KDevelop!



  • Hi !

    Sorry, ich weiß nicht woran dein Problem liegt... Welche libs muss ich verwenden, dann würde ich das Programm mal bei mir probieren 🙂

    Btw, verwendest du Kdevelop3 (Gideon) ?



  • Kdevelop version: 2.1.3
    libs: -lMesaGLU -lMesaGL -lglut (und X11 angekreutzt)



  • dann halt net!


Anmelden zum Antworten