Vertex-Shader

Vertex-Shader

Vertex-Shader (auch Vertexshader, Abk. VS) sind Programme, die in der Regel vom Grafikprozessor einer 3D-Grafikkarte im Verlauf der Grafikpipeline (in den sogenannten Shadereinheiten) ausgeführt werden. Häufig werden auch die Shadereinheiten selbst als Vertex-Shader bezeichnet.

Inhaltsverzeichnis

Funktion

Ein Vertex-Shader dient dazu, die Geometrie einer Szene zu manipulieren. Dazu werden die Vertices (Eckpunkte von dreidimensionalen Objekten) der Oberflächen verschoben. Dadurch lässt sich die Form von Objekten beeinflussen, was sich wiederum auch in ihrer Beleuchtung niederschlägt. Der Vertex-Shader kann jedoch nur bestehende Geometrie verändern. Er kann weder Geometrien entfernen noch neue hinzufügen, hierfür ist der Geometry-Shader zuständig. Hinsichtlich des Funktionsumfangs ersetzt der Vertex-Shader somit das ältere und weniger flexible Transform & Lighting (T&L).

Mit Hilfe von Vertex-Shadern sind Effekte wie Vertex Lighting, Terrain-/Objektdeformation, Wasserwellen oder Fischaugenobjektiv möglich. Die meisten heutigen Grafikchips enthalten Shadereinheiten, die die Vertex-Shader ausführen. Dadurch müssen diese Geometrie Berechnungen nicht auf der CPU des Systems laufen, wodurch sie entlastet wird und für andere Aufgaben eingesetzt werden kann. In der Regel werden mehrere Shadereinheiten in GPUs verbaut, damit diese nicht zum Flaschenhals der Grafikpipeline werden.

Zusätzliche Informationen zur Verarbeitungskette und zur Programmierung von Shadern gibt es in dem Artikel Shader.

Kompatibilität

Hardware

Die folgende Tabelle zeigt eine Übersicht, welche Grafikkarten bzw. Grafikchips mit welcher DirectX-Version welche Vertex-Shader-Version unterstützen. Der Vollständigkeit halber ist auch T&L, der Vorläufer von Vertex-Shadern, mitaufgenommen. Hierbei ist zu beachten, dass Grafikchips in der Regel ältere Versionen ebenfalls unterstützen, so können beispielsweise Vertex-Shader-3.0-Chips auch mit Vertex-Shadern der Version 2.0 arbeiten. Diese Abwärtskompatibilität übernimmt hauptsächlich der Grafikkartentreiber und nicht der Grafikprozessor.

VS-Version nötige DirectX Version 3DLabs ATI Intel Matrox NVIDIA S3 Graphics SiS XGI
T&L 7.0 - Radeon-7000-Serie - - GeForce 256, GeForce-2-Serie, GeForce 4 MX - - -
1.0/1.1 8.1 Wildcat VP Radeon 8500 - 9250 - Parhelia-Serie GeForce-3-Serie, GeForce-4-Serie - Xabre-Serie Volari V3-Serie (außer V3XT)
2.0 9.0 Wildcat Realizm Radeon 9500 - 9800, X300 - X850 Intel GMA 900 - GeForce-FX-Serie DeltaChrome, GammaChrome, Chrome-S2x-Serie Mirage 3, Mirage 3+ Volari V3XT, Volari V5-Serie, Volari V8-Serie, Volari 8300, Volari XP10
3.0 9.0c - Radeon-X1-Serie Intel GMA 950, 3000, X3000 - GeForce-6-Serie, GeForce-7-Serie - - -
4.0 10 - Radeon-HD-2000-Serie - - Geforce-8-Serie, Geforce-9-Serie, Geforce-200-Serie - Mirage 4 -
4.1 10.1 - Radeon-HD-3000-Serie - - Geforce-200-Serie Chrome-400/500-Serie - -
5.0 11.0 - Radeon-HD-5000-Serie - - Geforce-400-Serie - - -

Software

Weil je nach Shaderversion der Funktionsumfang und die Programmierbarkeit stark unterschiedlich ausfallen kann, steht ein Entwickler prinzipiell vor der Wahl,

  • ganz auf Vertex-Shader zu verzichten und alles mit Hilfe der CPU zu berechnen. Dieser Ansatz ist heute nicht mehr gängig, weil so gut wie jede heutige 3D-Anwendung ohnehin Leistungsvoraussetzungen stellt, die hinreichend schnelle Grafikkarten voraussetzt, welche aber wiederum so aktuell sind, dass sie bereits Vertex-Shadereinheiten enthalten.
  • viele Vertex-Shader-Versionen zu unterstützen, indem er für jede zu unterstützende Version eigene, optimierte Shader schreibt (sogenannte Renderpfade). Hierbei werden alle Grafikkarten unterstützt, die mit den angepeilten Shaderversionen kompatibel sind.
  • nur Vertex-Shader-Versionen ab einer bestimmten Version zu unterstützen.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Vertex shader — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Vertex Shader — (auch Vertexshader, Abk. VS) sind Programme, die in der Regel vom Grafikprozessor einer 3D Grafikkarte im Verlauf der Grafikpipeline (in den sogenannten Shadereinheiten) ausgeführt werden. Häufig werden auch die Shadereinheiten selbst als Vertex… …   Deutsch Wikipedia

  • Vertex Shader — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Vertex shader — (abbreviation VS ) is a shader program, normally executed on the Graphics processing unit. Function A vertex shader is a graphics processing function used to add special effects to objects in a 3D environment. Programming Vertex shaders are… …   Wikipedia

  • Vertex shader — es una herramienta capaz de trabajar con la estructura de vértices de figuras modeladas en 3D, y realizar operaciones matemáticas sobre ella para definir colores, texturas e incidencia de la luz. Esto da libertad a los programadores para realizar …   Wikipedia Español

  • vertex shader — ● ►en loc. m. ►GRAPH (++) …   Dictionnaire d'informatique francophone

  • Shader Language — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Shader Model — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Shader language — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Vertex and pixel shaders — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”