openGL

RuLaMaN

Grünschnabel
Hy ich bin absoluter NewBee in openGL kann mir vielleicht jemand erklären wie ich z.B. einen Würfel um seine eigene Achse rotieren lassen kann. Denn mit dem normalen glTranslatef(blablabla) dreht er sich immer um die Weltachsen. Hoffe mir kann jemand helfen...
MFG Hannes
 
Um einen Würfel (oder andere Objekte) zu drehen solltest du glRotatef benutzen... oder meintest du das?
Wenn es darum geht, ein Objekt um seine eigene Achse rotieren zu lassen (und dabei alle anderen Objekte an ihrem Platz zu lassen), sollte man folgendermaßen vorgehen:
Code:
glTranslatef(x, y, z); // Den Würfel an die gewünschten Koordinaten verschieben
glPushMatrix(); // Ein "neues" Koordinatensystem erstellen
    glRotatef(rotX, 1, 0, 0); // Den Würfel um seine x-Achse drehen
    glRotatef(rotY, 0, 1, 0); // Den Würfel um seine y-Achse drehen
    glRotatef(rotZ, 0, 0, 1); // Den Würfel um seine z-Achse drehen
    // ... Code zum erstellen des Würfels
glPopMatrix();
Zur Erklärung: glPushMatrix bewirkt (unter anderem) ein Koordinatensystem das die vorher mit glTranslatef erreichte Position als Ursprung hat. Wenn man also ein Objekt "innerhalb" dieses Koorinatensystems erstellt und dreht, dreht es sich um die eigene Achse. Nach dem Aufruf von glPopMatrix gelten wieder die alten Koordinaten.
Wenn du neu bei OpenGL bist, verwirrt dich vielleicht wieso ich im Code erst den Würfel verschiebe, und ihn dann erstelle (ging mir jedenfalls so). Tatsache ist, das man bei OpenGL keine Objekte erstellt, und dann hin- und herschiebt, sondern eine Matrix bearbeitet, und dann beim erstellen des Objektes die Matrix auf die Punkte des Objektes anwendet. Das ist am Anfang noch schwer zu verstehen, am besten stellst du dir vor, du hättest einen Konstruktor (meinetwegen ein kleines Männchen :)), der dein Objekt aufbaut. Den verschiebst (und drehst) du zuerst an die passende Stelle im Raum, und lässt ihn dann dein Objekt (zB einen Würfel) bauen.

Falls du das ganze noch vertiefen möchtest, empfehle ich dir ein paar tutorials zu dem Thema zu lesen. Ein paar gute gibt es übrigens bei nehe.gamedev.net

Ich hoffe ich konnte dir helfen.

-Crayzee Ivan
 
Ja genau das hab ich gemeint...vielen dank für die schnelle und ausfürliche erklärung, hat mir sehr weitergeholfen!!!
MFG Hannes
 
Gude Hannes!

Hier findest du eine Reihe von (sehr geilen) Tutorials in denen man eigentlich alles lernt. Da du gesagt hast, dass du völliger Nwebie bist, dachte ich, das könte dir helfen. Wenn du allerdings gut genug englisch kannst, solltest du dir die umunstrittenen, grandiosen und berühmten NeHe-Tuts einverleiben. Das andere sind halt Übersetzungen. Sind aber noch nicht alle.

Hoffe ich konnte dir helfen, vielleicht kanntest du das ja auch schon. Jedenfalls noch viel Glück mit OpenGL.
 
Hm, ich will jetzt hier ja nicht rummüffeln, aber ich denke das wir beide den selben link geposted haben...


Naja, heißt halt auch nur das NeHe witklich gute arbeit geleisted hat :)


-Crayzee Ivan
 
@Crayzee Ivan:

Sorry, mein Fehler, du hast recht! :( Aber ist ja nicht so schlimm, denke ich. Wie auch immer, ich habe ja auch die Übersetzungenb gepostet, somit war mein Post wenigstens nicht vöölig sinnlos.

In diesem Sinne: "Upps!" :rolleyes:
 
Kimble:

Da hast du natürlich recht. Aber ich weiß nicht, ob es dir ähnlich
geht aber ich finde es um einiges angenehmer nach einem
deutschsprachigem Tutorial zu arbeiten und bin froh, dass gerade das
erste NeHe-Tutorial in deutsch vorliegt und solange es ein Tutorial
übersetzt gibt, werde ich mich auch für das übersetzte entscheiden.

PS: Danke für dan Link, diese Seite kannte ich noch nicht und sie ist wirklich sehr gut!
 

Neue Beiträge

Zurück