0

私は2つのオブジェクトが独立して動くようにコーディングしようとしています。つまり、両方が2つの異なる方向に動いていますが、連続して動くことはできません。glTranslatef()外側に置くとglPushMatrix()...glPopMatrix()正常に動作します。

void display()
{
    glClearColor(0.356, 0.701, 0.0, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);

        // if put gltransate() at here the object will moving continuous

    glPushMatrix();
      glTranslatef(.5, 0, 0);
        glBegin(GL_QUADS);
        glColor3f(1.0, 1.0, 1.0);
        glVertex2f(-0.8, 0.5);
        glVertex2f(-0.8, 0.8);
        glVertex2f(-0.2, 0.8);
        glVertex2f(-0.2, 0.5);
      glEnd();
    glPopMatrix();

    glPushMatrix();
          glTranslatef(-.5, 0, 0);
      glBegin(GL_QUADS);
        glColor3f(.0, .0, .0);
        glVertex2f(-0.8, 0.2);
        glVertex2f(-0.8, 0.5);
        glVertex2f(-0.2, 0.5);
        glVertex2f(-0.2, 0.2);
        glEnd();
    glPopMatrix();

}

最初の正方形のオブジェクトは常に右に移動すると予想されますが、一度平行移動してその位置で停止するようです。

4

1 に答える 1