320491 Advanced Graphics Prof. Dr.-Ing. Lars Linsen Spring 2015
0. Introduction 320491: Advanced Graphics - Chapter 1 2
0.1 Syllabus 320491: Advanced Graphics - Chapter 1 3
Course Website http://www.faculty.jacobsuniversity.de/llinsen/teaching/320491.htm (accessible through CampusWeb) 320491: Advanced Graphics - Chapter 1 4
Content Computer graphics deals with the digital synthesis and manipulation of visual content, typically embedded in a threedimensional scene. Prominent tasks in computer graphics are geometry processing, rendering, and animation. Geometry processing is concerned with object representations such as surfaces and their modeling, rendering is concerned with simulating light transport to get physically-based photorealistic images of 3D scenes or applying a certain style to create non-photorealistic images, and animation is concerned with descriptions for objects that move or deform over time. Methods that tackle these three tasks are being taught. 320491: Advanced Graphics - Chapter 1 5
Pre-requisites 320322 Graphics and Visualization Co-requisites 320621 Advanced Graphics Lab (for graduate students) 320491: Advanced Graphics - Chapter 1 6
Lectures Times: Monday 9:45am-11am Wednesday 8:15am 9:30am. Location: West Hall 5 320491: Advanced Graphics - Chapter 1 7
Instructor Lars Linsen Office: Res I, 128. Phone: 3196 E-Mail: l.linsen [@jacobs-university.de] Office hours: by appointment 320491: Advanced Graphics - Chapter 1 8
Assignments There will be three assignments: Project 1: Project 2: Project 3: Handed out: Feb 18 Handed out: Mar 18 Handed out: Apr 15 Due: Mar 18 Due: Apr 15 Due: May 6 320491: Advanced Graphics - Chapter 1 9
Exams There will be a midterm and a final examination. It is planned to have a written midterm and an oral final examination. 320491: Advanced Graphics - Chapter 1 10
Grading The assignments will contribute 20%, the midterm exam 30%, and the final exam 50% to the overall grade. 320491: Advanced Graphics - Chapter 1 11
Dates Lectures (1) Week 1: Week 2: Week 3: Week 4: Week 5: Week 6: Week 7: 02.02. 04.02. 09.02. 11.02. 16.02. 18.02. 23.02. 25.02. 02.03. 04.03. 09.03. 11.03. 16.03. 18.03. Lecture 1 Lecture 2 Lecture 3 Lecture 4 Lecture 5 Lecture 6 Lecture 7 Lecture 8 Lecture 9 Lecture 10 Lecture 11 No lecture off campus Lecture 12 Lecture 13 320491: Advanced Graphics - Chapter 1 12
Dates Lectures (2) Week 8: Week 9: Week 10: Week 11: Week 12: Week 13: Week 14: 23.03. 25.03. 06.04. 08.04. 13.04. 15.04. 20.04. 22.04. 27.04. 29.04. 04.05. 06.05. 11.05. 13.05. Lecture 14 Lecture 15 Spring break Holiday Lecture 16 Lecture 17 Lecture 18 Lecture 19 Lecture 20 Lecture 21 Lecture 22 Lecture 23 Lecture 24 Lecture 25 Lecture 26 320491: Advanced Graphics - Chapter 1 13
Dates - Exams Midterm: 23.03. Final: tbd (finals week) 320491: Advanced Graphics - Chapter 1 14
Lab There will be no exams. There will be 5 course-accompanying project assignments. Solutions that are handed in late lead to reduced credit (-15% per day). Exceptions are only made with an official excuse. The grade is to 100% based on the projects. 320491: Advanced Graphics - Chapter 1 15
Dates - Assignments Project 1: Project 2: Project 3: Project 4: Project 5: Handed out: 11.02. Handed out: 04.03. Handed out: 18.03. Handed out: 15.04. Handed out: 29.04. Due: 04.03. Due: 18.03. Due: 15.04. Due: 29.04. Due: 13.05. 320491: Advanced Graphics - Chapter 1 16
Literature Rick Parent: Computer Animation: Algorithms and Techniques, Morgan Kaufman Publishers, 2nd Edition, 2007. Matt Pharr & Greg Humphreys: Physically-based Rendering: From Theory to Implementation, Elsevier, 2nd Edition, 2010. Selected journal and conference proceedings papers as announced in class. Dave Shreiner, Mason Woo, and Jackie Neider: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Addison-Wesley Longman, 3rd edition, 2006. (Old version available at http://www.glprogramming.com/red.) Randi J. Rost and Bill Licea-Kane: OpenGL Shading Language, Addison-Wesley, 3rd edition, 2009. 320491: Advanced Graphics - Chapter 1 17
0.2 Goal 320491: Advanced Graphics - Chapter 1 18
Goal Deepen and broaden concepts and techniques in 3D computer graphics. 320491: Advanced Graphics - Chapter 1 19
0.3 Content 320491: Advanced Graphics - Chapter 1 20
Content Modeling Rendering mesh data structures subdivision surfaces multiresolution meshes meshsmoothing mesh parametrization Animation deformation morphing particle systems spring-mass models applications global illumination montecarlomethods light field lumigraph non-photorealism GPU programming: GL shading language 320491: Advanced Graphics - Chapter 1 21
Examples 320491: Advanced Graphics - Chapter 1 22
Examples 320491: Advanced Graphics - Chapter 1 23
320322 revisited 1. Geometric Background 2. Object Representation 3. Raster Graphics 4. Color Models 5. Illumination 6. Shading 7. Global Illumination 8. Textures 9. Data Visualization 10. Curves and Surfaces 320491: Advanced Graphics - Chapter 1 24
Graphics Programming Graphical user interface (GUI) Windowing system X Integrated in OS: Microsoft Windows, Mac OS Microsoft Direct3D OpenGL (Open Graphics Library) OpenGL 2.0 (and higher) GLSL (GL Shading Language) Cg (nvidia) HLSL (high level shader language, DirectX) GPGPU programming: CUDA (nvidia), CTM (ATI), OpenCL 320491: Advanced Graphics - Chapter 1 25
1. Modeling 320491: Advanced Graphics - Chapter 1 26
Goal Changing the shape of objects to adjust to desired look to improve shape to improve representation / appearance 320491: Advanced Graphics - Chapter 1 27
Driving questions How can we modify the shape? What representations support these changes? How can we obtain intuitive modeling operations? How can we obtain interactive modeling operations? How can we fix undesired changes quickly? How can we improve appearance? How can we improve quality? How can we judge quality? 320491: Advanced Graphics - Chapter 1 28
1.1 Object representation (revisited) 320491: Advanced Graphics - Chapter 1 29
Boundary representations Objects are typically represented by their boundary surfaces. 320491: Advanced Graphics - Chapter 1 30
Manifold surfaces Boundary representations lead to manifold surfaces, i.e. 2-manifolds. Definition: A 2-manifold is a surface, where for each surface point the surface is locally homeomorphic to a disk. non-manifold surface 320491: Advanced Graphics - Chapter 1 31
Topology Genus = number of handles genus 0 genus 1 genus 2 320491: Advanced Graphics - Chapter 1 32
Homeomorphism homeomorph = topologically isomorph 320491: Advanced Graphics - Chapter 1 33
Acquisition vs. generation 320491: Advanced Graphics - Chapter 1 34
Acquisition vs. generation 320491: Advanced Graphics - Chapter 1 35
Acquisition vs. generation 320491: Advanced Graphics - Chapter 1 36
Acquisition vs. generation 320491: Advanced Graphics - Chapter 1 37
Implicit vs. explicit representation acquired generated explicit implicit 320491: Advanced Graphics - Chapter 1 38
A. Explicit surface representations 320491: Advanced Graphics - Chapter 1 39
Explicit surface representations polygonal meshes 320491: Advanced Graphics - Chapter 1 40
Heightfield 320491: Advanced Graphics - Chapter 1 41
Arbitrary triangular mesh 320491: Advanced Graphics - Chapter 1 42
Almost regular triangular mesh 320491: Advanced Graphics - Chapter 1 43
Almost regular quadrilateral mesh 320491: Advanced Graphics - Chapter 1 44
Euler formula For closed polygonal meshes V E + F = 2 (1-g) with V = # vertices E = # edges F = # faces g = genus Example: Cube 8 12 + 6 = 2 320491: Advanced Graphics - Chapter 1 45
3D Laser Scanner 320491: Advanced Graphics - Chapter 1 46
Point Cloud 320491: Advanced Graphics - Chapter 1 47
Surface Reconstruction 320491: Advanced Graphics - Chapter 1 48
Point Cloud Rendering 320491: Advanced Graphics - Chapter 1 49
Splat-based Rendering 320491: Advanced Graphics - Chapter 1 50
Computer Aided Geometric Design 320491: Advanced Graphics - Chapter 1 51
Piecewise polynomial surfaces Freeform surfaces Bézier surfaces B-spline surfaces 320491: Advanced Graphics - Chapter 1 52
B. Implicit surface representations 320491: Advanced Graphics - Chapter 1 53
Quadrics ellipsoid 320491: Advanced Graphics - Chapter 1 54
Hyperboloid 320491: Advanced Graphics - Chapter 1 55
Paraboloid 320491: Advanced Graphics - Chapter 1 56
Constructive Solid Geometry (CSG) 320491: Advanced Graphics - Chapter 1 57
Boolean operations 320491: Advanced Graphics - Chapter 1 58
Boolean operations 320491: Advanced Graphics - Chapter 1 59
Volume data 320491: Advanced Graphics - Chapter 1 60
Isosurface 320491: Advanced Graphics - Chapter 1 61
C. Conversion 320491: Advanced Graphics - Chapter 1 62
Implicit to explicit Isosurface extraction E.g. Marching Cubes 320491: Advanced Graphics - Chapter 1 63
Explicit to implicit Create a signed distance field generate a grid compute at each grid point the signed distance to the surface 320491: Advanced Graphics - Chapter 1 64
1.2 Mesh Data Structures 320491: Advanced Graphics - Chapter 1 65
References Mario Botsch, Mark Pauly, Leif Kobbelt, Pierre Alliez, Bruno Lévy, Stephan Bischoff, and Christian Rössl, Geometric modeling based on polygonal meshes. SIGGRAPH '07: ACM SIGGRAPH 2007 courses, ACM, 2007. Kenneth I. Joy, Justin Legakis, and Ron MacCracken: Data Structures for Multiresolution Representation of Unstructured Meshes. in: Hierarchical Approximation and Geometric Methods for Scientific Visualization, Gerald Farin, Hans Hagen, and Bernd Hamann (editors), Springer-Verlag, Heidelberg, Germany, 2002. 320491: Advanced Graphics - Chapter 1 66
Polygon soup array of vertices array of polygons (stored as sequence of vertex indices) Example: vertices = [(v1.x,v1.y,v1.z), ] triangles = [(1,2,3),(2,3,4), ] Advantage: memory efficient 320491: Advanced Graphics - Chapter 1 67