Ich brauche Hilfe bei Grafishcenanwendung in OpenGL.
-
wieso spielt doch im mom keine rolle. die pos... variablen sind static und ich habe ihnen erst mal 1.0f als wert zugeteilt, aber auch wenn ich da 10.0f oder 10000000.0f reinschreibe bleibt die position vom punkt in der mitte des raumes. also es aendert sich gar nichts.
-
hat keiner ne Idee?
-
T0bi schrieb:
hat keiner ne Idee?
Macht es einen unterschied wenn man die kammera und die kugel um 10 einheiten verschiebst - oder die Kammera und die Kugel um 100 einheiten verschiebt?
-
Mach doch nochmal glIdentity() vor dem Zeichnen der Kugel.
-
was macht glIdentity()?, ja aber wie mach ich denn nun bdeides unabhaengig von einander?
-
glIdentity();
gltranslate()
raum malenglIdentity();
gltranslate(andere werte)
kugel malen
-
ach du meinst sicher glLoadIdentity(), hab ich alles schon probiert, bringt aba gar nichts....
-
einfacher ist es doch sicherlich mit hilfe von Matrixstacks (glPush/PopMatrix)
Auf jeden fall ist dein Problem, das du nicht weißt wie die Matrizen richtig miteinander Multipliziert werden muss bzw. was die Modelview Matrix den genau ist
-
hmm... ich habe keine ahnung wie man mit glPush/glPopMatrix arbeitet?, kannst dus mir erklären?
-
deine methode "Room" hat zum "glBegin(GL_LINES)" kein zugehoeriges "glEnd()".
matrix-operationen innerhalb eines begin/end-blocks sind unzulaessig und deshalb wird die translation fuer deine kugel ignoriert.
darueber hinaus waere es geistreich, nicht fuer jeden zeichnenvorgang der kugel ein neues gluquadric-objekt zu erzeugen ohne es jemals wieder zu loeschen.
-
T0bi schrieb:
hmm... ich habe keine ahnung wie man mit glPush/glPopMatrix arbeitet?, kannst dus mir erklären?
Im OpenGL Buch "Red Book" wird es ausführlich beschrieben - das Buch kann man kostenlos als HTML Seite lesen - einfach mal googeln
Allerdings wenn dir die Mathematik hinter den Matrizen nicht klar ist wird dir das auch nicht helfen - in diesem fall kannst du das hier lesen:
http://turing.fh-landshut.de/~jamann/MatrizenfuerDummies.pdf