Wie zu verwenden glMultMatrix( )

Ich bin neu in opengl. Ich versuche zu bewegen, die Kugel, um mit meiner eigenen matrix, aber das Ergebnis ist nicht korrekt.

Die Kugel auf der linken Seite ist das, was ich erwarte, und ich produzieren das Ergebnis auf der rechten Seite mit glMultMatrixd(). Was habe ich falsch gemacht?

void Display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glDisable(GL_LIGHTING);
    glDisable(GL_TEXTURE_2D);

    glPushMatrix();
    GLdouble translate[16] = {1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1};    
    glMultMatrixd(translate);
    DrawSphere();
    glPopMatrix();

    glPushMatrix();
    glTranslatef(1,0,0);
    DrawSphere();
    glPopMatrix();

    glutSwapBuffers();
}   
void Reshape(int width, int height) {
    tbReshape(width, height);

    glViewport(0, 0, width, height);
    glGetIntegerv(GL_VIEWPORT, viewport);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    gluPerspective(60.0, (GLdouble)width/height, 0.01, 100);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(0.0, 0.0, -5, //eye
              0.0, 0.0, 0.0, //center
              0.0, 1.0, 0.0); //up
}
InformationsquelleAutor user2813286 | 2013-09-25
Schreibe einen Kommentar