C++ OpenGL Grafik-Pipeline(Theorie)

Kniggi

Newbie
Registriert
Feb. 2015
Beiträge
2
Hey Leute,
Ich schreibe gerade an meiner Facharbeit zum Thema 3D-Programmierung und wollte gerade in meinem Theorie-Teil die Grafik-Pipeline erläutern. Ich bin allerdings total verwirrt, weil es im Internet sehr viele verschiedene Versionen davon gibt. Im Buch, was ich zu dem Thema habe, ist die Grafik-Pipeline so erklärt, dass sie mit Vertex-Shadern anfängt und dann über Tesselation und so weiter bis hin zu PixelShadern und der Ausgabe auf dem Bildschirm geht. Es gibt aber irgendwie noch ein Prozess, der gleichzeitg abläuft und auch Grafik-Pipeline genannt wird: Dort geht es um die Umwandlung der Objekt-Koordinaten in Welt-Koordinaten, dann kommt noch die Kamera hinzu, die ihre Koordinaten hat und so weiter, bis alle Koordinaten im Geräte Koordinatensystem sind. Ich scheitere nun einfach daran das alles sinnvoll zu strukturieren und zu erklären. Kann mir jemand sagen inwiefern die beiden Prozesse zusammenhängen und mir vielleicht irgendwas schicken wo das alles gut erklärt ist? Weil ich hatte bei meiner Suche im Internet ja nicht so viel Glück.
Dankeschön und LG
 
Dort geht es um die Umwandlung der Objekt-Koordinaten in Welt-Koordinaten, dann kommt noch die Kamera hinzu, die ihre Koordinaten hat und so weiter, bis alle Koordinaten im Geräte Koordinatensystem sind.
Das ist der Teil, den man heute selbst programmieren muss. Zu OpenGL 1.x-Zeiten, als es noch keine frei programmierbaren Shader in dem Sinne gab, hat man wirklich Transformationsmatrizen usw. an OpenGL übergeben und gehofft, dass die Hardware wohl irgendwie das Richtige damit macht, aber das hat heute keine Relevanz mehr - diese Sachen schreibt man selbst in seine Vertex- und ggf. Geometry-Shader.

Insofern würde ich den Teil gar nicht mehr zur eigentlichen "Grafik-Pipeline" hinzuzählen, das wäre dann doch eher die Shader-Reihenfolge, Transform Feedback sowie die übrig gebliebene Fixed Function-Hardware (z.B. Tessellation).

Übrigens: Absätze würden der Lesbarkeit des Beitrags wirklich gut tun...
 
Zuletzt bearbeitet:
Okay, aber die ModelView-,Transformations- und Projektionsmatrizen übergibt man alle dem Vertex-Shader, oder?
 
Entweder man übergibt sie direkt oder Multipliziert sie erst auf und übergibt dann die MVP-Matrix an den Vertexshader. Rein mathematisch wäre diese Rechnung schon Teil der Grafik-Transformation, allerdings kein Teil der OpenGL-Pipeline. Die fängt erst beim Shader an.
 
Zurück
Oben