Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Pixel-Shader – Wikipedia
Pixel-Shader – Wikipedia
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von 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.

Funktion

[Bearbeiten | Quelltext bearbeiten]

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 im Direct3D Umfeld eingebürgert, in OpenGL wird korrekterweise von Fragment-Shadern gesprochen.

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, Blooming 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 Shader-Einheiten, die die Pixel-Shader ausführen, Teil der GPU sind, müssen diese Programme nicht auf der CPU des Systems laufen, dadurch wird diese entlastet und kann für andere Aufgaben eingesetzt werden. In der Regel werden mehrere Shader-Einheiten 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

[Bearbeiten | Quelltext bearbeiten]

Hardware

[Bearbeiten | Quelltext bearbeiten]

Die folgende Tabelle zeigt eine Übersicht, welche Grafikkarten bzw. -prozessoren mit welcher DirectX-Version welche Pixel-Shader-Version unterstützen. Hierbei ist zu beachten, dass Grafikprozessoren in der Regel ältere Versionen ebenfalls unterstützen, so können beispielsweise Pixel-Shader-3.0-Prozessoren auch mit Pixel-Shadern der Version 2.0 arbeiten (was allerdings weniger das Verdienst des Grafikprozessors als des Grafikkartentreibers ist).

Pixel-Shader-Version nötige OpenGL Version¹ nötige DirectX-Version 3DLabs ATI / AMD Intel Matrox NVIDIA S3 Graphics SiS XGI
1.0/1.1 8.0 – Radeon 9000 – – 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, 950 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 3000, X3000 – GeForce-6-Serie, Geforce-7-Serie – – –
4.0 10 – Radeon-HD-2000-Serie Intel GMA X3100, X3500, HD Graphics – Geforce-8-Serie, Geforce-9-Serie, Geforce-200-Serie – – –
4.1 10.1 – Radeon-HD-3000-Serie, Radeon-HD-4000-Serie – – Geforce-200-Serie, Geforce-300-Serie Chrome-400/500-Serie – –
5.0 11.0 – Radeon-HD-5000-Serie, Radeon-HD-6000-Serie, Radeon-HD-7000-Serie Intel HD 4000 Graphics – Geforce-400-Serie, Geforce-500-Serie, Geforce-600-Serie - – –

¹ OpenGL unterstützte schon immer die Möglichkeit, mit sogenannten herstellerspezifischen Extensions Funktionen einer Grafikkarte zu nutzen, die vom OpenGL Standard noch nicht abgedeckt wurden.

Software

[Bearbeiten | Quelltext bearbeiten]

Weil je nach Shader-Version 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 Versionen 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 Versionen kompatibel sind. Prominentes Beispiel hierfür ist Far Cry (erschien 2004, Support seit 2005).
  • nur Pixel-Shader-Versionen ab einer bestimmten Version 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 3.0 voraus).

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Shader
  • Vertex-Shader
  • Geometry-Shader
  • Tessellation-Shader
  • Compute-Shader
  • Direct3D
  • OpenGL

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • OpenGL Shading Language – Dokumentation zur Programmierung von Shadern in OpenGL
  • OGSL Tutorial (englisch)
  • ZFX Graphics Series – Ein weiteres Tutorium, in dem man Shader in eine DX Anwendung einbaut
  • Shader-Konzept – Artikel, der verschiedene Shader-Techniken vorstellt
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Pixel-Shader&oldid=257864631“
Kategorie:
  • Bildsynthese

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id