Computer Graphics Shader

Ähnliche Dokumente
Shader. Computer Graphics: Shader

Softwareprojekt Spieleentwicklung

Die Welt der Shader. Fortgeschrittene Techniken III

Jens Konerow. Managed DirectX und C#

Seminar Game Development Game Computer Graphics. Einleitung

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

Aktuelle Grafikleistungen

Computergrafik Universität Osnabrück, Henning Wenke,

Wiederholung. Vorlesung GPU Programmierung Thorsten Grosch

Universität Trier FB IV Mathematik PS Mathematics for 3D Game Programming & Computer Graphics - WS 07/08 Seminarleiter: Prof. Dr.

Spieleprogrammierung mit DirectX und C++

3D Programmierpraktikum: OpenGL Shading Language (GLSL)

Jörn Loviscach Hochschule Bremen

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9)

Grundlagen der 3D-Grafik

Grundlagen der Spieleprogrammierung

Quellen (1) Motivation (1) Quellen (2) Vertex- und Pixelshader für Echtzeit- Rendering von Glas und Wasser

Programmierpraktikum 3D Computer Grafik

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

OpenGL und die Fixed-Function-Pipeline

Thema: Hardware-Shader

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Grundlagen der Spieleprogrammierung

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM

Visualisierung und Volumenrendering 2

GPU Programmierung. Thorsten Grosch

Seminar: Programmierung von Grafikkarten (SS 2006)

SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION

Kapitel 4: Schattenberechnung

Architektur moderner GPUs. W. Sczygiol - M. Lötsch

General Purpose Computation on GPUs

Rendering Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit

HLSL PostProcess Shaders

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Ansätze 4. GPU. Echtzeit- Raytracing. Polygon- Rendering. Computerspiele Sommer (c) 2013, Peter Sturm, Universität Trier 1

Inhaltsverzeichnis. V Vorwort 17. V.1 An wen richtet sich dieses Buch? 18. V.2 Ansprüche an den Computer 18. V.4 Bildergalerie 19.

Gliederung. Blending Licht Anwendungsbeispiel Optimierung OpenGL heute und morgen Wilfried Mascolus - OpenGL Teil II 2/20

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg

Einführung in GLSL - OpenGL Shading Language. Athanasios Karamalis

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

GPU Programmierung. Thorsten Grosch

HLSL High-Level Shader Language

(5) GPU Programmierung

(10) Deferred Shading

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

3D-Grafik-Chips. Informatik-Seminar Michael R. Albertin. Betreuer: E. Glatz

Programmierpraktikum 3D Computer Grafik

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten

MF Breadcrumbs. Sergej Schefer & Fabian Marx

Stream Processing und High- Level GPGPU Sprachen

Seminar - Paralleles Rechnen auf Grafikkarten

Medizinische Visualisierung

Zugänge. 6. 3D Programming. ! DirectX. ! Fixed-function Pipeline. ! Shader. ! OpenGL. ! Microsoft XNA. Spieleprogrammierung Winter 2011

Eine Einführung Computergrafik SS14 Timo Bourdon

Echtzeit Videoverarbeitung

Praktikum: Spieleengine im Eigenbau

Seminar: Grafikprogrammierung

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Plan für heute. Vorlesungstermine. CG1 & CG2 Vorlesungsthemen. Anwendungsgebiete. Warum Computer Grafik? Computergrafik 1&2 SS 2010

GL ShadingLanguage(GLSL)

Beleuchtung Schattierung Rasterung

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

Vergleich von Forward und Deferred Rendering

Texture Based Direct Volume Rendering

GPU-Programmierung: OpenCL

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Kapitel 5: Graphikhardware und Parallelisierung

Volumenakquise. Vortrag von Benjamin Gayer

Beleuchtung. in Computerspielen

Software-Praktikum für! Anfänger und Fortgeschrittene!

Transkript:

Computer Graphics Shader Sven Janusch

Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 2

Fixed Function Pipeline T&L Pipeline (Transformation and Lighting) Transformation der Vektoren World View Projection Lichtberechnung (pro Vektor) Ambient Diffuse Specular Fog Festgelegte Transformationen und Beleuchtung Schnell aber unflexibel Sven Janusch 3

Progammable Render-Pipeline Teile der Render-Pipeline sind programmierbar Vertex processing Pixel processing Quelle: NVidia CG Dokumentation Zukunft: Geometry Shader, Unified Shader Sven Janusch 4

Vertex Shader Wird für jeden Vektor eines Objektes (Stream) ausgeführt Ein Vertex Shader ersetzt das Vertex Processing der Fixed Function Transformationen und Lichtberechnungen der Fixed Function werden ingoriert Vertex Shader muss mindestens die Vertex Position in Homogeneous Clip Space ausgeben Alle Operationen sind Vektor basierend Aufgaben Transformation Lighting Fog Sven Janusch 5

Pixel Shader Pixel Shader wird für jeden Pixel ausgeführt Ein Pixel Shader arbeitet direkt mit einem Vertex Shader zusammen, d.h. Ausgabe des Vertex Shaders ist gleich der Eingabe des Pixel Shaders Pixel Shader muss mindestens die Pixel Color ausgeben Alle Operationen sind Vektor basierend Aufgaben Texture Mapping Texture blending Color blending Lighting Der Pixel Shader übernimmt nicht Operationen wie Z-Test, Stencil Test, Alpha-Test und Alpha-Blending Sven Janusch 6

Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 7

Implementierung Applikation Setzt den Vertex Shader Setzt den Pixel Shader Setzt die passende Vertex Declaration zum aktuellen Vertex Shader Setzt Konstanten, Texturen und Streams Vertex Declaration Beschreibt den Vertex Stream (Vertex Buffer) Aufbau Attribute eines Vektors und deren Größe/Stelle im Speicher Position, Normale, Tangente, Farbe, Wird benötigt um eine Schnittstelle zum Vertex Shader zu schaffen Wird anstatt des FVF (Felxible Vertex Format) der Fixed Function verwendet Sven Janusch 8

Implementierung Varying Inputs (Stream Data) Daten werden für jeden Vektor einzeln angegeben Vertex: Position, Normal, Tangent, Binormal, Color, Texture Coordinates Uniform Inputs (Constants) Allgemeine Daten (für alle Vektoren gleich) Beispiel: Transformation Matrix Light Position Camera Position Output Von der Grafikkarte benötigte Ausgaben: Position, Fog, Point Size Ausgaben die an den Pixel Shader weitergeleitet werden: Texture Coordinates Color Sven Janusch 9

Implementierung Varying Inputs (Interpolated Data) Daten werden für jedes Element einzeln angegeben Fragment: Interpolated Texture Coordinates Interpolated Colors Uniform Inputs (Constants) Allgemeine Daten (für alle Pixel gleich) Beispiel: Textures Light Color Material Colors Output Color für Framebuffer bzw. Rendertarget 0 4 Tiefe (Depth) kann ausgegeben/überschrieben werden Z-Test wird nach dem Pixel Shader ausgeführt Sven Janusch 10

Programmierung Assembler Hochsprache Cg (C for Graphics) HLSL (High Level Shader Language) Effect File enthält Techniques and Passes Renderstates, Samplerstates, Sven Janusch 11

Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 12

Beispiel Sven Janusch 13