Luxo Jr. CSCI-6962 Advanced Computer Graphics Pixar Animation Studios, 1986 Director: John Lasseter CSCI-6962 Advanced Computer Graphics Cutler 2 Plan Introduction Overview of the Semester Administrivia Introductions Barb Cutler cutler@cs.rpi.edu http://www.cs.rpi.edu/~cutler/ http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/f05/info.html Who are you? Name, year/degree, graphics background (if any), research interests, & something fun, interesting or unusual about yourself Iterated Function Systems (Fractals) CSCI-6962 Advanced Computer Graphics Cutler 3 CSCI-6962 Advanced Computer Graphics Cutler 4 Why Computer Graphics? Movies Movies Games Simulation CAD-CAM Architecture Virtual Reality Visualization Medical Imaging CSCI-6962 Advanced Computer Graphics Cutler 5 CSCI-6962 Advanced Computer Graphics Cutler 6
Games Simulation CSCI-6962 Advanced Computer Graphics Cutler 7 CSCI-6962 Advanced Computer Graphics Cutler 8 CAD-CAM & Design Architecture CSCI-6962 Advanced Computer Graphics Cutler 9 CSCI-6962 Advanced Computer Graphics Cutler 10 Virtual Reality Visualization CSCI-6962 Advanced Computer Graphics Cutler 11 CSCI-6962 Advanced Computer Graphics Cutler 12
Medical Imaging What we will learn in CSCI-6962 Advanced topics computer graphics algorithms How to tackle the challenges in many of the applications just shown CSCI-6962 Advanced Computer Graphics Cutler 13 CSCI-6962 Advanced Computer Graphics Cutler 14 What we will NOT cover Questions? Software packages CAD-CAM Photoshop and other painting tools Artistic skills Game design Graphics API Although you will be exposed to OpenGL CSCI-6962 Advanced Computer Graphics Cutler 15 CSCI-6962 Advanced Computer Graphics Cutler 16 Plan Overview of the Semester Introduction Overview of the Semester Administrivia Iterated Function Systems (Fractals) advanced ray tracing: global illumination, photon mapping, subsurface scattering mesh generation and simplification subdivision surfaces appearance models volumetric modeling procedural modeling weathering simulation: particle systems, FEM, cloth texture synthesis & more CSCI-6962 Advanced Computer Graphics Cutler 17 CSCI-6962 Advanced Computer Graphics Cutler 18
Mesh Simplification Mesh Generation & Volumetric Modeling Hoppe Progressive Meshes SIGGRAPH 1996 CSCI-6962 Advanced Computer Graphics Cutler 19 CSCI-6962 Advanced Computer Graphics Cutler 20 Modeling Subdivision Surfaces Particle system (PDE) http://grail.cs.washington.edu/projects/subdivision/ CSCI-6962 Advanced Computer Graphics Cutler 21 CSCI-6962 Advanced Computer Graphics Cutler 22 Physical Simulation Rigid Body Dynamics f 1 ( t ) Collision Detection Fracture x Deformation p ( t ( ) ) b 1 t f 2 ( t ) p b 3 b p2 ( t ) v ( t ) ( t ) Ray Casting For every pixel construct a ray from the eye For every object in the scene Find intersection with the ray Keep if closest f 3 ( t ) CSCI-6962 Advanced Computer Graphics Cutler 23 CSCI-6962 Advanced Computer Graphics Cutler 24
Ray Tracing Traditional Ray Tracing Shade (interaction of light and material) Secondary rays (shadows, reflection, refraction) Original Ray-traced image by Whitted CSCI-6962 Advanced Computer Graphics Cutler 25 CSCI-6962 Advanced Computer Graphics Cutler 26 Ray Tracing + Soft Shadows Ray Tracing + Caustics CSCI-6962 Advanced Computer Graphics Cutler 27 CSCI-6962 Advanced Computer Graphics Cutler 28 Global Illumination Appearance Models Matusik θ r θ i φ i φ r CSCI-6962 Advanced Computer Graphics Cutler 29 Henrik Wann Jensen CSCI-6962 Advanced Computer Graphics Cutler 30
Subsurface Scattering Questions? Jensen et.al 01 Surface CSCI-6962 Advanced Computer Graphics Cutler 31 CSCI-6962 Advanced Computer Graphics Cutler 32 Plan Introduction Overview of the Semester Administrivia Iterated Function Systems (Fractals) Prerequisites Not enforced Linear Algebra vectors, matrices, basis, solving systems of equations Algorithms Orders of growth, bounds, sorting, trees All assignments are in C++ Previous coursework or experience in Computer Graphics an asset CSCI-6962 Advanced Computer Graphics Cutler 33 CSCI-6962 Advanced Computer Graphics Cutler 34 Grading Policy Assignments: 40% 4 programming assignments Must be completed individually Final Project: 30% Quizzes: 15% Tuesday, Oct 18 th & Tuesday, Nov 17 th (in class) Participation & Presentation: 15% Lead discussion of one paper during the semester Present your final project on Friday Dec 9 th (in class) CSCI-6962 Advanced Computer Graphics Cutler 35 Assignments Turn in code and executable (Linux or Windows ) Coding style important Be concise & efficient, and comment your code Collaboration policy: You can chat, but code on your own Acknowledge your collaborators! Late policy: Due Thursdays @ 11:59pm Penalized 25% per day late Extensions considered only if requested >1 week before due date CSCI-6962 Advanced Computer Graphics Cutler 36
Final Project ~ 1 month effort Significant extension of previous assignment OR Exploration of other topic discussed in class Can be a component of a research project outside of class Suggestions throughout the semester I'll review your proposal to make sure the scope is appropriate Office Hours Tuesdays & Fridays @ 1:30 (after lecture) Send email to make an appointment for some other time CSCI-6962 Advanced Computer Graphics Cutler 37 CSCI-6962 Advanced Computer Graphics Cutler 38 Questions Plan Introduction Overview of the Semester Administrivia Iterated Function Systems (Fractals) CSCI-6962 Advanced Computer Graphics Cutler 39 CSCI-6962 Advanced Computer Graphics Cutler 40 Iterated Function Systems (IFS) Capture self-similarity Contraction (reduce distances) An attractor is a fixed point A = Υ fi (A) Described by a set of n affine transformations In this case, n = 3 translate & scale by 0.5 CSCI-6962 Advanced Computer Graphics Cutler 41 CSCI-6962 Advanced Computer Graphics Cutler 42
CSCI-6962 Advanced Computer Graphics Cutler 43 CSCI-6962 Advanced Computer Graphics Cutler 44 CSCI-6962 Advanced Computer Graphics Cutler 45 CSCI-6962 Advanced Computer Graphics Cutler 46 CSCI-6962 Advanced Computer Graphics Cutler 47 CSCI-6962 Advanced Computer Graphics Cutler 48
CSCI-6962 Advanced Computer Graphics Cutler 49 CSCI-6962 Advanced Computer Graphics Cutler 50 Another IFS: The Dragon Increasing the number of iterations CSCI-6962 Advanced Computer Graphics Cutler 51 CSCI-6962 Advanced Computer Graphics Cutler 52 3D IFS in OpenGL GL_POINTS Application: Fractal Compression Exploit the self-similarity in an image GL_QUADS Compressed using Fractal Photo Lab CSCI-6962 Advanced Computer Graphics Cutler 53 CSCI-6962 Advanced Computer Graphics Cutler 54
Assignment 1: OpenGL Warmup Questions? Get familiar with: C++ environment OpenGL Transformations simple Vector, Matrix & Image classes Have Fun! Due Thursday Sept 8 th at 11:59pm CSCI-6962 Advanced Computer Graphics Cutler 55 CSCI-6962 Advanced Computer Graphics Cutler 56