Diskussion:Vertex-Shader

Letzter Kommentar: vor 1 Monat von 84.140.201.87 in Abschnitt In der Tabelle fehlt die entsprechende OpenGL Version

Jemand sollte HLSL erwähnen. Das entspricht der OpenGL Shading Language bei DirectX.

HDR hat nichts mit den Vertex-Shadern zu tun. Das ist Sache der ROPs und Pixel-Shader.

Änderungsvorschläge Bearbeiten

Kann das sein, dass hier was ordentlich durcheinander gekommen ist? Zitat: "Sie ermöglichen 3D-Effekte wie z.B. Bump Mapping und bieten die Möglichkeit, Polygonen in dreidimensionalen Szenen unterschiedliche Material- bzw. Oberflächeneigenschaften zu übergeben, ohne jedoch die fix vorgegebene Geometrie des 3D-Modells zu modifizieren" Diesen Satz hätte ich beim Pixelshader erwartet aber nicht hier. Letztendlich is der VS genau dazu da, um fixe Geometrie dynamisch zu machen.

Erstmal zum Bumpmapping: Bumpmapping ist ja eigentlich das vortäuschen von höhen, wo keine sind. (vgl. bumpmapping artikel hier auf wikipedia.de: Bumpmapping) Und das wird ohne Veränderung der Geometrie erreicht. Bumpmapping wird z.B. per Pixelshader oder mit gewissen Funktionen in T&L realisiert, aber nicht mit dem VS. Der PS hellt gewisse Pixel auf bzw. dunkelt andere ab, um letztendlich einen Höheneffekt zu erreichen.

Virtual-Displacement-Mapping hingegen wird mit dem VS verwirklicht. Aber auch nicht ganz so einfach wie es der Text suggeriert. Erst im Zusammenarbeit mit dem Geometry-Shader wird die ganze Sache richtig anwendbar. Denn theoretisch müsste die im Text erwähnte Fläche, mit der Zigelsteintextur, aus einem recht komplexen Drahtgittermodell bestehen, um letztendlich bei den Fugen der Wand Tiefen entstehen zu lassen (der VS kann ja keine Geometrie erzeugen). Aber kein Leveldesigner wird extra für Backsteinwände eine Gitternetzwand bauen (die exakt zur Zigelsteintextur passt). Außerdem wäre nachträgliche Skalieren der Wand bzw. der Textur sehr aufwändig. M.H. des GS kann man aber wie gewohnt einfache Wände mit wenigen Vertexen verwenden. Der GS erzeugt dann zur Laufzeit Vertexe auf der Wand die, je nachdem wie er Programmiert wurde, exakt an den Eckpunkten der Ziegel erzeugt werden. Das sollte man vielleicht noch in den Text einarbeiten, um besser zwischen den Shadern unterscheiden zu können.

Desweiteren würde ich noch zwei weitere Verwendungszwecke erwähnen (und damit wäre "ohne jedoch die fix vorgegebene Geometrie des 3D-Modells zu modifizieren" hinfällig): Einerseits per Grafikkarte berechnete Animationen und andererseits Echtzeit Oberflächenveränderungen wie z.B. Beulen in Autos oder Krater im Boden. Autobeulen können verschiedene Einflussfaktoren haben wie Kolissionswinkel und Geschwindigkeit.

Der Beitrag sollte auf jedenfall überarbeitet werden, da er sich momentan viel zu stark nach Pixelshader anhört.

Habe den Artikel mal komplett überarbeitet, der dürfte auf die von dir angesprochenen Probleme eingehen. --Uncle Pain 20:09, 20. Feb. 2007 (CET)Beantworten

Tabelle Hardwarekompatibilität Bearbeiten

Die Tabelle sollte dringend aktualisiert werden. -- Fragestunde 18:14, 11. Sep. 2009 (CEST)Beantworten

Vertex Shader ändert die Geometrie nicht Bearbeiten

Der Artikel gibt ein falsches Bild vom Vertex Shader. Die Funktion besteht darin, die geometrischen Daten an den Eckpunkten so aufzuarbeiten, dass der Pixelshader daraus einen Farbwert für sein Pixel errechnen kann. Dadurch hat der Vertex-Shader auch die Möglichkeit dem Pixelschader eine andere Position und Beleuchtung vorzugaukeln, was zu einer anderen Abfrage der Textur und zu einer anderen Beleuchtungwerten führt. Die eigentliche Geometrie wird dadurch aber nicht verändert. Darauf hat der Vertex Shader keinen Zugriff. Das kann nur der Geometry-Shader.

Cool ... Bearbeiten

das mal 10 Jahre später zu lesen, was mal "Vektorgrafik" hieß, heute nur noch ein Befehl ist. --2003:E5:1F0A:2674:2934:5A8A:AF8B:9544 21:01, 21. Feb. 2021 (CET)Beantworten

In der Tabelle fehlt die entsprechende OpenGL Version Bearbeiten

Die sollte man auch mit angeben. Der Artikel ist derzeit sehr Direct3d lastig. --84.140.201.87 17:29, 27. Feb. 2024 (CET)Beantworten