Jörn Loviscach Hochschule Bremen



Ähnliche Dokumente
Computer Graphics Shader

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

Softwareprojekt Spieleentwicklung

OpenGL. (Open Graphic Library)

GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni

Programmieren mit DirectX

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

Seminar Game Development Game Computer Graphics. Einleitung

Spieleprogrammierung mit DirectX und C++

Thema: Hardware-Shader

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany

Grundlagen der Spieleprogrammierung

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework


Predator G3. Premium Design. Advanced Technology. Immersive entertainment

Hochschule Augsburg. Herzlich willkommen! Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1

Simulink: Einführende Beispiele

Sculpting und Painting in Maya. Fabian Wilpert 1

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

Modul Windows XP Professional

Installation von MailON2!

Die Welt der Shader. Fortgeschrittene Techniken III

Anleitung zum Prüfen von WebDAV

kornelia rath space 277 matrikelnummer portfolioass finale digitale darstellungsmethoden ss 2010 chair_it

MATLAB-Automatisierung von Dymola- Simulationen und Ergebnisauswertung Holger Dittus. Modelica User Group BaWü, Stuttgart,

Import, Export und Löschung von Zertifikaten

Bedienungsanleitung DP3 Report

Anleitung zum Prüfen von WebDAV

Wie optimiert man die Werbungserkennung von Ad- Detective?

xgu 2.0 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01.

Diese CD ersetzt die ursprünglich auf der RAVE-CD enthaltenen Repair Operation Times (ROTs) und die auf der KSD-CD enthaltenen Fehlercodes.

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Stellen Sie das Projekt Druckluftmotor auf aktuell. Öffnen Sie die Baugruppe Druckluftmotor.

Betriebssystem Windows - SSH Secure Shell Client

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Jens Konerow. Managed DirectX und C#

GPGPU mit NVIDIA CUDA

Anleitung Lernobjekt-Depot (LOD)

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Installationsanleitung. Lohn Manager 9.5

CAD für Landschaftsarchitekten - VectorWorks Darstellungsmethodik und Plangrafik. 1. Teil: Import und Plangrafik in 2D

Betriebsübernahme. Inhaltsverzeichnis. 1. Ziel. 2. Vorgehensweise Variante 1: mit historischen Werten Variante 2: ohne historische Werte

Visuelle Kryptographie

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Hochschule München, FK 03 FA SS Ingenieurinformatik

Nach dem Start des Programmes PowerPoint kann direkt auf ein Präsentationsdesign zugegriffen werden: VORGEHEN

Shader. Computer Graphics: Shader

Installation OMNIKEY 3121 USB

2. Programmierung in C

4D Server v12 64-bit Version BETA VERSION

Mikrocomputertechnik

Outlook 2013 Ablauf des Einrichtens in Outlook, um s zu signieren und/ oder verschlüsseln zu können

AutoTexte und AutoKorrektur unter Outlook verwenden

Webalizer HOWTO. Stand:

SJ OFFICE - Update 3.0

SANDBOXIE konfigurieren

teischl.com Software Design & Services e.u. office@teischl.com

PSRDesigner. Punkt und Streifenrasterplatinen Designer

Anleitung zur Verwendung der VVW-Word-Vorlagen

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Managed Reseller im Partner Incentives-Portal. Erste Schritte: Anzeigen von Einnahmen

Einführung in die Programmierung

Bilder zum Upload verkleinern

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

AutoCAD 3D 20xx Visuelle Stile Darstellungs-Stile, Material, Render, Licht

Hilfe zur Einwahl ins Uniserv Webinar mit WebEx

Photopaint - Linsen. (Speichere deine Arbeit von Anfang an regelmäßig unter dem Namen Linsen.cpt )

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

Umstellung eines Kontos auf ein Zweischritt-TAN-Verfahren wie z.b. chiptanoptic, mobiletan, o.ä.:

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

Teamlike Administratorenhandbuch

Anleitung: Confixx auf virtuellem Server installieren

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

'RZQORDGXQG,QVWDOODWLRQYRQ-HW5HSRUWVIU '\QDPLFV1$95RGHUIUKHU

Securebox. > Anwenderleitfaden.

3D Workshop Interieur-Szenen verstehen und umsetzen.

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Updatehinweise für die Version forma 5.5.5

Grundlagen der Spieleprogrammierung

4. Mensch-Maschine Schnittstellen

Windows 8 Upgrade / Neuinstallation

Inhalt. Gründe für den Umstieg. Ist der PC für Windows 7 / 8 bereit. Kosten. Upgrade oder Neuinstallation? Was ist zu sichern? Wo liegen die Daten

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Mediator 9 - Lernprogramm

S Sparkasse Westerwald-Sieg

Anleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

etoken mit Thunderbird verwenden

Anwenden eines Service Packs auf eine Workstation

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

K. Hartmann-Consulting. Schulungsunterlage Outlook 2013 Kompakt Teil 1

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Paul Petzold Firmengründer, Verwaltungsratspräsident und Delegierter der Mirus Software AG

Transkript:

Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen

Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung

Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline klassisch CPU Transf., Beleuchtg., Proj. Clipping, w-division Triangle Setup, Rasterung Texturierung, Nebel Alpha, Tiefentest

Puffer Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline klassisch aktuell CPU Transf., Beleuchtg., Proj. Clipping, w-division Triangle Setup, Rasterung Texturierung, Nebel Alpha, Tiefentest CPU Vertex-Shader Clipping, w-division Triangle Setup, Rasterung Pixel-Shader Alpha, Tiefentest

Vertex-Shader kein Zugriff auf andere Vertices kein Erzeugen eines neuen Vertex kein Löschen des Vertex kein Zugriff auf Texturen

Vertex-Shader kein Zugriff auf andere Vertices kein Erzeugen eines neuen Vertex kein Löschen des Vertex kein Zugriff auf Texturen Verformungen Verzerrung von Textur-Koordinaten Farbänderung pro Vertex

Vertex-Shader Ausführungsumgebung z.b. 16 Eingaberegister Anwendung z.b. 256 Konstanten ALU z.b. 32 Arbeitsregister z.b. 21 Ausgaberegister alle Register: vier Gleitkommawerte

Pixel-Shader kein Zugriff auf andere Pixel Bildschirmposition unveränderlich

Pixel-Shader kein Zugriff auf andere Pixel Bildschirmposition unveränderlich Zugriff auf Texturen Vertex-Geometriedaten als Input ggf. Ableitungen bzgl. Bildschirm-xy Farbberechnungen Überblendungen Tiefe bzgl. Bildschirm ändern

Vertex-/Pixel-Shader Beispiele aus: Nvidia Cg Browser Vertex Noise Procedural Terrain Matrix Palette Skinning Fresnel Demo Detail Normal Maps Bump Reflection Mapping Refractive Dispersion

Vertex-/Pixel-Shader Programmierung maximal z.b. 256 Befehle meist vier float (32 Bit) als Vektor Swizzle :... = C[95].xwzx Write Mask : R[10].xz =... Schleifen, Unterprogramme, Sprünge mit Einschränkungen Geometriebefehle Texturabfragen (Pixel-Shader)

Vertex-/Pixel-Shader Performance (nur Vertex-Shader) GeForce 3 Ti 200 GeForce 4 Ti 4200 GeForce FX 5900 4*0160 MFLOPS 4*0470 MFLOPS 4*1100 MFLOPS Parallelität: z.b. vier Vertex-Shader-Einheiten, acht Pixel-Shader-Einheiten

Vertex-/Pixel-Shader Assembler DirectX OpenGL ARB proprietär

Vertex-/Pixel-Shader Assembler DirectX OpenGL ARB proprietär Hochsprachen Nvidia Cg DirectX HLSL OpenGL SLang Demo: Nvidia Cg Browser

Vertex-/Pixel-Shader Beispiele Qbist2: prozedurale Echtzeit-Videos genetische Suche nach Bild-Algorithmen evolutionäres Design von Materialien

.fx-dateien

.fx-dateien fx: Effects Materialien zuzuweisen und einzustellen soll kein Job für Programmierer sein, sondern für Designer! komplette Programmierung eines Materials als.fx-textdatei

.fx-dateien Vertex- und Pixel-Shader-Quellcode Alpha, z-vergleich etc. als Textkommando ggf. mehrere Durchgänge (Passes) ggf. mehrere Techniken (Techniques) Eingabegrößen (vor allem Matrizen) grafische Oberfläche Demo: Nvidia CgFX Viewer

.fx-dateien Arbeitsablauf in 3D-Software (Maya, XSI, 3ds max): Modelle bauen.fx-materialien zuweisen mit Echtzeitvorschau einstellen in Game-Engine: Modelle laden.fx-materialien laden Modelle mit jeweiligen.fx rendern

.fx-dateien.fx-frameworks Microsoft DirectX 9: direkt fx-dateien verwendbar Nvidia CgFX: Anbindung an OpenGL und DirectX Demo:.fx in Managed DirectX

.fx-dateien Beispiel: C4Dfx Besonderheiten:.fx in Datei rendern Grafikkarte auch für Offline-Rendering (siehe Maya) dazu Emulation des Standard-Materials als.fx-datei im Speicher

.fx-dateien Beispiel: C4Dfx Emulation Demo: interne.fx-datei Bump-Map zu Normal-Map Environment-Map von Kugel auf Würfel Glanzlicht-Form als Textur für Schatten Tiefen-Map gerendert

.fx-dateien Benchmarks zu C4Dfx 400 200 75 time for 10 frames (seconds) 300 200 100 time (seconds) 150 100 50 time for 10 frames (seconds) 50 25 Cinema 4D C4Dfx 0 0 0 0 1 2 3 4 0 5 10 15 20 25 30 35 40 0 100000 200000 300000 frame size (million pixels) number of frames number of polygons

Zusammenfassung

Zusammenfassung Vertex- und Pixel-Shader machen große Teile der Render-Pipeline programmierbar

Zusammenfassung Vertex- und Pixel-Shader machen große Teile der Render-Pipeline programmierbar Programmiermodell auf Geometrieund Farbverarbeitung gerichtet

Zusammenfassung Vertex- und Pixel-Shader machen große Teile der Render-Pipeline programmierbar Programmiermodell auf Geometrieund Farbverarbeitung gerichtet ungestörte Parallelität

Zusammenfassung Vertex- und Pixel-Shader machen große Teile der Render-Pipeline programmierbar Programmiermodell auf Geometrieund Farbverarbeitung gerichtet ungestörte Parallelität hohe Leistung

Zusammenfassung Vertex- und Pixel-Shader machen große Teile der Render-Pipeline programmierbar Programmiermodell auf Geometrieund Farbverarbeitung gerichtet ungestörte Parallelität hohe Leistung.fx-Dateien als Mittel, komplexe Materialien zu bündeln, auszutauschen und für Designer zugänglich zu machen