- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity;
- SteuerungShip; // Hier werden die Winkel von 0...360 erzeugt;
- glTranslatef(ActivShip.Pos.X, ActivShip.Pos.Y, ActivShip.Pos.Z);
- glRotatef( ActivShip.Rot.Z, 0, 0, 1);
- glRotatef(-ActivShip.Rot.X, ActivShip.Cos.Z, ActivShip.Sin.Z, 0);
- glRotatef(-ActivShip.Rot.Y, ActivShip.Sin.Z, ActivShip.Cos.Z, 0);
- glTranslatef(0,0,-5+Maus.Rad);
- glGetFoatv(GL_MODELVIWE_MATRIX, @KMatrix);
- // Ab hier zeichne ich einfach alle Raumschiffe in einer Procedur hintereinander weg, das intressante was nicht funktioniert sind wenn LoadIdentity ture
- // übergeben wird damit werden die Objekte im Raum gezeichnet welche sich ja bewegen sollen. Der Kamera.Rot ist einfach ein Effekt der das eigene Schiff
- // etwas in die Seite zieht bei bewegeung. Das funktioniert ohne Probleme.
- if LoadIdentity then begin
- glLoadMatrixf(@KMatrix);
- glTranlatef(Chunk.Pos.X, Chunk.Pos.Y, Chunk.Pos.Z);
- glRotatef(Chunk.Rot.Z, 0, 0, 1);
- glRotatef(Chunk.Rot.X, 1, 0, 0); // Tests mit Sin und Cos ergeben hier keine erkennbare veränderung sind allerdings aktuell auch Feste Objekte im Raum
- glRotatef(Chunk.Rot.Y, 0, 1, 0);
- end else begin
- glLoadIdentity; // Hier das eigene Shiff
- glTranslatef(0, 0, -5+Maus.Rad);
- glRotatef(Kamera.Rot.Z, 0, 0, 1);
- glRotatef(Kamera.Rot.X, 1, 0, 0);
- glRotatef(Kamera.Rot.Y, 0, 1, 0);
- end;
- for I: 0 to Hight(Chunk.Cube) do begin // Das Zeichnen passt sind aktuell nur Würfel.
- ZeichneQuadsfürdasSchiff;
- end;