Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#3

Re: OpenGL bewegen von Objekten geht schief

  Alt 4. Dez 2009, 06:27
Als Linux User kann ich deine "exe" leider nicht testen.

Was mir aber auffällt ist das

glRotatef(zoom, 1, 0, 0);

nicht richtig sein kann, denn in Abhängigkeit vom Zoom die ganze Szene zu drehen erscheint mir doch sehr merkwürdig.

außerdem würde ich an deiner Stelle mal ein wenig mehr push's und pop's einbauen. in etwa so :
Delphi-Quellcode:
// Anfahren der Kamera Pos
  glLoadIdendity;
  glTranslated(xk/15+xap,0,zk/15+zap-200);
// glRotatef(zoom, 1, 0, 0); // zoom verändert hier bloß den winkel ()
  glRotatef(zk, 0, 1, 0);
  glTranslated(zoom/5,0,zoom/5);

// Rendern der Objecte
glPushMatrix();
      glCallList(list[0]);
glPopMatrix();
      glEnable(GL_CULL_FACE);
      glCullface(GL_back);
glPushMatrix();
      mesh.AdvanceAnimation;
      mesh.Render; // erstes objekt
glPopMatrix();
glPushMatrix();
      glTranslated(0,0,-7);
      glRotated(-90,1,0,0);
      haus.AdvanceAnimation;
      haus.Render; // zweites objekt
glPopMatrix();
Denn nur so kannst du die Objekte einzeln und unabhängig verschieben.

So ich da mir nicht ganz klar war was nun genau dein Problem ist, sage ich einfach mal Probiere mal das hier aus, evtl. hilft es ja .
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat