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

SlinDev

Treue Seele

Beiträge: 142

Wohnort: Lübeck

Beruf: Programmierer

  • Private Nachricht senden

21

14.12.2014, 15:33

ja!

Um dein Objekt dann zu rendern musst du nur noch die Matrizen updaten und der Grafikkarte mitteilen mit welchem Shader in welchen Speicher geschrieben werden und welche Daten dazu genutzt werden sollen. Die Vertex und Indexbuffer sind dabei sehr spezielle Daten, da zum Beispiel dein Vertexshader für jeden Vertex aus deinem Vertexbuffer ausgeführt wird und die Indizes werden beim Rasterisieren (herausfinden welche Pixel teil deines Objektes darstellen und welche nicht) benutzt.
Die einzelnen Vertexdaten und Matrizen und sonstiges werden an Shadervariablen gebunden, so dass man komfortabel damit arbeiten kann.
Nach dem Vertexshader und der Rasterisierung und noch etwas mehr Grafikpipelinemagic kommt der Pixelshader der interpolierte Eingangsdaten vom Vertexshader und auch wieder eigene Daten bekommt und damit festlegt welche Farbe jeder Pixel haben soll. Das wird dann über ein paar Umwege meistens in einen Texturbuffer geschrieben und beim Bufferswappen wird dieser Buffer statt dem vorher gezeigtem angezeigt.
Das ist so jedenfalls der minimalste Ablauf.

Inzwischen gibt es da doch einige Erweiterungen wie Geometrie und Tesselation Shader, die sich dann noch dazwischen klinken. Dann gibt es teilweise auch noch Möglichkeiten Pixel darauf warten zu lassen bis andere gerendert wurden, Vertexbuffer mit neuen Vertexdaten befüllen, ...

Was vor allem gut zu verstehen ist, ist dass Vertexdaten nicht unbedingt Vertexdaten sein müssen und vor allem Texturdaten nicht immer nur Bilder sind. Man kann auch die Matrizen statt als Uniforms als Texturbuffer zur Verfügung stellen und trotzdem als Matrix nutzen, ob das sinnvoll ist oder nicht ist dann wieder was anderes, manchmal ist es das vielleicht, aber dann gibt es auch noch wieder andere Möglichkeiten...

  • »CoookeiMonssterr« ist der Autor dieses Themas

Beiträge: 25

Wohnort: Schweiz

Beruf: Informatik-Lehrling

  • Private Nachricht senden

22

15.12.2014, 08:27

Ok.

Vielen Dank für die Antwort. Ich werde das jetzt erstmal ausprobieren. Mal schauen, ob ich das hin bekomme. (Ziel wäre ein sich drehender Würfel :vain: )

Werde einmal versuchen mir die Beispiele von Microsoft anzusehen.