1Greg HumphreysCS445: Intro GraphicsUniversity of Virginia, Fall 2004WelcomeOverview• Introduction What is computer graphics?• Applications What is it good for?• Syllabus What will I learn in this course?• Coursework How much work will there be?What is Computer Graphics?• Sliced by specialty Imaging = representing 2D images Modeling = representing 3D objects Rendering = building 2D images from 3D models Animation = simulating changes over time Hardware = computer architecture for graphicsWhat is Computer Graphics?• Sliced by task Creating pictures on a computer Interacting with those pictures Drawing those pictures faster Displaying those pictures bigger, brighter Simulating physical phenomena Visualization of complex data Acquiring real-world geometry Simulating plants Video games Breaking stuff …Why is Graphics Cool?• Interdisciplinary Biology, Physics, Math, Psychology, CS, Art• Visual• Interactive• Work can be demoed to technically illiterate friends• Movies• Games• Money Video games: $9.4B (2001) Movies: $8.5B (2001)Overview• Introduction What is computer graphics?• Applications What is it good for?• Syllabus What will I learn in this course?• Coursework How much work will there be?2Entertainment (passive)Final Fantasy (Square, USA)Entertainment (passive)A Bug’s Life (Pixar)Entertainment (Active)Circus Atari (Atari)Entertainment (Active)Doom III (ID Software)Graphical User InterfacesGraphical User InterfacesWindow system and large-screen interaction metaphors (François Guimbretière)3Computer Aided DesignLos Angeles Airport (Bill Jepson, UCLA)Computer Aided DesignGear Shaft Design (Intergraph Corporation)Computer Aided DesignBoeing 777 Airplane (Boeing Corporation)Scientific VisualizationAirflow around a Harrier Jet (NASA Ames)Visible Human (National Library of Medicine)Scientific VisualizationCompressible Turbulence (Lawrence Livermore National Labs)TrainingFlight Simulator 2002 (Microsoft)4TrainingDesigning Effective Step-By-Step Assembly Instructions (Maneesh Agrawala et. al)EducationOutside In (Geometry Center, University of Minnesota)ArtBlair Arch (Marissa Range, Princeton University)ArtComputer Generated Pen-and-Ink Illustration (Winkenbach and Salesin, University of Washington)ArtExample-Based Composite Sketching of Human Portraits (Chen et al., MSRA, UCLA, MSR, UW, Microsoft)Photo EditingPocket PC (Jon Manning, www.worth1000.com)5Overview• Introduction What is computer graphics?• Applications What is it good for?» Syllabus What will I learn in this course?• Coursework How much work will there be?Image Processing• Image Representation Sampling Reconstruction Quantization & Aliasing• Image Processing Filtering Warping Morphing Composition• Raster Graphics Display devices Color modelsRendering• 3D Rendering Pipeline Modeling transformations Viewing transformations Hidden surface removal Illumination, shading, and textures Scan conversion, clipping Hierarchical scene graphs OpenGL• Global illumination Ray tracing Radiosity Monte CarloModeling• Representations of geometry Curves: splines Surfaces: meshes, splines, subdivision Solids: voxels, CSG, BSP• Procedural modeling Sweeps Fractals GrammarsAnimation• Keyframing Kinematics Articulated figures• Motion capture Capture Warping• Dynamics Physically-based simulations Particle systems• Behaviors Planning, learning, etc.Overview• Introduction What is computer graphics?• Applications What is it good for?• Syllabus What will I learn in this course?» Coursework How much work will there be?6Coursework• Exams (25%) In class (Oct 14 and Dec 7)• Programming Assignments (every two weeks) (50%) Warmup (due Sep 9 - ONE WEEK FROM TODAY) Image Processing (due Sep 23) Ray Tracer (due Oct 7) Virtual Rubik (due Oct 26) NPR (due Nov 9)• Final Project (25%) Do something cool! Proposals due November 23Programming Assignments• When? Every two weeks• Where? Anywhere you want, e.g. home or Small Hall PC Lab• How? Portable code, so any OS you like But we have to grade it! Typically C and C++, OpenGL, GLUT• What? Basic feature lists Extra credit lists Art contestArt Contest• Everybody should submit entries for eachassignment! 5 points for submitting something non-trivial 20 points for winning (complain to TA about losing)• Definitely save “accidental art”Jade Dragon on Ketchup Stand (Rui Wang, CS447 Spring 2003)Collaboration Policy• You must write your own code• You must reference your sources of any ideas/code• It’s OK to … Talk with other students about ideas, approaches, etc. Get ideas from information in books, web sites, etc. Get “support” code from example programs» But, you must reference your sources• It’s NOT OK to … Share code (no matter how trivial) with another student Use ideas or code acquired from another sources without attribution Directly debug another student’s program (i.e., by looking at their code)• Do not test us on this – zero tolerance in effectAdministrative Matters• http://www.cs.virginia.edu/~gfx/courses/• Instructor: Greg Humphreys• Office Hours: TTh 3-5• TA: Nate Hoobler• Office Hours: ?Book7More, more, MORE!• Sequence of advanced graphics courses at UVA:• CS 446: Real Time Rendering (Dave Luebke) Building interactive graphics systems (games!) Spring 2006• CS 447: Image Synthesis (Me) Modeling light and materials (Rendering) Spring 2005• CS 448: Animation (David Brogan) Modeling movement Fall
View Full Document