[OpenGL] Projectionnsmatrix/Koordinatensystem
-
Hi!
Ich habe vor kurzer Zeit damit begonnen OpenGL zu lernen.
Da ich leider ein nicht allzugroßes Mathegenie bin sind da einige Fragen aufgetaucht. Ich würde mich freuen wenn ihr mir helfen könntet mir bei einigen meiner Probleme zu helfen!Also:
Wenn ich mit gluPerspective meine Projektionsmatrix setze, in welchem Koordinatensystem befinde ich mich dann? D.h. wie "groß" ist dann eine Einheit die ich bei z.B glVector*() angebe?Ich versteh allgemein nicht ganz was glFrustum() überhaupt macht.
So wie ich das verstanden hab setze ich damit meine Projektionsmatrix auf eine perspektivische Projektion. Doch was sollen die Parameter left,right,top,bottom,zNear und zFar?Und wann arbeitet man eigentlich mit der Modelview- und wann mit der Projection-Matrix?
Und warum sind die Matrizen in OGL überhaupt 4x4 Matrizen? Was soll diese W-Koordinate?
Ich hoffe ihr könnt mir helfen;
MFG
TheRightWay
-
Ich versteh allgemein nicht ganz was glFrustum() überhaupt macht.
Damit bestimmt du das Volumen welches die Virtuelle Kamera sieht.
(Also der Breich in dem was gezeichnetes zu sehen ist)Das kann man sich wie eine oben horizontal abgesägte Pyramiede vorstellen, in die man von oben reinsieht.
(Siehe figur 4.3)
http://wwweic.eri.u-tokyo.ac.jp/computer/manual/lx/SGI_Developer/books/Perf_GetStarted/sgi_html/ch04.htmlAlso:
near bestimmt wie nah zur Kamera man etwas gezeichnetes sieht.
far bestimmt wie weit weg man das Entfernteste sieht.
top, buttom, left right bestimmen die Seiten.
-
Ah, danke, jetzt is mir das mit dem frustum klar!
-
TheRightWay schrieb:
Und warum sind die Matrizen in OGL überhaupt 4x4 Matrizen? Was soll diese W-Koordinate?
http://de.wikipedia.org/wiki/Homogene_Koordinaten
Es gibt einige Algorithmen, die damit effizienter sind.