000
09.05.2006, 13:25 Uhr
klimawandel
|
Hallo zusammen,
habe folgendes Problem: Ich habe zwei Objekt die ich sperat behandeln will, also unabhängig voneinander verschieben. meine display methode sieht folgendermassen aus:
Code: |
void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); //Matrix wird geladen setUserView(); ply->draw(); //zeichnet ein Polyeder
glPushMatrix(); drawSphere(-1.0,1.0,0.0); //zeichnet einen Kreis der sich am Ort (-1.0, 1.0, 0.0) befindet glPopMatrix(); glutSwapBuffers(); }
|
Code: |
void setUserView() { glLoadIdentity(); glTranslatef(-current_pos[0], current_pos[1], -current_pos[2]); glRotatef(angle2, 1.0, 0.0, 0.0); glRotatef(angle, 0.0, 1.0, 0.0); }
|
Code: |
void drawSphere(float x, float y,float z){ glColor3f(1.0f, 1.0f, 0.0f); glRotatef(spini,1.0,0.0,0.0); glTranslatef(x,y,z); glutSolidSphere(0.3, 40, 30); glLoadIdentity(); }
|
allerdings dreht sich der kreis (die Kugel) mit dem Polyeder mit. Ich verstehe die Kombination aus LoadIdentity und Push/PopMatrix nicht wirklich.
Hat jemand einen Lösungsvorschlag.
Danke und Gruss |