(10) Deferred Shading

Größe: px
Ab Seite anzeigen:

Download "(10) Deferred Shading"

Transkript

1 (10) Deferred Shading Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich, Gerrit Lochmann

2 Wdh. 1: Framebufferobjects (FBOs) Statt in den Framebuffer direkt zu rendern, kann man Texturen attachen, in die gerendert werden soll (render to texture) Ein Framebuffer-Objekt kann mehrere Rendering-Ziele beinhalten - GL_COLOR_ATTACHMENT0 - GL_COLOR_ATTACHMENTn - GL_DEPTH_ATTACHMENT - GL_STENCIL_ATTACHMENT - Default Framebuffer wird vom Windows-Manager eingerichtet (Color, Depth und Stencil). S. Müller - 2 -

3 Wdh. 2: Beispiel Depthbuffer FBO generieren und binden GLuint framebufferhandle = 0; glgenframebuffers(1, &framebufferhandle); glbindframebuffer(gl_framebuffer, framebufferhandle); Texturobj anlegen + binden GLuint depthtexturehandle; glgentextures(1, &depthtexturehandle); glbindtexture(gl_texture_2d, depthtexturehandle); Textur anlegen und Parameter setzen glteximage2d( ); gltexparameteri( ); Textur an FBO attachen glframebuffertexture2d( GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depthtexturehandle, 0); Szene rendern gldrawbuffer(gl_none); // No color buffer is drawn to. Später darauf zugreifen glbindtexture(gl_texture_2d, depthtexturehandle); S. Müller - 3 -

4 Wdh. 3: Shadow Mapping Einfache Schattenabfrage pro Fragment/pro Lichtquelle vec3 p = pos_lks.xyz / pos_lks.w; float depth = texture( tex, vec2(p.x,p.y)).x; if (depth < (p.z )) //Schatten Selbstverdeckung (Shadow Acne) GL_POLYGON_OFFSET_FILL Peter Panning (Schwebende Objekte) glcullface(gl_front) Aliasing Effekte Percentage Closer Filter (PCF) Weiche Schatten Flächige Lichtquellen Mehrere Samples/Shadowmaps S. Müller - 4 -

5 Deferred Shading Stefan Müller - 5 -

6 Deferred Shading Ein sehr unscharfer Begriff Im allgemeinen Fall versteht man darunter Deferred Shading ( verzögertes Schattieren ) oder auch Deferred Lighting ( verzögerte Beleuchtung ) Szene in verschiedene Texturen rendern In einem zweiten Schritt auf / mit dem Inhalt der Texturen arbeiten Praktisch jede moderne GPU-Anwendung benutzt irgendeine Form des deferred rendering / shading Im Folgenden wird das Szenario (Beleuchtung von Objekten in einer Szene) vorgestellt, für welches der Begriff am häufigsten verwendet wird S. Müller - 6 -

7 Objekte in Szene beleuchten (ohne Deferred Shading) Eine Möglichkeit Für jede Lichtquelle in der Szene Lichtquelle aktivieren Für jedes Objekt in der Szene Objekt zeichnen Jedes Objekt muss somit #Lichtquellen #Objekte mal gezeichnet (und beleuchtet) werden Manche Objekte werden beleuchtet, obwohl sie vielleicht in einem späteren Schritt von einem anderen Objekt verdeckt werden S. Müller - 7 -

8 Objekte in Szene beleuchten (ohne Deferred Shading) Eine andere Möglichkeit Für jedes Objekt in der Szene Für jede Lichtquelle in der Szene Lichtquelle aktivieren und Objekt zeichnen Jedes Objekt muss wieder #Lichtquellen #Objekte mal gezeichnet und beleuchtet werden Warum nicht mehrere Lichtquellen gleichzeitig anwenden? Funktioniert bei wenigen Lichtquellen Manche Anwendungen (Spiele) können über hunderte von Lichtquellen verfügen, die gleichzeitig aktiv sind Zu viele Argumente an einen Shader S. Müller - 8 -

9 Deferred Shading Für jedes Objekt in der Szene Rendere Weltkoordinate, Normale, Farbe etc. in MRTs Für jede Lichtquelle in der Szene Beleuchtung als Postprocess auf den erstellten Texturen Vorteile Jedes Objekt wird genau einmal gezeichnet Es werden nur die tatsächlich sichtbaren Pixel beleuchtet Aufwand: #Objekte + #Lichtquellen anstatt #Lichtquellen #Objekte S. Müller - 9 -

10 Was leisten folgende Shader? Vertex-Shader in vec4 In_Position; in vec2 In_UvCoord; in vec4 In_Normal; uniform mat4 u_model; uniform mat4 u_view; uniform mat4 u_projection; out vec4 Pass_Position; out vec2 Pass_UVCoord; out vec3 Pass_Normal; void main(){ Pass_UVCoord = In_UvCoord; Pass_Position = u_view * u_model * In_Position; gl_position = u_projection * u_view * u_model * In_Position; Pass_Normal = vec3(transpose(inverse(u_view * u_model))* In_Normal);} Fragment-Shader in vec4 Pass_Position; in vec2 Pass_UVCoord; in vec3 Pass_Normal; uniform sampler2d u_tex; out vec4 Out_Position; out vec4 Out_Normal; out vec4 Out_Color; void main(){ Out_Position= Pass_Position; Out_Normal= vec4(normalize( Pass_Normal), 0); Out_Color= texture(tex, Pass_UVCoord);} S. Müller

11 Multiple Render Targets Der Vorteil der FBOs Multiple Render Targets (MRT) In einem Schritt in verschiedene Texturen rendern Ohne MRTs müsste die Szene für jede Information (Position, Normale, etc.) neu gerendert werden Render Target 1 (Textur) Fragment Program Position Render Target 2 (Textur) Render Target 3 (Textur) Niklas Henrich

12 G-Buffer Trennung der Geometrieverarbeitung von der Lichtberechnung Im ersten Pass werden für jedes Pixel alle beleuchtungsrelevanten Daten (z.b. 3D-Position, Normale, Texturfarbe, Glanzzahl) in unterschiedliche Rendertargets (oftmals auch G-Buffer genannt) rasterisiert. Dies geschieht sogar gleichzeitig (also Füllen der Buffer in einem Schritt) 3D-Position; Normale; Farbe S. Müller

13 Compositing Am Ende geht man Pixel für Pixel durch Für jedes Pixel (vorderstes Flächenelement) seht alles zur Verfügung, was man zur Beleuchtung benötigt: Position in Kamerakoordinaten Normale in Kamerakoordinaten Farbe Hierfür rendert man ein bildschirmfüllendes Rechteck (screen filling quad) Dadurch wird für jedes Pixel der Fragment-Shader aufgegriffen In diesem Pass findet die Beleuchtung pro Pixel statt S. Müller

14 Screen filling Polygon y Vertex-Shader in vec2 In_Position; out vec2 Pass_UV; void main() { gl_position = vec4(positionattribute, 0, 1); passuv = (positionattribute + 1) / 2; // Texturkoordinaten zwischen 0 und 1 } Dreieck y x x S. Müller

15 Final Composition (Fragment-Programm) in vec2 Pass_UV; uniform sampler2d positionmap; uniform sampler2d normalmap; uniform sampler2d colormap out vec4 fragmentcolor; void main() { vec4 position = texture(positionmap, passuv); vec4 normal = texture(normalmap, passuv); vec4 color = texture(colormap, passuv); //lightposition from camera system vec4 lightpos = vec4(0,4,-4,1); //calculate lighting with given position, normal and lightposition vec3 npostolight = normalize(vec3(lightpos.xyz - position.xyz)); float ambient = 0.3; float diffuse = max(dot(normal.xyz, npostolight), 0); } fragmentcolor = color * ambient + color * diffuse; S. Müller

16 Ergebnis S. Müller

17 Deferred Shading Kamera-/Weltkoordinate? Falls genügend Platz vorhanden ist, können die 3 Koordinaten in einer eigenen Textur gespeichert werden Ansonsten kann die Position aus dem Tiefenwert sowie der Position des Pixels im Framebuffer und der Kamera errechnet werden Trade-off: Speicherverbrauch vs. Rechenlast Anmerkung Normalen: Falls die Normalen normalisiert sind, müssen nur zwei Werte gespeichert werden Der dritte kann aus diesen errechnet werden Das Vorzeichen des dritten Wertes muss bei einem anderen Wert mit abgespeichert werden Z.B. Tiefenwert (ist immer positiv) S. Müller

18 Deferred Shading performante Beleuchtung Approximiere Lichtkegel durch konvexes Polygon Aktiviere Back-Face Culling Rendere konvexes Polygon Für jedes Pixel, das durch den Lichtkegel überdeckt wird, wird der Lichtquellen- Pixel Shader aktiviert Pixel Shader liest Daten aus G-Buffer aus (Position, Normale, Material etc.) und führt Lichtberechnungen für aktuelles Pixel durch Anmerkung: Wenn kein Back-Face Culling aktiviert ist, wird jedes Pixel doppelt beleuchtet. Der Pixel Shader würde einmal für die Vorderseite und einmal für die Rückseite des Polygons aktiviert. Stefan Müller

19 Deferred Shading Für die roten Pixel wird der Beleuchtungs -Pixel Shader aktiviert Stefan Müller

20 Deferred Shading Pixel Shader liest an seiner Position die Informationen aus dem G-Buffer aus und führt Beleuchtungsberechnung durch Position liest Daten Normale Material Stefan Müller

21 Deferred Shading Vorteile Viele Lichtquellen bei komplexer Geometrie möglich Postprocessing Effekte (Compositing) (Bloom, Tonemapping, Depth of Field, etc.) können einfach angeschlossen werden, da bereits alle benötigten Informationen aufbereitet vorliegen. Nachteile Speicherverbrauch des G- Buffers Hohe Bandbreitenausleistung (viele Texturzugriffe) Kein Antialiasing / Multisampling Wird nicht auf den Color Attachments durchgeführt Transparenzen Pro Pixel wird nur das vorderste Objekt gespeichert Stefan Müller

22 Deferred Shading Demo Demo Stefan Müller

23 Filter S. Müller

24 Filter Mit Hilfe eines screen-filling Polygons lassen sich Texturen auch sehr gut filtern. Für jedes Pixel werden die entsprechenden Nachbarpixel bestimmt, gemäß der Filtermaske gewichtet und das Resultat als finale Pixelfarbe weitergegeben. Allerdings werden hier je nach Filter-Kernel ziemlich viele Texturzugriffe nötig. Ist der Filter separierbar, so lässt sich dies effizienter implementieren S. Müller

25 Glow Demo Demo Finales, gerendertes Bild wird z.b. mit Gauß-Maske gefiltert und geblendet Besser: nur helle Flächen rendern/filtern (hier durch zusätzliche Textur) GPU Gems S. Müller

26 Environment Maps S. Müller

27 Cube Mapping Eine Form des Environment Mappings Umgebung wird durch 6 Texturen beschrieben Kamera sieht nach vorne, hinten, oben, unten, links und rechts Texturen aus Media-Ordner der DirectX SDK March 2008 Microsoft Corp. Niklas Henrich

28 Environment Mapping Simulation von Objekten, die deren Umgebung reflektieren Gespiegelten oder gebrochenen Strahl als look-up in die Cube Map benutzen i n r Vertex Shader r = reflect(i, n); Fragment Shader envcolor = texturecube(envmap,r); Cube Map Niklas Henrich

29 Environment Mapping - Ergebnisse Demo r = reflect(i, n) ersetzt durch r = refract(i, n, 1.1) Niklas Henrich

30 Depth Peeling S. Müller

31 Depth Peeling Im Framebuffer ist immer das vorderste Pixel zur Kamera zu sehen Depth Peeling erzeugt n Bilder, in denen jeweils das vorderste, zweit-vorderste,, n-vorderste Pixel zu sehen ist Stefan Müller

32 Depth Peeling Ablauf 1. Schritt (Vordersten Pixel) Szene rendern Tiefenpuffer abspeichern 2. bis n.schritt ( Zweit-vordersten bis n-vordersten Pixel ) Szene rendern Im Pixel Shader den Tiefenwert des aktuellen Fragments mit dem Wert aus dem zuvor gespeicherten Tiefenpuffer vergleichen Nur diejenigen Fragments mit einem größeren Tiefenwert zeichnen Tiefenpuffer für gezeichnete Pixel speichern Stefan Müller

33 Depth Peeling Bilder Ebene 0 Ebene 1 Demo Ebene 2 Ebene 3 Stefan Müller

34 Depth Peeling Komplexität ist linear O(n) Größter Kritikpunkt Speicherverbrauch ist linear Ein Bild pro Schicht Komplexe Szenen bestehen schnell aus 20+ Schichten Anwendungen Transparenzen Ray-Tracing Volumen Rendering Unzählige mehr Stefan Müller

35 Depth Peeling - Transparenzen Um Transparenzen korrekt darstellen zu können, müssen die Objekte in der richtigen Reihenfolge gezeichnet werden Mit Depth Peeling kann dieses Problem umgangen werden Ablauf Szene depth peelen und jede Schicht (RGBA) in Textur speichern Alpha Blending aktivieren Schichten von hinten nach vorne überlagern Mit Depth Peeling (korrekte Transparenz) Ohne Depth Peeling (inkorrekte Transparenz)) Stefan Müller

36 Order Independent Transparency - Demo Demo

37 Geometry-Shader Stefan Müller

38 Geometry Shader Neue programmierbare Einheit der Grafikpipeline Direkt nach Vertex Shader (vor Clipping etc.) Dynamisch neue Geometrie erzeugen Geometrie löschen Stefan Müller

39 Geometry Shader - Eingabe Arbeitet immer auf gesamten Eingabeprimitiv Mögliche Eingabeprimitive Punkt Linie Dreieck Shader hat Zugriff auf Alle Punkte des Eingabeprimitives Alle direkt benachbarten Punkte Zugriff möglich q2 p2 q1 p1 Benachbartes Dreieck p0 q0 Stefan Müller

40 Geometry Shader - Ausgabe Ausgabe (beliebig* viele) Punkte Linien (line strips) Dreiecke (triangle strips) Es ist auch möglich, keine Geometrie auszugeben Maximale Anzahl der ausgegebenen Primitive pro Shaderaufruf muss zur Compile-Zeit bekannt sein Je größer diese Zahl, umso stärker sinkt die Performance Ein- und Ausgabetyp können verschieden sein Dreieck als Eingabe Linienzug als Ausgabe Wireframe *beliebig bedeutet bis zum Hardwarelimit Stefan Müller

41 Geometry Shader neue Befehle EmitVertex() Eckpunkt dem aktuellen Ausgabeprimitiv (z.b. Dreieck) hinzufügen gl_position = vec4(1.0, 0.5, 0.3, 1.0); EmitVertex(); EndPrimitive() Aktuelles Ausgabeprimitiv abschließen Neues Ausgabeprimitiv vom gleichen Typ wird begonnen Ähnlich wie OpenGL-Befehlsreihenfolge: glend(); glbegin( ); Stefan Müller

42 Beispiel aus Eins mach Drei Geometry Shader: Aus Geometry Shader: Ein Stefan Müller

43 Beispiel aus Eins mach Drei void main() { // 1. Dreieck erzeugen und verschieben for(int i = 0; i < gl_verticesin; i++){ gl_frontcolor = vec4(0,1,0,1); gl_position = vec4(gl_positionin[i].x * 0.5, (gl_positionin[i].y * 0.5) + 0.5, 0, 1); EmitVertex(); } EndPrimitive(); // 2. Dreieck erzeugen und verschieben // 3. Dreieck erzeugen und verschieben. Anzahl der Eckpunkte des Eingabeprimitives Array von Eckpunkten des Eingabeprimitives Stefan Müller

44 Geometry Shader Ausgabelimit Ein Geometry Shader kann momentan maximal ca. 256 Eckpunkte ausgeben Soll mehr Geometrie erzeugt werden, muss dies in mehreren Schritten geschehen Folgende Funktionalität wird dazu benötigt: Bereits erzeugte Geometrie muss zwischengespeichert werden können Erzeugte Geometrie muss wieder abgerufen werden können Diese Funktionalität wird durch das sogenannte Transform Feedback bereitgestellt Stefan Müller

45 Transform Feedback Ermöglicht es, Geometrie in Buffer-Objekte zu rendern Fragment Shader wird ausgeschaltet Geometrie kann somit zwischengespeichert werden Inhalt des Buffers kann zu einem späteren Zeitpunkt erneut gerendert werden Stefan Müller

46 Transform Feedback Vertex Shader und Geometry Shader können Geometrie beliebig verändern Neue Geometrie hinzufügen (GS) Vorhandene Geometrie verschieben (VS + GS) Geometrie löschen (GS) Nachdem gewünschte Geometrie erzeugt wurde Fragment Shader einschalten Geometrie rendern Stefan Müller

47 Transform Feedback Demo Demo Demo Stefan Müller

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten

Mehr

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de Rendering Grundlagen Version 1.0-2009-04-08 Allgemeine Unterschiede bei Renderern Scanline Rendering Raytrace Rendering Renderlayer Einsatz von Renderlayern Overrides Material Overrides Layer Presets Batch

Mehr

MF Breadcrumbs. Sergej Schefer & Fabian Marx

MF Breadcrumbs. Sergej Schefer & Fabian Marx MF Breadcrumbs Sergej Schefer & Fabian Marx MF Breadcrumbs! Entwurf! Algorithmen! Screenshots / Live-Demo Entwurf! 2.5D Jump n Run! Spieler kann sich durch Level bewegen und Punkte aufsammeln! Freie Levelgestaltung

Mehr

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines

Mehr

(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

(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 (7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung

Mehr

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

rendern = ein abstraktes geometrisches Modell sichtbar machen 3. Grundlagen des Rendering "rendern" = ein abstraktes geometrisches Modell sichtbar machen Mehrere Schritte: Sichtbarkeitsberechnung Beleuchtungsrechnung Projektion Clipping (Abschneiden am Bildrand)

Mehr

Texture Based Direct Volume Rendering

Texture Based Direct Volume Rendering Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" cbrak@upb.de 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order

Mehr

Postprocessing. Algorithmen für Computerspiele. Alexander Martin 19. Juli 2010

Postprocessing. Algorithmen für Computerspiele. Alexander Martin 19. Juli 2010 Postprocessing Algorithmen für Computerspiele Alexander Martin 19. Juli 2010 Inhaltsverzeichnis 1. Einführung Definition Postprocessing Überblick Postprocessing generierte Bildeffekte Einordnung in den

Mehr

Softwareprojekt Spieleentwicklung

Softwareprojekt Spieleentwicklung Softwareprojekt Spieleentwicklung Prototyp I (2D) Prototyp II (3D) Softwareprojekt 12.04. 19.04. 26.04. 03.05. 31.05. Meilenstein I 28.06. Meilenstein II Prof. Holger Theisel, Tobias Günther, OvGU Magdeburg

Mehr

Photonik Technische Nutzung von Licht

Photonik Technische Nutzung von Licht Photonik Technische Nutzung von Licht Raytracing und Computergraphik Überblick Raytracing Typen von Raytracern z-buffer Raytracing Lichtstrahlen-Verfolgung (engl. ray tracing): Berechnung von Lichtstrahlen

Mehr

Vergleich von Forward und Deferred Rendering

Vergleich von Forward und Deferred Rendering Vergleich von Forward und Deferred Rendering Kamil René König Bachelorarbeit Bachelor Informatik 12.08.2014 Betreuer: Prof. Dr. Detlef Krömker, Dr. Daniel Schiffner Übersicht Motivation Definitionen Forward

Mehr

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(13) Hot Topics. Vorlesung Computergrafik T. Grosch (13) Hot Topics Vorlesung Computergrafik T. Grosch Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Computergraphik Grundlagen IX. Texturen und Schatten Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik Inhalt Lernziele 1. Texture Mapping 1. Texture Pipeline 2. Environment Mapping 3.

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

Seminar Game Development Game Computer Graphics. Einleitung Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Jörn Loviscach Hochschule Bremen

Jörn Loviscach Hochschule Bremen 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

Mehr

Non-Photorealistic Rendering

Non-Photorealistic Rendering Übersicht 1. Motivation und Anwendungen 2. Techniken - Cel Shading - Konturlinien - Hatching Einführung Traditionelle Computergraphik Ziel: Fotorealismus Einführung Motivation Bewusste Vermeidung von

Mehr

computer graphics & visualization

computer graphics & visualization Entwicklung und Implementierung echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs Motivation

Mehr

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de Überblick Echtzeit-Rendering Uwe Domaratius dou@hrz.tu-chemnitz.de Gliederung 1. Einleitung 2. geometriebasierende Verbesserungen 3. Level-of-Detail 4. Culling 5. Texturen 6. bildbasiertes Rendering Was

Mehr

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

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Billboards Letztes Übungsblatt: Meshes & Instancing um dem Terrain zusätzliche Details (Vegtation) hinzuzufügen. Nachteil:

Mehr

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern ios Rendering ios Architektur UIKit (Cocoa Touch) A composable, reusable, declarative, real-world inspired animation, and interaction system Framework für ios Apps Objective C Model View Controller Pattern

Mehr

Thema: Hardware-Shader

Thema: Hardware-Shader Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung

Mehr

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann Futurella Spielprinzip & Demo - Raumschiffe - Asteroiden - Zielplaneten - LAN Multiplayer Wettrennen

Mehr

Lights & Cameras Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit

Lights & Cameras Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit Lights & Cameras Grundlagen Version 1.0-2009-06-15 Grundlagen 3D Beleuchtung Reguläre Lichter in 3D sind in erster Linie direkt beleuchtende Lichtquellen es gibt keine diffuse Beleuchtung durch die Reflexion

Mehr

GPU Programmierung 12. Vorlesung Photorealistische Computergrafik

GPU Programmierung 12. Vorlesung Photorealistische Computergrafik GPU Programmierung 12. Vorlesung Photorealistische Computergrafik Thorsten Grosch Standard OpenGL Pipeline verändern Bisher: Jeder glvertex( ) Punkt durchläuft die Standard OpenGL Pipeline Jetzt: Funktionalität

Mehr

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

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Asteroids3D Seminar: Game Programming Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Gliederung 2 1. Live-Demo und Spielidee 2. Softwarearchitektur und Szenengraph Übersicht

Mehr

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

19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen 2D-Texturen Texturarten Transformationen Generierung Thomas Jung Reflectance Mapping 3D-Texturen Modellierung von Details erfordert Zeit Darstellung ist aufwendig (langsam) Details belegen Speicherplatz

Mehr

Volumen Visualisierung

Volumen Visualisierung Volumen Visualisierung Seminar Interaktive Visualisierung (WS 06/07) Fabian Spiegel und Christian Meß Fabian Spiegel und Christian Meß 1 Übersicht Anwendungsbeispiele Volumendaten Entstehung Repräsentation

Mehr

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

Einführung in GLSL - OpenGL Shading Language. Athanasios Karamalis Einführung in GLSL - OpenGL Shading Language Athanasios Karamalis Allgemein zur Shader-Programmierung Vor 2001 konnte nur die sogenannte Fixed Functionality der Graphik API und Graphikkarte verwendet werden

Mehr

Texture Mapping. Texturen

Texture Mapping. Texturen Grundlagen - Eine Textur ist ein Bild, das auf eine Oberfläche einer Geometrie aufgebracht ist - erlauben eine realistischere Darstellung von Oberflächen - können auf alle Primitive, nicht nur Polygone

Mehr

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.

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. V Vorwort 17 V.1 An wen richtet sich dieses Buch? 18 V.2 Ansprüche an den Computer 18 V.3 Website 19 V.4 Bildergalerie 19 V.5 Über den Autor 20 1 Einführung 21 1.1 Installation 21 1.2 Projekttypen 22 1.3

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Beleuchtungsmodelle in OpenGL Bump-Maps zur Erzeugung von Reliefartigen Oberflächen Height-Maps

Mehr

Terrain-Rendering mit Geometry Clipmaps

Terrain-Rendering mit Geometry Clipmaps Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Terrain-Rendering mit Seminar Computergrak 2010 Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Worum geht's? Algorithmus

Mehr

Praktikum: Spieleengine im Eigenbau

Praktikum: Spieleengine im Eigenbau Seite 1/17 Praktikum Spieleengine im Eigenbau Alexander Weggerle, Tobias Bäuerle 19.10.09 http://www.saschawillems.de Praktikum: Spieleengine im Eigenbau Seite 2/17 Praktikum Spieleengine im Eigenbau Alexander

Mehr

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

Eine Einführung Computergrafik SS14 Timo Bourdon

Eine Einführung Computergrafik SS14 Timo Bourdon Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP

Mehr

Shader für Geometrische Grundprimitive. Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe

Shader für Geometrische Grundprimitive. Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe Shader für Geometrische Grundprimitive Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe 0. Gliederung Gliederung: 1. Motivation 2. Verwandte Arbeiten 3. Überblick über das Vorgehen 3.1

Mehr

Globale Beleuchtung. Thorsten Grosch. Thorsten Grosch Seit September 2009 Juniorprofessor für CV in Magdeburg

Globale Beleuchtung. Thorsten Grosch. Thorsten Grosch Seit September 2009 Juniorprofessor für CV in Magdeburg Praktikum Globale Beleuchtung Thorsten Grosch Wer bin ich Thorsten Grosch Seit September 2009 Juniorprofessor für CV in Magdeburg g Davor Studium Informatik TU Darmstadt Fraunhofer IGD Lichtsimulation

Mehr

8 Cycles. ein GUI-basierter Ansatz wie bei den Blender-Intern-Materialien.

8 Cycles. ein GUI-basierter Ansatz wie bei den Blender-Intern-Materialien. 301 Cycles ist die seit Blender 2.61 verfügbare physikbasierte Renderengine. Hauptentwickler ist Brecht van Lommel, der schon lange die interne Renderengine in Blender betreut. Nachdem Blender Intern mit

Mehr

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe Grafikprozessoren Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe 2D: Berechnung der Bildes aus einfachen Grafikprimitiven 3D: Bildaufbau aus räumlicher Beschreibung

Mehr

Rahmen Dragonlove. Das Copyright dieses Bild liegt bei Anne Stokes

Rahmen Dragonlove. Das Copyright dieses Bild liegt bei Anne Stokes Rahmen Dragonlove Dieser Rahmen ist von mir selbst ausgedacht jede Ähnlichkeit mit anderen Rahmen ist rein zufällig und nicht beabsichtigt by Sabine geschrieben mit PS CS 3 am 07.05.2010 Das Copyright

Mehr

Computergrafik II. OpenGL Einführung

Computergrafik II. OpenGL Einführung Computergrafik II OpenGL Einführung OpenGL Rein prozedurales Interface Keine direkten Klassen/Objekte Verwaltung von OpenGL-Strukturen mittels Identifier Explizites funktionales Erzeugen/Löschen von Objekten

Mehr

Java 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002

Java 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Java 3D Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Virtual World Koordinaten System Grundlagen zur Definition visueller Objekte Shape3D Unterklasse der Leaf-Klasse Eigenschaften des visuellen

Mehr

Real-Time High-Dynamic Range Texture Mapping

Real-Time High-Dynamic Range Texture Mapping Real-Time High-Dynamic Range Texture Mapping Jonathen Cohen, Chris Tchou, Tim Hawkins and Paul Debevec Präsentiert von Daniel Wickeroth Einführung Worum geht s? Darstellung realistischer Szenen Innen -

Mehr

Kapitel 8 Text für eine Internetseite erstellen

Kapitel 8 Text für eine Internetseite erstellen Bilder und Schriften für das World Wide Web müssen anders produziert und aufbereitet werden als Bilder, die für die Ausgabe auf Ihrem Tintenstrahldrucker oder für die Weitergabe an eine Druckerei bestimmt

Mehr

Non-Photorealistic Rendering mit Hilfe der GPU. Studienarbeit

Non-Photorealistic Rendering mit Hilfe der GPU. Studienarbeit Fachbereich 4: Informatik Non-Photorealistic Rendering mit Hilfe der GPU Studienarbeit im Studiengang Computervisualistik vorgelegt von Stefan Müller Betreuer: Prof. Dr.-Ing. Stefan Müller (Institut für

Mehr

Artlantis ARTLANTIS - INSPEKTOREN INSPEKTOREN ÜBERSICHT: Quelle: Artlantis Hilfe

Artlantis ARTLANTIS - INSPEKTOREN INSPEKTOREN ÜBERSICHT: Quelle: Artlantis Hilfe ARTLANTIS - INSPEKTOREN Quelle: Artlantis Hilfe INSPEKTOREN ÜBERSICHT: Shader (Farbe / Materialien): Einstellungen für Texturen und Shader. Mit der Sidebar hat man Zugriff auf alle verwendeten Materialien

Mehr

Computergrafik - Projekt

Computergrafik - Projekt Computergrafik - Projekt SS 2012 M.Sc. Peter Salz Einführung Erweiterung der CG-Übungen Nicht nur akademische Beispiele Kerntechnologien der Computergrafik vertiefen C++ (Programmiersprache) OpenGL (Grafik-Framework,

Mehr

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

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9) t.jung@fhtw-berlin.de Heute Programmierbare Hardware-Shader Thomas Jung Architektur moderner Grafikkarten Rendering von Polygonlisten mit DirectX9 Vertex- und Pixel(Fragment) shader Motivation Spiele kommen

Mehr

Der Einsatz von HDRIs in LightWave 7

Der Einsatz von HDRIs in LightWave 7 Seite 1 DOSCH DESIGN TUTORIAL Der Einsatz von HDRIs in LightWave 7 Eine Schritt-für-Schritt-Anleitung LightWave kann ab der Version 6.5 HDRIs (High Dynamic Range Images) als Beleuchtung und Hintergrund

Mehr

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen 3D-Rendering Ulf Döring, Markus Färber 07.03.2011 1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen Anzeigefläche (a) Worin besteht das Sichtbarkeitsproblem?

Mehr

Fakultät für Informatik. Non-Photorealistic Rendering

Fakultät für Informatik. Non-Photorealistic Rendering Technische Universität München Fakultät für Informatik Seminar How to make a PIXAR movie Non-Photorealistic Rendering Johannes Schamburger Abstract Non-Photorealistic Rendering (NPR) ist ein Teilbereich

Mehr

RTT DeltaGen Suite. Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination. Copyright 2010 by Realtime Technology AG

RTT DeltaGen Suite. Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination. Copyright 2010 by Realtime Technology AG RTT DeltaGen Suite Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination Copyright 2010 by Realtime Technology AG Look Editor Der Look Editor zeigt die Eigenschaften des Looks des selektierten

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

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

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany Spline-artige Kurven auf Subdivision Surfaces Jörn Loviscach Hochschule Bremen, Germany Überblick Spline-artige Kurven auf Spline-Flächen Kurven auf SDS: Problem, Anwendung Verwandte Arbeiten Spline-artige

Mehr

Inhalt. Seite 4... Am Anfang: Fotos, Fotos, Fotos-Referenzmaterial. Seite 4... Modellieren, texturieren und beleuchten

Inhalt. Seite 4... Am Anfang: Fotos, Fotos, Fotos-Referenzmaterial. Seite 4... Modellieren, texturieren und beleuchten Inhalt Seite 3... Die Idee Seite 4... Am Anfang: Fotos, Fotos, Fotos-Referenzmaterial Seite 4... Modellieren, texturieren und beleuchten Seite 7... Renderelemente: Wie die Bilder aufgebaut sind Seite 9...

Mehr

Universität Augsburg. 20. April 2012. B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6

Universität Augsburg. 20. April 2012. B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6 Kapitel 1 Einführung B. Möller Universität Augsburg 20. April 2012 B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6 Begriffsdefinition Computergrafik: realistische Darstellung realer oder

Mehr

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung Computergrafik 2010 Oliver Vornberger Kapitel 18: Beleuchtung 1 Ausgangslage am Ende der Viewing Pipeline liegt vor: P A Materialeigenschaften P B P C 2 Beleuchtungmodelle lokal: Objekt, Lichtquellen,

Mehr

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen Mitglied der Helmholtz-Gemeinschaft Inhaltsverzeichnis Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen Motivation Ergebnisse Ausblick 24. August 2012 Florian Rhiem 24. August 2012 PGI/JCNS

Mehr

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Martin Christen FHNW Hochschule für Architektur, Bau und Geomatik Institut Vermessung und Geoinformation martin.christen@fhnw.ch

Mehr

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1 Seite 1 1 Transformationen 1.1 Transformationsmatrizen In den folgenden Teilaufgaben sind die Koeffizienten von 4 4 Transformationsmatrizen zur Repräsentation von affinen Abbildungen im R 3 zu bestimmen.

Mehr

MULTIPASS RENDERING MIT MAYA UND MENTAL RAY

MULTIPASS RENDERING MIT MAYA UND MENTAL RAY DIGITAL PRODUCTION : 02 : 04 : 138 MULTIPASS RENDERING MIT MAYA UND MENTAL RAY Um die größtmögliche Kontrolle über den finalen Look seiner Bilder zu erhalten, kommt man um das Rendering in Passes nicht

Mehr

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen MASTER THESIS zur Erlangung des akademischen Grades Master of Science in Engineering im Studiengang 585 Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen Ausgeführt

Mehr

Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte

Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung Grundlagen und Aufbau einer Grafikkarte Seite 2 Inhalt - Einleitung - Geschichte - Aufbau der Grafikkarte - Die Grafikpipeline - Ausblick Seite

Mehr

Computer Graphics and Animation in Games

Computer Graphics and Animation in Games Computer Graphics and Animation in Games culling bloom advanced shading Some material based on Michael Wimmer, Michael Kalkusch, Peter Wonka, Francois Faure shadows 1 artificial intelligence? bump maps

Mehr

Übersicht 1. Anzeigegeräte 2. Framebuffer 3. Grundlagen 3D Computergrafik 4. Polygongrafik, Z-Buffer 5. Texture-Mapping/Shading 6. GPU 7. Programmierbare Shader 1 LCD/TFT Technik Rotation der Licht-Polarisationsebene

Mehr

Einführung in die Computergrafik

Einführung in die Computergrafik Einführung in die Computergrafik Proseminar Computergrafik Zuse Institut Berlin 22. November 2007 Organisatorisches Informationen rund um s Seminar. http://www.zib.de/hotz/teaching/currentlectures.htm

Mehr

OpenGL vs. Direct3D Ein 3D-API Vergleich

OpenGL vs. Direct3D Ein 3D-API Vergleich OpenGL vs. Direct3D Ein 3D-API Vergleich 3D-APIs (Application Programming Interface)sind Software-Schnittstellen, um über einen Standard auf die Hardware des Rechners zugreifen zu koennen. Direct3D von

Mehr

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen:

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen: Smith Micro Software, Inc. und das Poser-Team freuen sich mitteilen zu dürfen, dass das Poser Pro 2014 Service Release 4 (SR4) ab sofort für Mac OS X und Windows verfügbar ist. Das SR4 wird ihre Poser-Vollversion

Mehr

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( )

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( ) Universität Osnabrück Fachbereich Mathematik / Informatik 5. Vorlesung (06.05.2013) Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. Game Application Layer Rückblick Game

Mehr

Advanced Rendering Interior Szene

Advanced Rendering Interior Szene Advanced Rendering Interior Szene in Cinema 4D 11-11.5 Als erstes, sollten Sie ihre Szene in Cinema 4D öffnen. vergewissern sie sich, ob alle Licht quellen die evtl. mit importiert wurden, aus der Szene

Mehr

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 von Enrico Leonhardt 28 45 669 TU Dresden Medieninformatik 29. März 2005 Graphische Datenverarbeitung WS 04/05 Einführung Dieser Raytracer entstand

Mehr

Games Engines. Realtime Terrain Rendering

Games Engines. Realtime Terrain Rendering Games Engines Realtime Terrain Rendering RTR Gliederung Probleme & Anforderungen Grundlagen Heightmaps und Paging Visibility View Frustrum Culling Occlusion Culling/ Occlusion Map Fogging Level of Detail

Mehr

Unity 4 Teil II. Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Dozent: Manfred Thaller Marvin Busch

Unity 4 Teil II. Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Dozent: Manfred Thaller Marvin Busch Unity 4 Teil II Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Dozent: Manfred Thaller Marvin Busch Inhalt Wie erstelle ich ein Projekt mit Unity? Toolbar Navigation

Mehr

Jeder Flächentyp erfordert seine eigenen Modellierungstechniken, die als Set zu diesen Typen gruppiert sind.

Jeder Flächentyp erfordert seine eigenen Modellierungstechniken, die als Set zu diesen Typen gruppiert sind. Modellierung mittels Maya-Software Es werden dafür drei verschiedene Modellflächentypen (modeling surfaces) verwendet : 1. Polygone 2. NURBS verallgemeinerte B-Splines 3. Subdivision surfaces (unterteilte

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch

Mehr

Dynamische Geometrie

Dynamische Geometrie Dynamische Geometrie 1) Die Mittelsenkrechten, die Seitenhalbierenden, die Höhen und die Winkelhalbierenden eines beliebigen Dreiecks schneiden sich jeweils in einem Punkt. a) Untersuchen Sie die Lage

Mehr

Rendering: Lighting & Shading

Rendering: Lighting & Shading Hauptseminar How to make a Pixar Movie WS 2010 / 2011 Rendering: Lighting & Shading von Manuel Schmidt Gliederung: 1 Einführung 1.1 Rendering 1.2 Reflektionsmodelle 1.2.1. Diffuse Reflektion 1.2.2. Spieglende

Mehr

Portraits. Inhalt. Konzept 1 Aufnahmen 1 Keying, Tracking 1 Modelling 1. Bilder 8. Renderpasses für das 1. Gemälde 10.

Portraits. Inhalt. Konzept 1 Aufnahmen 1 Keying, Tracking 1 Modelling 1. Bilder 8. Renderpasses für das 1. Gemälde 10. Inhalt Konzept Aufnahmen Keying, Tracking Modelling Workflow Übersicht Shading 2 Lighting 2 Rendering 2 Compositing 2 Finishing & Sound 2 Bilder 8 Renderpasses für das. Gemälde 0 Einige Frames Details

Mehr

Programmieren mit DirectX

Programmieren mit DirectX 2D 3D Programmieren mit DirectX Teil 3: Malte Ried Fachhochschule Gießen-Friedberg 30. Oktober 2005 Inhalt 2D 3D 1 2D 2 3D 3 2D 3D Bis jetzt Windows-Fenster, das man schließen kann initialisiertes Direct3D

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11 Version 1.0-2011-10-11 Verfahren, Bilder unter Rücksichtnahme ihres Farbprofils und der des Ausgabegeräts zu berechnen (3D), bzw. zu bearbeiten (Compositing), um eine mathematisch und physikalisch korrekte

Mehr

Bachelorarbeit. Prozedurale Texturen in einem interaktiven Open-Source 3D-Modeller

Bachelorarbeit. Prozedurale Texturen in einem interaktiven Open-Source 3D-Modeller Georg-August-Universität Göttingen Zentrum für Informatik ISSN 1612-6793 Nummer ZFI-BSC-2010-04 Bachelorarbeit im Studiengang "Angewandte Informatik" Prozedurale Texturen in einem interaktiven Open-Source

Mehr

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

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen

Mehr

Image Based Lighting High Dynamics Range Rendering in Maya und Mental Ray

Image Based Lighting High Dynamics Range Rendering in Maya und Mental Ray Image Based Lighting High Dynamics Range Rendering in Maya und Mental Ray Image Based Lighting Einleitung Image Based Lighting (IBL) ist ein Beleuchtungs- Verfahren, bei dem keine Standard-Lichtquellen

Mehr

Google Earth: 3D-Modelle, Formate, Standards

Google Earth: 3D-Modelle, Formate, Standards Web 2.0-2 Sommersemester 2007 16.06.2007 Gliederung Allgemeines über Google Earth 1 Allgemeines über Google Earth Möglichkeiten Daten Versionen 2 Allgemeines Möglichkeiten andere 3 Allgemeines Allgemeines

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Computergraphik Grundlagen VIII. Beleuchtung und Shading Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik Inhalt Lernziele 1. Beleuchtungsmodelle 2. Lichtquellen Punktförmige und flächenhafte

Mehr

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete Kapitel 0 Einführung 0.1 Was ist Computergrafik? Software, die einen Computer dazu bringt, eine grafische Ausgabe (oder kurz gesagt: Bilder) zu produzieren. Bilder können sein: Fotos, Schaltpläne, Veranschaulichung

Mehr

Shader und Effekte für AiRmob. Bachelorarbeit

Shader und Effekte für AiRmob. Bachelorarbeit Fachbereich 4: Informatik Shader und Effekte für AiRmob Bachelorarbeit zur Erlangung des Grades eines Bachelor of Science (B.Sc.) im Studiengang Computervisualistik vorgelegt von Philipp Brandt pbrandt@uni-koblenz.de

Mehr

1 Schatten und Texturen

1 Schatten und Texturen 1 Schatten und Texturen 1.1 Kapitel Guide oder Was Sie anhand von diesem Beispiel lernen werden! Wir stellen Sie nun vor die spannende Aufgabe, ein einfaches Diagramm optisch so gelungen aufzubereiten,

Mehr

Kapitel 5: Graphikhardware und Parallelisierung

Kapitel 5: Graphikhardware und Parallelisierung Kapitel 5: Graphikhardware und Parallelisierung 1 Überblick Taxonomie für Graphikhardware Historie der Graphikhardware Architektur-Beispiele Programmierbare Hardware Taxonomie von Parallelisierungsansätzen

Mehr

Rendering. Render-Vorbereitungen. Render Engines. Grund Surface Shader

Rendering. Render-Vorbereitungen. Render Engines. Grund Surface Shader Rendering There s nothing quite like turning a grey-shaded model into something that looks real - or that could be real. Lee Lainier Rendering ist der Vorgang indem aus der modellierten Szene ein Bitmap-Bild

Mehr

Photon Mapping. Proseminar How to make a P I X A R movie. Inhaltsverzeichnis. Andreas Schmidt 2011

Photon Mapping. Proseminar How to make a P I X A R movie. Inhaltsverzeichnis. Andreas Schmidt 2011 Photon Mapping Proseminar How to make a P I X A R movie Andreas Schmidt 2011 Inhaltsverzeichnis Zusammenfassung...2 Motivation...2 Photon Tracing Pass...3 Aussenden der Photonen...3 Russisches Roulette...3

Mehr

Globale Beleuchtung im Bildraum unter besonderer Berücksichtigung der Sichtbarkeitsbestimmung. Studienarbeit im Studiengang Computervisualistik

Globale Beleuchtung im Bildraum unter besonderer Berücksichtigung der Sichtbarkeitsbestimmung. Studienarbeit im Studiengang Computervisualistik Fachbereich 4: Informatik Globale Beleuchtung im Bildraum unter besonderer Berücksichtigung der Sichtbarkeitsbestimmung Studienarbeit im Studiengang Computervisualistik vorgelegt von Sinje Thiedemann Betreuer:

Mehr

Bachelorarbeit. Marcel Kuhn. Echtzeit-Schatten für interaktive Visualisierungsanwendungen. Fakultät Technik und Informatik Department Informatik

Bachelorarbeit. Marcel Kuhn. Echtzeit-Schatten für interaktive Visualisierungsanwendungen. Fakultät Technik und Informatik Department Informatik Bachelorarbeit Marcel Kuhn Echtzeit-Schatten für interaktive Visualisierungsanwendungen Fakultät Technik und Informatik Department Informatik Faculty of Engineering and Computer Science Department of Computer

Mehr

C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011

C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011 C A R L V O N O S S I E T Z K Y Wavefront OBJ Format Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation 3D-Modelle bestehen i. d. R. aus Tausenden von Dreiecken Händische

Mehr

Praktikum Computergrafik

Praktikum Computergrafik Praktikum Computergrafik Steven Schlegel Abteilung für Bild- und Signalverarbeitung Betreuer: Steven Schlegel (schlegel@informatik.uni-leipzig.de) Einführung in OpenGL und GLSL OpenGL OpenGL (Open Graphics

Mehr

Poser Tutorial by Margy

Poser Tutorial by Margy Poser Tutorial by Margy Dynamische Kleidung ist etwas Wunderbares. Der Stoff passt sich der Pose und der Figur an, und sieht einfach natürlicher aus. Kein Vergleich zur "normalen" Kleidung. Allerdings

Mehr

Entwurfs-Modell in 10 Schritten

Entwurfs-Modell in 10 Schritten EINLEITUNG Dieses kurze Beispiel zeigt das einfache Modellieren eines Gebäudemodells in Revit Architektur 2009. Das ausgesuchte Beispiel ist ein mehrstöckiges Bürohaus. Dieses Projekt ist als Ausbilder-geführte

Mehr