16.837 Introduction to Computer Graphics6.837 Fall 04 – Durand & Cutler 2Luxo Jr.• Pixar Animation Studios, 1986• Director: John Lasseter6.837 Fall 04 – Durand & Cutler 3Plan• Introduction• Overview of the Semester• Administrivia• Iterated Function Systems (Fractals)6.837 Fall 04 – Durand & Cutler 4Team• Lecturers– Frédo Durand– Barb Cutler•TA– Rob Jagnow• Course secretary– Bryt Bradley• [email protected]• [email protected] Fall 04 – Durand & Cutler 5Why Computer Graphics?• Movies•Games• Simulation•CAD-CAM• Architecture• Virtual Reality• Visualization• Medical Imaging6.837 Fall 04 – Durand & Cutler 6Movies26.837 Fall 04 – Durand & Cutler 7Games6.837 Fall 04 – Durand & Cutler 8Simulation6.837 Fall 04 – Durand & Cutler 9CAD-CAM & Design6.837 Fall 04 – Durand & Cutler 10Architecture6.837 Fall 04 – Durand & Cutler 11Virtual Reality6.837 Fall 04 – Durand & Cutler 12Visualization36.837 Fall 04 – Durand & Cutler 13Medical Imaging6.837 Fall 04 – Durand & Cutler 14What you will learn in 6.837• Fundamentals of computer graphics algorithms• How to implement most of theapplications just shown• How graphics APIs and the graphics hardware work6.837 Fall 04 – Durand & Cutler 15What you will NOT learn in 6.837• Software packages–CAD-CAM– Photoshop and other painting tools• Artistic skills• Game design• Graphics API– Although you will be exposed to OpenGL6.837 Fall 04 – Durand & Cutler 16Questions?6.837 Fall 04 – Durand & Cutler 17Plan• Introduction• Overview of the Semester• Administrivia• Iterated Function Systems (Fractals)6.837 Fall 04 – Durand & Cutler 18Overview of the Semester• Ray Casting / Ray Tracing• The Graphics Pipeline• Textures, Shadows• Sampling, Global Illumination• Modeling, Animation, Color• Advanced Topics46.837 Fall 04 – Durand & Cutler 19Ray Casting• For every pixel construct a ray from the eye – For every object in the scene• Find intersection with the ray • Keep if closest6.837 Fall 04 – Durand & Cutler 20Ray Tracing• Shade (interaction of light and material)• Secondary rays (shadows, reflection, refraction6.837 Fall 04 – Durand & Cutler 21Ray Tracing• Original Ray-traced image by Whitted• Image computed using the Dali ray tracer by Henrik Wann Jensen• Environment map by Paul Debevec6.837 Fall 04 – Durand & Cutler 22The Graphics PipelineRay CastingFor each pixelFor each objectSend pixels to sceneRendering PipelineFor each triangleFor each projected pixelProject scene to pixels6.837 Fall 04 – Durand & Cutler 23The Graphics Pipeline• Transformations• Clipping• Rasterization• Visibility6.837 Fall 04 – Durand & Cutler 24Textures and Shading56.837 Fall 04 – Durand & Cutler 25Shadows6.837 Fall 04 – Durand & Cutler 26Sampling & Antialiasing6.837 Fall 04 – Durand & Cutler 27Traditional Ray Tracing6.837 Fall 04 – Durand & Cutler 28Ray Tracing + Soft Shadows6.837 Fall 04 – Durand & Cutler 29Ray Tracing + Caustics6.837 Fall 04 – Durand & Cutler 30Global Illumination66.837 Fall 04 – Durand & Cutler 31Modeling• Curved surfaces• Subdivision surfaces6.837 Fall 04 – Durand & Cutler 32Animation: KeyframingACM © 1987 “Principles of traditional animation applied to 3D computer animation”6.837 Fall 04 – Durand & Cutler 33Particle system (PDE)6.837 Fall 04 – Durand & Cutler 34Rigid Body Dynamics• Simulate all external forces and torques()tx()tv()1btp()3btp()2btp()2tf()3tf()1tf6.837 Fall 04 – Durand & Cutler 35Colorwavelength0.751.000.500.250.00400 500 600 700S M Lsaturationhue6.837 Fall 04 – Durand & Cutler 36Image-Based Rendering• Use images as inputs and representation• E.g. Image-based modeling and photo editingOh, Chen, Dorsey and Durand 200176.837 Fall 04 – Durand & Cutler 37Questions?6.837 Fall 04 – Durand & Cutler 38Plan• Introduction• Overview of the Semester• Administrivia• Iterated Function Systems (Fractals)6.837 Fall 04 – Durand & Cutler 39Administrivia: Prerequisites• Not enforced• All assignments are in C++– Optional review/introductory sessionMonday Sept 13, 7:30-9pm, 4-231• Linear Algebra (18.06)– vectors, matrices, basis, solving systems of equations– Optional review/introductory sessionMonday Sept 20, 7:30-9pm, 2-105• Algorithms (6.046)– Orders of growth, bounds, sorting, trees6.837 Fall 04 – Durand & Cutler 40Administrivia: Grading Policy• Assignments: 75%– Weekly programming assignments– Must be completed individually– No final project this year• Quiz: 10%– Tuesday, Oct 26 (in class) • Final Exam: 10%– TBA during finals week• Participation: 5%6.837 Fall 04 – Durand & Cutler 41Administrivia: Assignments• Turn in code and executable (Linux or Windows)• Coding style important– Many assignments are cumulative• Collaboration policy:– You can chat, but code on your own– Acknowledge your collaboration!• Late policy:– Due Wednesday @ 11:59pm– Penalized 25% per day late– Extensions only considered if requested 1 week before due date6.837 Fall 04 – Durand & Cutler 42"Create Your Own Assignment"• Last assignment, ~ 1 week effort• Extension of previous assignment ORExploration of other topic discussed in class• Suggestions throughout the semester• We'll review your proposal to make sure the scope is appropriate86.837 Fall 04 – Durand & Cutler 43Administrivia: Lab & Office Hours• http://graphics.csail.mit.edu/classes/6.837/F04/•Fredo– Tuesday 6-7pm in W20-575•Barb– Wednesdays 6-8pm in W20-575 •Rob– Wednesday 8- 11p m i n W 2 0-575• Send email to make an appointment for some other time6.837 Fall 04 – Durand & Cutler 44Questions6.837 Fall 04 – Durand & Cutler 45Plan• Introduction• Overview of the Semester• Administrivia• Iterated Function Systems (Fractals)6.837 Fall 04 – Durand & Cutler 46Iterated Function Systems (IFS)• Capture self-similarity• Contraction (reduce distances)• An attractor is a fixed pointΥ)(AfAi=6.837 Fall 04 – Durand & Cutler 47Example: Sierpinski Triangle• Described by a set of n affine transformations • In this case, n = 3– translate & scale by 0.5 6.837 Fall 04 – Durand & Cutler 48Example: Sierpinski Trianglefor “lots” of random input points (x0, y0)for j=0 to num_itersrandomly pick transformation i(xk+1, yk+1) = fi(xk, yk)display (xk, yk)96.837 Fall 04 – Durand & Cutler 49Example: Sierpinski
View Full Document