Pixelshader

Pixelshader

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

Inhaltsverzeichnis

Funktion

Pixel-Shader dienen dazu, die zu rendernden Fragmente zu verändern, um beispielsweise eine realistischere Darstellung von Oberflächen- und Materialeigenschaften zu erreichen oder die Texturdarstellung zu verändern. Die Pixel des endgültigen Bildes ergeben sich unter Umständen aus mehreren Fragmenten, zum Beispiel wenn aufgrund von Transparenz mehrere Objekte gleichzeitig gesehen werden können. Die Shader verarbeiten diese Objekte unabhängig voneinander, daher ist der Begriff Fragment-Shader eigentlich die korrekte Bezeichnung. Allerdings hat sich der Begriff Pixel-Shader eingebürgert.

Pixel-Shader unterscheiden sich von den Vertex-Shadern, welche die Vertices (Eckpunkte von dreidimensionalen Objekten) verändern, um die 3D-Objekte in ihrer Form oder Position zu manipulieren. Beispiele für die Anwendung von Pixel-Shadern sind Phong Shading, Spiegelungen, Schattierung, Falloff, Bloom und Lens Flares; auch HDR-Rendering wird mit ihrer Hilfe programmiert (unter Nutzung von Framebuffern, die mehr als 8 Bit pro Subpixel unterstützen).

Da die Shadereinheiten, die die Pixel-Shader ausführen, Teil der GPU sind, müssen diese Programme nicht mehr auf der CPU des Systems laufen, dadurch wird diese entlastet und kann für andere Aufgaben eingesetzt werden. 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 Pixel-Shader-Version unterstützen. Hierbei ist zu beachten, dass Grafikchips in der Regel ältere Versionen ebenfalls unterstützen, so können beispielsweise Pixel-Shader-3.0-Chips auch mit Pixel-Shadern der Version 2.0 arbeiten (was allerdings weniger das Verdienst des Grafikchips als des Grafikkartentreibers ist).

PS-Version nötige DirectX Version 3DLabs ATI Intel Matrox NVIDIA S3 Graphics SiS XGI
1.0/1.1 8.0 - - - - GeForce-3-Serie - Xabre-Serie -
1.2 8.0a Wildcat VP - - - - - - -
1.3 8.0a - - - Parhelia-Serie GeForce4-Ti/Go-Serie - Mirage 2 -
1.4 8.1 - Radeon 8500 - 9250 - - - - - Volari-V3-Serie (außer V3XT)
2.0 9.0 Wildcat Realizm Radeon 9500 - 9800, X300 - X600 Intel GMA 900 M-Serie - DeltaChrome, GammaChrome, Chrome-S2x-Serie Mirage 3, Mirage 3+ Volari V3XT, Volari-V5-Serie, Volari-V8-Serie, Volari 8300, Volari XP10
2.0a 9.0b - - - - GeForce-FX-Serie - - -
2.0b 9.0b - Radeon X700 - X850 - - - - - -
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 Intel GMA X3100, X3500 - Geforce-8-Serie, Geforce-9-Serie, Geforce-200-Serie - Mirage 4 -
4.1 10.1 - Radeon-HD-3000-Serie, Radeon-HD-4000-Serie - - - - - -

(kursiv gestellte Namen zeigen an, dass dieses Produkt noch nicht auf dem Markt ist)

Software

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

  • viele Pixel-Shader-Versionen zu unterstützen, indem er den gemeinsamen Nenner wählt, nämlich Version 1.0. Hierbei werden alle Grafikkarten unterstützt, die dieses Mindestmaß an Pixel-Shader-Fähigkeit besitzen. Diese Möglichkeit wird selten gewählt, weil viele Effekte sich erst ab bestimmten Shaderversionen effizient nutzen lassen.
  • viele Pixel-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. Prominentes Beispiel hierfür ist Far Cry (erschien 2004, Support seit 2005).
  • nur Pixel-Shader-Versionen ab einer bestimmten zu unterstützen. Beispiele hierfür sind Europa Universalis III von Paradox Interactive oder Virtua Tennis 3 von Sega (setzt Pixel-Shader 2.0 voraus) und Splinter Cell: Double Agent von Ubisoft (setzt Pixel-Shader 3.0 voraus).

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

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

  • Volari — ist der Name einer Grafikchip Familie des taiwanischen Herstellers XGI Technology. Erstmals kam Ende 2003 ein Grafikchip mit dem Namen Volari auf den Markt. Inhaltsverzeichnis 1 Technisches 2 Desktops 2.1 Volari V8 (Duo) 2.2 Volari V5 (Duo) 2.3 …   Deutsch Wikipedia

  • X800 — Das Logo der X850 Die Radeon X Serie ist eine Serie von Desktop Grafikchips der Marke ATI Technologies und Nachfolger der ATI Radeon 9000 Serie. Sie ist damit die vierte Generation der Grafikprozessoren mit dem Namen ATI Radeon. Abgelöst wurde… …   Deutsch Wikipedia

  • ATI-Radeon-X-Serie — Das Logo der X850 Die Radeon X Serie ist eine Serie von Desktop Grafikchips der Marke ATI Technologies und wurde in den Jahren 2004 und 2005 als Nachfolger der Radeon 9000 Serie veröffentlicht. Sie ist damit die vierte Generation der… …   Deutsch Wikipedia

  • ATI-Radeon-X1-Serie — Das Logo der X1800 Serie Die Radeon X1 Serie ist eine Serie von Desktop Grafikchips der Firma AMD (früher ATI Technologies) und Nachfolger der ATI Radeon X Serie. Sie ist damit die fünfte Generation der Grafikprozessoren mit dem Namen ATI Radeon …   Deutsch Wikipedia

  • R520 — Das Logo der X1800 Serie Die Radeon X1 Serie ist eine Serie von Desktop Grafikchips der Firma AMD (früher ATI Technologies) und Nachfolger der ATI Radeon X Serie. Sie ist damit die fünfte Generation der Grafikprozessoren mit dem Namen ATI Radeon …   Deutsch Wikipedia

  • Bitboys Oy — war ein finnisches Unternehmen mit Sitz in Noormarkku, das sich mit der Entwicklung von 3D Grafikchips für den PC und Mobilbereich (PDAs, Handys usw.) befasste. Das Unternehmen wurde im Jahr 1991 gegründet und beschäftigte seither einige… …   Deutsch Wikipedia

  • HLSL — (High Level Shading Language) bezeichnet die DirectX Komponente, die die Programmierung von Shader Bausteinen ermöglicht. Inhaltsverzeichnis 1 Shader Sprachen 2 Sprach Elemente 2.1 Globale Shader Parameter 2.2 Input/Output Structs …   Deutsch Wikipedia

  • High Level Shading Language — HLSL (High Level Shading Language) bezeichnet die DirectX Komponente, die die Programmierung von Shader Bausteinen ermöglicht. Inhaltsverzeichnis 1 Shader Sprachen 2 Sprach Elemente 2.1 Globale Shader Parameter …   Deutsch Wikipedia

  • Integrated Graphics Processor — Intel 810e Northbridge mit IGP Als Integrated Graphics Processor (IGP), (engl.: integrierter Grafikprozessor) bezeichnet man Grafikprozessoren (GPUs), die im Chipsatz der Hauptplatine integriert sind. Sie werden auch als Onboard Grafikkarte… …   Deutsch Wikipedia

  • East India Company (jeu vidéo) — East India Company Éditeur Paradox Interactive (PC) Développeur Nitro Games Date de sortie PC …   Wikipédia en Français

Share the article and excerpts

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