Beleuchtung Schattierung Rasterung

Ähnliche Dokumente
Lokale Beleuchtungsmodelle

Rendering: Lighting & Shading

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

4.3 Beleuchtung und Schattierung

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Wima-Praktikum 2: Bildsynthese-Phong

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

(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

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

3.3 Beleuchtung und Schattierung

Computergraphik Grundlagen

Graphische Datenverarbeitung und Bildverarbeitung

Shadingalgorithmen zur Visualisierung nanostrukturierter Oberflächen

3D-Computergrafik und animation. Shading und globale Beleuchtungsverfahren, Animationstechniken

Computer-Graphik 1 Lighting & Shading

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

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

computer graphics & visualization

Computer Graphik I Beleuchtung

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

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

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

Programmierpraktikum 3D Computer Grafik

Graphische Datenverarbeitung und Bildverarbeitung

Inhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

die Planung eindrucksvoll präsentieren

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

Christina Nell 3D-Computergrafik Seminararbeit im Hauptseminar Grafikprogrammierung. Universität Ulm Sommersemester 2008

Morphologische Operationen (12 Punkte)

Diplomarbeit. Verbesserung der Darstellungsqualität einer texturbasierten Volumenvisualisierung unter Verwendung moderner Shadertechnologie

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Lehrbuch der Grafikprogrammierung

- 3D Modelling & Renderer -

Global Illumination Globale Beleuchtung

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

Entwicklung von Environment-Shadern in Cg und CgFX unter Berücksichtigung des Workflows zur Erstellung virtueller Szenenbilder im WDR Köln

Photonik Technische Nutzung von Licht

RENDERING. Cobalt Xenon Argon. mit Ashlar-Vellum.

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

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

Outline. Blender Renderer Cycles Rendering Engine Texturen Light Probes. 11 Shading

Visualisierung mit TurboCAD

Java3D. Beleuchtung und Material

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05

Der Einsatz von HDRIs in LightWave 7

Optische Technologien im Automobil

Seminar: Grafikprogrammierung

Einführung in die Computergrafik

Photorealistische Computergrafik. Thorsten Grosch

OpenGL. (Open Graphic Library)

Seminar: Programmierung von Grafikkarten (SS 2006)

Seminar Game Development Game Computer Graphics. Einleitung

Virtuelle Realität (VR) Grundlagen 3D Grundlagen VRML

Berechnung von Formfaktoren

9. Grundzüge der Beleuchtungsrechnung

Softwareprojekt Spieleentwicklung

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

ACG - Projekt. Konstruktion einer. E-Gitarre

Praktikum: Spieleengine im Eigenbau

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

Grundlagen der Spieleprogrammierung

Fachhochschule Köln Abteilung Gummersbach. Computergrafik und Animation. 3D Modellierung vom Foto zum Objekt

Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian. Dauer: 30 min jeweils. Note: 1.

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, Kore Nordmann

Photometrie. EPD.06 Photometrie.doc iha Ergonomie / Arbeit + Gesundheit

Inhaltsverzeichnis - Themen

Friedrich Hoermann Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Bernhard Hill Forschungsgruppe Farbwissenschaft Fakultät für Elektrotechnik und Informationstechnik RWTH Aachen University

Graphische Datenverarbeitung und Bildverarbeitung

Grafikkarten-Architektur

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

Real-Time High-Dynamic Range Texture Mapping

Inhaltsverzeichnis. 1 Hardwaregrundlagen


Texture Based Direct Volume Rendering

Überblick Echtzeit-Rendering. Uwe Domaratius

Übungen mit dem Applet Schiefer Wurf

Färben, texturieren und rendern in Solid Edge

Speicherkonzepte von Pixel- und Vektorgrafik

Die Lichtbrechung am gleichseitigen Prisma bei Totalreflexion an der zweiten Grenzfläche (Verfasser: Prof. Dr. Klaus Dräger)

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

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

Shader und Effekte für AiRmob. Bachelorarbeit

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

Architektur von Game-Engines

Geschichte der Computergrafik Zeichenalgorithmen Bildformate Grafikstandards

Optische Illusionen. Ich sehe was, was Du nicht siehst... Fachbereich 3 Mathematik und Informatik. Mathias Lindemann

Konzepte für 3D Produktionen

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

Computergraphik Grundlagen

CSCB - Fotoclub Workshop. TIPS und Grundlagen für gute Bilder

C# Programm: Raytracer (3D Renderer)

Fachartikel. Telezentrische Objektive für Kameras größer 1 Zoll

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

Übung Elementarmathematik im WS 2012/13. Lösung zum Klausurvorbereitung IV

Jörn Loviscach Hochschule Bremen

1 How to make a Pixar movie? - The Animation Pipeline. How to make a Pixar Movie? Thema: The Animation Pipeline

Computer-Graphik 1 Lighting & Shading

Transkript:

Thomas Jung t.jung@htw-berlin.de Beleuchtung Schattierung Rasterung 1

Beleuchtung, Schattierung und Rasterung in allen Echtzeit-3D-Umgebungen gleich OpenGL Direct3D 3dsmax,... Letzter Bestandteil der Grafikpipeline Geometrische Transformationen (. VL) Verdeckungsbehandlung (letzte VL) Später: Integration von Texturierung Oberflächen Ambiente Reflexion Diffuse Reflexion Spiegelnde Reflexion Lichtquellen Gerichtetes Licht Punktlichtquellen Spots/Lichtkegel

Globales Beleuchtungsmodell für Fotorealistische Darstellungen Emission und Reflexion von Licht in Szenen Raytracing: Spiegelnde Inter-Objekt-Reflexion Radiosity: Diffuse Inter-Objekt-Reflexionen Lokales Beleuchtungsmodell.. für Realzeitanforderungen Verwendung in OpenGL, VRML,... Vernachlässigung von Inter-Objekt-Reflexionen Normale N Augvektor. A Halbvektor H Reflektanzvektor R Lichtvektor L Normale liegt in der Mitte zwischen Licht- und Reflektanzvektor Halbvektor liegt in der Mitte zwischen Licht- und Augvektor (Bildquelle: Al. Watt, M. Watt: Advanced Animation and Rendering Techniques, Addison Wesley 199) 3

Ambiente Reflexion Sorgt für generelle Szenenaufhellung Diffuse Reflexion Hebt Profil eines Objektes hervor Spiegelnde Reflexion Sorgt für Glanzlichter Abhängig vom Winkel zwischen Lichtvektor und Oberflächennormale Johann Heinrich Lambert Unabhängig vom Betrachterstandpunkt (Bildquelle: Wikipedia) Gemäß Lambertschem Gesetz Je spitzer der Winkel der Fläche zur Lichtquelle desto weniger Lichtenergie gelangt auf die Oberfläche kd = 0.4 0.55 0.7 0.85 1.0 4

Konstant pro Oberfläche Um zu garantieren, daß Objekt sichtbar ist Repräsentiert diffuse Inter-Objekt-Reflexion Genauere Betrachtung im Radiosity-Verfahren ka = 0.0 0.15 0.3 0.45 0.6 (Diffuse Reflexion kd = 0.4) Abhängig vom Betrachterstandpunkt Sorgt nur für Glanzlicht ks bestimmt Intensität (Helligkeit) Shininess kn bestimmt Fokussierung (Größe) (Ambiente Reflexion ka=0.1 Diffuse Reflexion kd=0.45) k s 0.1 0.5 0.5 k n 3 5 10 7 18 5

Diffuse Reflexion Zwischen Lichtvektor und Oberflächennormale Spiegelnde Reflexion Zwischen Augvektor und Reflektanzvektor bzw. Halbvektor und Oberflächennormale A cos B A* B len( A)* len( B) cos 1 ( 0 x) cos 4 ( x) cos( x) cos ( x) 90 I k k *( L* N) k ( H * N) a d s k n Tuong-Phong, Bui (194-1975) (Quelle http://thepcpioneers.com) arccos( R* A) *arccos( N * H) I, k a, k d und k s sind Intensitäten Augvektor. A Normale N Halbvektor H Bei farbiger Reflexion Intensitäten für R, G und B Reflektanzvektor R Lichtvektor L (Bildquelle: Al. Watt, M. Watt: Advanced Animation and Rendering Techniques, Addison Wesley 199) 6

Lichtenergie von Punktlichtquellen nimmt ab mit dem Quadrat der Entfernung (dl) Lineare Abschwächung erzielt akzeptable Bildqualität f att 1 min, 1 c1 cdl c3d L c 1 c c 3 001 dl = 1.0 1.375 1.75.15.5 Depth Cueing modelliert atmosphärische Effekte, Nebel lineare Abschwächung von Frontplane zu Backplane ¼ ¼ ½ 010 7

c ecm acm * acs n 1 srm att * spot *( a * a ( N VP )* d * d f ( N h ) * s * s ) i0 i i cm cli pli cm cli i i cm cli N = Normale, V = Beleuchteter Punkt 1, N VPpli 0 fi 0, sonst T VPpli V (0 0 0), Perspektive hi T VPpli (0 0 1), Parallelprojektion 1, Punktlicht atti k0i k1 i VPpli ki VPpli 1.0, Richtungslicht srli ( PpliV sdli ), crli 180.0, PpliV sdli cos( crli ) spoti 0.0, crli 180.0, PpliV sdli cos( crli ) 1.0, crli 180.0 AB AB, normiert A Länge von A a = ambient, d = diffus s = spiegelnd, e = emmisiv c = Farbe, p = Position, d = Richtung m = Material, s = Szene, li = Licht s d = Spotrichtung, s r = Spotexponent (0..18), c r = Spotwinkel (0..90, 180) k 0 = Konstante -, k 1 = Lineare - und k = quadr. Abschwächung Nierenstein unter dem Rasterelektronenmikroskop (Quelle :Wikipedia) Oberfläche wird durch viele kleine Facetten (Spiegel) approximiert F D* G s ( N * A)( N * L) Fresnel-Gleichung: Reflektionsverhältnis 1 ( g c) c( g c) 1 F * g c 1 ( ) c g c ( ) 1 c L * H g n c 1 n Brechungsverhältnis Beckmannsche Microfacettenverteilung 1 [(tan ) / m ] D e 4 4m cos arccos( N * H ) m Rauhheit Geometrische Abschattung der Microfacetten G min1, ( N * H )( N * A), A* H ( N * H )( N * L) A* H (Bildquelle: Al. Watt, M. Watt: Advanced Animation and Rendering Techniques, Addison Wesley 199) 8

Steiler Einfallswinkel Flacher Einfallswinkel Phong Torrance und Sparrow (Bildquelle: Al. Watt, M. Watt: Advanced Animation and Rendering Techniques, Addison Wesley 199) Fixed-Function-Pipeline (bis OpenGL) bot einfach zu benutzende Befehle glmaterial, gllight, etc. war beschränkt auf Gouraud-Shading unterstützte viele moderne Shading-Effekte nicht Ist weiterhin über Compability-Extension verfügbar! Programmierbare Pipeline (ab OpenGL) Erlaubt nahezu beliebige Shading-Effekte inclusive Phong- Shading Bietet aber kein dediziertes API mehr Achtung: OpenGL1-Befehle dann also nicht mehr nutzbar! 9

Lokale Beleuchtungsmodelle ohne Inter-Objekt- Reflexion Materialien und Lichtquellen Ambiente, Diffuse und Spiegelnde Reflexion Abschwächung mit der Entfernung Physikalisch-basierte Beleuchtung Anwendung (CPU) (Quelle: https://www.opengl.org/wiki/file:renderingpipeline.png ) 10

Aufteilung der Polygone in Dreiecke Dreiecke sind garantiert konvex und planar Nach der Projektion Aufteilung der Dreiecke in obere und untere Hälfte Setup Bestimmung der Steigungen und Ableitungen für Parameterinterpolationen Rasterung mit Hilfe von Doppelschleife Rasterisierung erfolgt zeilenweise Veränderungen des Startpixels (dl) und des Endpixels (dr) pro Scanline bestimmen Hier dl = -1, dr = 0.48 xstart = xende = x1 dl = (xl x1) / (yende ystart) dr = (xr x1) / (yende ystart) für y von ystart bis yende für x = xstart bis xende generierepixel(x,y) xstart = xstart + dl xende = xende + dr x y yende ystart x1 11

Ausschnitt Klipping an Rechteck: Scissoring Maskieren nach Muster: Stenciling Z-Speicher für korrekte Sichtbarkeit Einfärbung Schattierung Texturierung Transparenz Blending zur Berücksichtigung von Transparenz Logische Verknüpfung mit Pixel im Bildspeicher Konstante Schattierung (CPU) Beleuchtung anhand der Flächennormalen Alle Pixel erhalten diesen Farbwert Facettenstruktur wird betont Gouraud-Schattierung (Rasterer) Beleuchtung anhand der Eckpunktnormalen im Vertex Shader Farbwerte der Eckpunkte werden interpoliert Phong-Schattierung Nicht zu verwechseln mit Beleuchtungsmodell! Interpolation der Normalen (Rasterer) Beleuchtung anhand der interpolierten Normalen pro Pixel im Fragment Shader 1

Konstantschattierung anhand der Flächennormalen Gouraudschattierung: Normale pro Eckpunkt Interpolation der Eckpunktfarben Phong- Schattierung: Normale pro Pixel xstart = xende = x1 dl = (xl x1) / (yende ystart) dr = (xr x1) / (yende ystart) fl = f1 dfl = (fl fs) / (yende ystart) df = (fr fl) / (xr xl) für y von ystart bis yende f = fl für x = xstart bis xende f = f + df generierepixel(x,y,f) xstart = xstart + dl xende = xende + dr fl = fl + dfl x x1 y yende ystart 13

Konstant Gouraud Phong Glanzlichter innerhalb eines Dreiecks Korrekte Darstellung von Spots Voraussetzung für echtes Bumpmapping Spots auf Viereck Häufigere Auswertung der Beleuchtungsformel Höherer Aufwand Bumpmapping 14

Renderingpipeline beinhaltet Geometrische Transformationen, Verdeckungsbehandlung, Beleuchtung und Schattierung Beleuchtung wird durch Lichtquellen und Materialien beeinflußt: Phong-Modell Rasterung von Polygonen Pro Pixel Stenciling, Z-Speicher, Schattierung und Texturierung Konstante, Gouraud- oder Phong-Schattierung 15