CS 445 Introduction to Computer GraphicsOverviewWhat is Computer Graphics?Slide 4Why is Graphics Cool?Slide 6Entertainment (passive)Slide 8Entertainment (Active)Slide 10Slide 11Slide 12Graphical User InterfacesSlide 14GUIs from The Matrix ReloadedComputer Aided DesignSlide 17Slide 18Scientific VisualizationSlide 20TrainingSlide 22EducationArtSlide 25Slide 26Photo EditingSlide 28Image ProcessingRenderingModelingAnimationSlide 33CourseworkProgramming AssignmentsCollaboration PolicyAdministrative MattersRequired BookRecommended BookMore, more, MORE!Movie TimeCS 445Introduction to Computer GraphicsFall 2006Aaron BloomfieldOverviewIntroductionWhat is computer graphics?ApplicationsWhat is it good for?SyllabusWhat will I learn in this course?CourseworkHow much work will there be?What is Computer Graphics?Sliced by specialtyImaging = representing 2D imagesModeling = representing 3D objectsRendering = building 2D images from 3D models Animation = simulating changes over timeHardware = computer architecture for graphicsWhat is Computer Graphics?Sliced by taskCreating pictures on a computerInteracting with those picturesDrawing those pictures fasterDisplaying those pictures bigger, brighterSimulating physical phenomenaVisualization of complex dataAcquiring real-world geometrySimulating plantsVideo gamesBreaking stuff…Why is Graphics Cool?InterdisciplinaryBiology, Physics, Math, Psychology, CS, ArtVisualInteractiveWork can be demoed to technically illiterate friendsMoviesGamesMoneyVideo games: $11B (2004)Movies: $8.5B (2001)OverviewIntroductionWhat is computer graphics?ApplicationsWhat is it good for?SyllabusWhat will I learn in this course?CourseworkHow much work will there be?Entertainment (passive)Final Fantasy (Square, USA)Entertainment (passive)A Bug’s Life (Pixar)Entertainment (Active)PongEntertainment (Active)Circus Atari (Atari)Entertainment (Active)Doom (ID Software)Entertainment (Active)Doom III (ID Software)Graphical User InterfacesGraphical User InterfacesWindow system and large-screen interaction metaphors (François Guimbretière)GUIs from The Matrix ReloadedMatrix ReloadedComputer 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)TrainingDesigning 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)OverviewIntroductionWhat is computer graphics?ApplicationsWhat is it good for?»SyllabusWhat will I learn in this course?CourseworkHow much work will there be?Image ProcessingImage RepresentationSampling ReconstructionQuantization & AliasingImage ProcessingFilteringWarpingMorphingCompositionRaster GraphicsDisplay devicesColor modelsRendering3D Rendering PipelineModeling transformationsViewing transformationsHidden surface removalIllumination, shading, and texturesScan conversion, clippingHierarchical scene graphsOpenGLGlobal illuminationRay tracingRadiosityMonte CarloModelingRepresentations of geometryCurves: splinesSurfaces: meshes, splines, subdivisionSolids: voxels, CSG, BSPProcedural modelingSweepsFractals GrammarsAnimationKeyframingKinematicsArticulated figuresMotion captureCaptureWarpinghttp://hms.upenn.edu/LiveActor/benDance.movDynamicsPhysically-based simulationsParticle systemsBehaviorsPlanning, learning, etc.OverviewIntroductionWhat is computer graphics?ApplicationsWhat is it good for?SyllabusWhat will I learn in this course?»CourseworkHow much work will there be?CourseworkExams (25%)In class (Oct 14 and Dec 7) Programming Assignments (every two weeks) (50%)Warmup (due 31 August - ONE WEEK FROM TODAY)Image Processing (due 14 September) Ray Tracer (due 28 September)Virtual Rubik (due 12 October) NPR (due 26 October) Final Project (25%)Do something cool!Proposals due 9 NovemberProgramming AssignmentsWhen?Every two weeks Where?Anywhere you want, e.g. home or Small Hall PC LabHow?Portable code, so any OS you like But we have to grade it!Typically C and C++, OpenGL, GLUTWhat?Basic feature listsExtra credit listsArt contestCollaboration PolicyYou must write your own code You must reference your sources of any ideas/codeIt’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 programsBut, you must reference your sourcesIt’s NOT OK to …Share code (no matter how trivial) with another studentUse ideas or code acquired from another sources without attributionDirectly debug another student’s program (i.e., by looking at their code)Do not test us on this – zero tolerance in effectAdministrative Mattershttp://www.cs.virginia.edu/~cs445/Instructor: Aaron BloomfieldTA: Jason MarsOffice hours for both will be posted on the websiteRequired BookRecommended BookMore, more, MORE!Sequence of advanced graphics courses at UVA:CS 447: Image Synthesis (Greg Humphreys)Modeling light and materials (Rendering)Spring 2007There will probably be an additional “follow-on” graphics class offered in the spring of 2008Movie
View Full Document