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

1

25.03.2013, 21:52

C++ - OpenGL - Grafikpipeline

Hey Community!
Bin gerade dabei die Grafikpipeline von OGL bzw. der GPU nachzuvollziehen.
Folgende Fragen hätte ich:
Sagen wir mal, dass wir 3 Vertizes haben, dann wird doch der Vertexshader nur 3mal durchlaufen oder?
Nachdem im Vertexshader alle Vertizes nacheinander mit den entsprechenden Matrizen multipliziert worden sind und eine feste Position erhalten haben, so geht es in die Rasterisierung, wo schließlich eine eindeutige Pixelposition auf dem Fenster festgelegt wird, wird schon hier der Indexbuffer ausgelesen und die Vertizes miteinander verbunden oder folgt es erst im Fragmentshader?

Hoffe ihr könnt mich aufklären, vielen Dank!

lg. denniro
Only God can judge me.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

25.03.2013, 22:01

Der Fragmentshader bekommt die interpolierten Werte der Vertices, die dazu gehören. Der Indexbuffer wurde bereits benutzt um die Vertex Positionen zu finden. Oder was meinst du genau mit "verbunden"?

3

25.03.2013, 22:07

Der Fragmentshader bekommt die interpolierten Werte der Vertices, die dazu gehören. Der Indexbuffer wurde bereits benutzt um die Vertex Positionen zu finden. Oder was meinst du genau mit "verbunden"?

Okey das mit dem verbunden hast du schon richtig verstanden. Danke für deine Hilfe!
D.h. dass erst der Vertexshader durchlaufen wird, dann mittels des Indexbuffers die Primitiven interpoliert werden und dann erst die Rasterisierung folgt.
Habe ich es so richtig verstanden oder ist daran noch etwas verkehrt?

lg. denniro

EDIT: *Denkfehler*
Only God can judge me.

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »denniro« (26.03.2013, 00:00)


TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

4

25.03.2013, 23:22

Der Indexbuffer wurde bereits benutzt um die Vertex Positionen zu finden.
Nicht ganz, der Indexbuffer hat nichts mit den Positionen der Vertices zu tun, sondern ihrem Index.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

5

25.03.2013, 23:45

Der Indexbuffer wurde bereits benutzt um die Vertex Positionen zu finden.
Nicht ganz, der Indexbuffer hat nichts mit den Positionen der Vertices zu tun, sondern ihrem Index.

Jup. Habe das, denke ich, ein wenig ungeschickt ausgedrückt.

@denniro:
Vom Indexbuffer kriegt man die Indices, mit denen man die Dreiecke zusammenbaut. Die so gewonnen Vertices werden benutzt um die Rasterisierung und anschliessend die Interpolation der Position, Farbe etc. für den Fragmentshader zu machen.

6

26.03.2013, 00:02

Okey alles verstanden, danke für die Geduld!

lg. denniro
Only God can judge me.

Werbeanzeige