Programmierpraktikum 3D Computer Grafik

Ähnliche Dokumente
Beleuchtung. in Computerspielen

(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

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik

Rendering: Lighting and Shading

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik

3D Programmierpraktikum: Szenegraphen und Texturierung

Techniken der Effizienzsteigerung bei 2D-Texturierung:

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

3D-Modellierungsprogramme

Christina Nell. 3D-Computergrafik

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Übungsstunde 8 zu Computergrafik 1

Graphische Datenverarbeitung und Bildverarbeitung

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung. Vorlesung vom

Lokale Beleuchtungsmodelle

Computergraphik Grundlagen

Rendering. (illumination/shading) Beleuchtungsmodelle. Schattierung von Polygonen. Lokale Beleuchtungsmodelle

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik

3D Programmierpraktikum: OpenGL Shading Language (GLSL)

3D Programmierpraktikum: Schattenberechnung in Echtzeit

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

CGR I Beleuchtung und Schattierung

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

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Zur Erinnerung: Parametrisierung von Dreiecken

Beleuchtung Schattierung Rasterung

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

Seminar Game Development Game Computer Graphics. Einleitung

Shadingalgorithmen zur Visualisierung nanostrukturierter Oberflächen

3.5 Methode des gleitenden Horizonts

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

Lokale Beleuchtungsmodelle

4.4 Glättung von Kanten

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

Echtzeit Videoverarbeitung

3D Rendering mit PHP. Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern

Beleuchtung. Matthias Nieuwenhuisen

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

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

3.6 Schattenberechnung

Die Welt der Shader. Fortgeschrittene Techniken III

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Proseminar Computergraphik. 3D - Modellierung

Abb. 5-5 Gegenüberstellung von Flat-Shading und Gouraud-Shading. Beleuchtungsberechnung mit nur einer Flächennormale pro Polygon

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

BlendaX Grundlagen der Computergrafik

Graphische Datenverarbeitung und Bildverarbeitung

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Rendering: Lighting & Shading

Inhaltsverzeichnis - Themen

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Computer-Graphik 1 Lighting & Shading

Computergrafik 2008 Oliver Vornberger. Kapitel 19: Texturing

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

Spiegelgasse 1 CH 4051 Basel. Vorführung der laufenden Programme im Tutorium Woche 3 (Abgabe ).

3.3 Beleuchtung und Schattierung

Beleuchtungsmodelle. Realistische Bilder. Ausgedehnte Lichtquellen color bleeding. spiegelnde Reflexion. komplexe Oberflächen.

Übungsblatt 10: Klausurvorbereitung

Computergraphik Grundlagen

Freiwillige Übungsaufgaben zur selbstständigen Bearbeitung

Beleuchtung Schattierung Rasterung

Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern

Nichtrealistische Darstellung von Gebirgen mit OpenGL

Fraktale Terrainerzeugung. Fraktale. Ziel der Ausarbeitung. fbm) Fractional Brownian Motion (fbm( Eigenschaften von fbm

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Einbeziehung von Elementen der 3D-Computergrafik in den Mathematikunterricht der Sekundarstufe II im Stoffgebiet Analytische Geometrie

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

Wima-Praktikum 2: Bildsynthese-Phong

3D-Oberflächen-Rekonstruktion und plastisches Rendern aus Bilderserien

C for Graphics Benjamin Rommel Seminar 'Paralleles Rechnen auf Grafikkarten' Sommersemester 2009 Betreuer: Julian M.

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

How to make a PIXAR movie

Bildrekonstruktion & Multiresolution

2015 Sebastian Wahner - Die teilweise oder vollständige Weiterverbreitung dieses Werkes ist ohne Einverständnis des Autors

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

Computergrafik Universität Osnabrück, Henning Wenke,

Jörn Loviscach Hochschule Bremen

Beleuchtungsmodelle und Shading

5 Mapping-Techniken. 5.1 Motivation

Script Pause

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

Praktikum: Spieleengine im Eigenbau

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

Modellierung. Oliver Hartmann

SOPRA. Erstellen eines virtuellen begehbaren Modells der Mensa. Marek Junghans, Fränze Ellermann, Johannes Fröhlich

Kapitel 4: Schattenberechnung

2015 Sebastian Wahner - Die teilweise oder vollständige Weiterverbreitung dieses Werkes ist ohne Einverständnis des Autors

Computergraphik Grundlagen

Direkte Schattierungsverfahren (Gouraud)

Computergrafik 2016 Oliver Vornberger. Kapitel 16: 3D-Repräsentation

Shader. Computer Graphics: Shader

2 Literatur U. Claussen: \Programmieren mit OpenGL", Springer, 1997 J. Encarnaca~o, W. Straer, R. Klein: \Graphische Datenverarbeitung 1 + 2", Oldenbo

Transkript:

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 zur Erzeugung von Landschaften 29.05.2008 # 2

Beleuchtungsgleichung Mathematisch komplexe Operation in die verschiedene Größen Einfließen Unterschiedliche Lichtquellen Licht und Materialeigenschaften Art der Approximation der tatsächlichen physikalischen Vorgänge Vereinfachtes Modell: n a r α α l t 29.05.2008 # 3

Beleuchtungsmodelle in OpenGL Shading: Einfache Techniken: interpolative Verfahren Über die Beleuchtungsgleichung lassensichdie FarbwertederEckpunkte berechnen Die Farbwerte aller Punkte ergeben sich dann aus der Interpolation der Farbwerte an den Eckpunkten Drei Verfahren: Flat-Shading Gouraud-Shading Phong-Shading

Bump-Mapping Flat-Shading: Keine Interpolation Jedes Polygon hat genau einen Farbwert (z.b. Mittelwert der Eckpunkte) Einzelne Polygone eines Objekts sichtbar Leichte Implementierung aber sehr geringe Qualität

Bump-Mapping Gouraud-Shading: Berechne Helligkeitswerte an den Eckpunkten eines Polygons und interpoliere diese über die Fläche des Polygons Bessere Qualität, aber aufwendiger Keine Kanten mehr sichtbar Glanzpunkte werden nicht dargestellt

Bump-Mapping Phong-Shading: Interpoliere die Normalenvektoren der Eckpunkte über die Fläche berechne an jedem Punkt den Farbwert aus den interpolierten Normalen Aufwendiger als Gouraud-Shading Glanzpunkte werden korrekt dargestellt

Bump-Mapping Shading (Zusammenfassung): Flat-Shading Gouraud-Shading Phong-Shading

Bump Mapping 29.05.2008 # 9

Bump-Mapping Grundlagen: Technik, die Objekten mehr Details gibt, ohne dabei mehr Dreiecke zu verwenden Bump-Map ist eine weitere Textur, deren Helligkeitswerte entscheidend für die Relief-Stärke ist Relief wäre zwar ohne Bump-Map möglich, die Lichtposition wird aber nicht berücksichtigt Schattenwürfe des Reliefs werden dynamisch berechnet

Bump-Mapping Mögliche Anwendungsbeispiele: Kratzer in einem Blech Rauhe Mauerstrukturen Struktur einer Wasserflasche Textur der Erde Relief-Textur der Erde

Bump-Mapping Verfahren:

Bump-Mapping Vorteile: Verwendet nicht mehr Polygone Schnell Leicht zu implementieren zweite Textur Nachteile: Funktioniert nur bei einer direkten Draufsicht Lösung hierfür: Displacement-Mapping Verändert die Polygonstruktur nicht, sondern nur die Helligkeitswerte

Bump-Mapping OpenGL Extensions: Bump-Mapping ist ein Multi-Texture Verfahren OpenGL 1.1 unterstützt dies nicht Daher: Verwendung der Extensions Einbinden von glext.h oder Verwendung von GLEW (OpenGL Extension Wrangler), zu finden unter: http://glew.sourceforge.net/

Bump-Mapping OpenGL Extensions (Tutorials): NeHe Productions: OpenGL Lesson #22: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=22 CodeSampler.com OpenGL Page 4: http://www.codesampler.com/oglsrc/oglsrc_4.htm Simple Bump Mapping: http://www.paulsprojects.net/tutorials/simplebump/simplebump.html

Height-Maps 29.05.2008 # 16

Height-Maps Einfaches Verfahren um realistische Landschaften zu erzeugen. Höheninformation wird aus einer Textur (Height- Map) ausgelesen. Aus den Farb/Grauwerten lässt sich ein Höhenprofil triangulieren 29.05.2008 # 17

Height-Map Beispiel 29.05.2008 # 18

Triangulation Beispiel Code zur Triangulation: int x_max = myheightmap.getwidth(); int z_max = myheightmap.getheight(); int stepsize = 10; int scalefactor = 10; //Dimension der Landschaft //Schrittgröße //Skalierung der //Normalisierten Farbwerte for(int z=0;z<z_max-10; z+=10){ glbegin(gl_triangle_strip); for(int x=0; x<x_max-10; x+=10){ float color_y = myheightmap.getpixelvalue(x,z); glcolor3f(color_y/256,color_y/256,color_y/256); glvertex3f(x/scalefactor,color_y/scalefactor,- z/scalefactor); color_y = myheightmap.getpixelvalue(x,z+stepsize); glcolor3f(color_y/256,color_y/256,color_y/256); glvertex3f(x/scalefactor,color_y/scalefactor,- (z+stepsize)/scalefactor); } glend(); } 29.05.2008 # 19

Farbige Landschaften Wie wird die Landschaft farbig? Erstellen einer passenden Farbtextur zur Höheninformation (Es gibt freie Graphikprogramme die beide erzeugen Beim berechnen des Höhenprofils Texturkoordinaten mit berechnen. x z gltexcoord 2f, x _ max z _ max 29.05.2008 # 20

Links http://www.codeworx.org/opengl_tut34.php 29.05.2008 # 21