Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Tobiking

1x Rätselkönig

  • Private Nachricht senden

11

21.04.2010, 16:54

wieso funzt denn jetzt der weg von david_pb auch?? da komm ich irgendwie nicht mit...

ist der punkt (1 | 1 | -1) immer in der "Ecke" meines Blickfeldes?? oder kommt das aus dem glMatrixMode(GL_PROJECTION) ??

verändere ich über die angabe von glVertex die projectionsmatrix??

Die Projektion sorgt dafür das 3D Koordinaten in 2D Koordinaten abgebildet werden. Wenn ich mich nicht irre gehen bei OpenGL die 2D Koordinaten von -1,-1 bis 1,1. Bei der perspektivischen Projektion wird dann die Tiefe benutzt um entfernte Polygone kleiner zu machen. Daher ist es da nicht so leicht das komplette Bild zu füllen. Mit glMatrixMode(GL_PROJECTION) wählst du die Projektionsmatrix aus und mit glLoadIdentity() wird die Identität geladen. Damit werden dann 1:1 die Koordinaten übernommen. Das Push und Pop sorgt dafür das die vorherige Projektionsmatrix gespeichert und wiederhergstellt wird.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

12

21.04.2010, 19:51

Hi,

zur Erläuterung: Die Vertextransformation bei OpenGL durchläuft ja folgende Stufen Objectspace -> Eyespace -> Clipspace -> .... Die Transformationsmatrix kombiniert also Modelview und Projektionsmatrix in einem. Wenn für beide Matrizen die Einheitsmatrix angegeben wird (wie im Code) dann passiert mit dem Vertexdaten nicht besonders viel, d.h. die übergebenen Vertexpositionen können als im Clipspace betrachtet werden also §x, y, z \in [-1, 1]§. Die übergebenen Positionen sind also genau die Eckpunkte der 'vorderen' Ebene des Würfels.
@D13_Dreinig

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

13

22.04.2010, 13:05

Auf deutsch: Der Identity-Zeichenbereich reicht von -1,-1 bis 1,1. Wenn man also nicht Pixelgenau zeichnen möchte, sondern eh nur den ganzen Bildschirm füllen möchte, kann man also auch einfach direkt eben diese Werte für die Vertex-Koordinaten nutzen. :-)

LG
Alyx

Werbeanzeige