Computer GraphicsCSE167: Computer GraphicsInstructor: Steve RotenbergUCSD, Fall 2006CSE167 Computer Graphics Instructor: Steve Rotenberg ([email protected]) TAs: Arash Keshmirian ([email protected]) Patrick Shyu ([email protected]) Lecture: HSS 1330 (TTh 6:30-7:50 pm) Section: TBA Office: CS 4112, (TTh 5:00-6:00 pm) Web page: http://graphics.ucsd.edu/courses/cse167_f06/index.htmlPrerequisites Linear algebra Familiarity with: Vectors (dot products, cross products…) Matrices C++ or Java Object oriented programmingReading 3D Computer Graphics: A Mathematical Introduction with OpenGL (Buss) Required pages are listed on the class web pageProgramming Projects NOTE: Details of this may change. Check the web page for updates Project 1: Due Thursday, Oct. 5, 5:00pm Make a program that draws some simple 3D objects Project 2: Due Thursday, Oct. 19, 5:00pm Implement a simple hierarchical object, like a hand. It should include basic lighting as well. Project 3: Due Thursday, Nov. 2, 5:00pm Make a triangulates a curved surface Project 4: Due Thursday, Nov. 30, 5:00pm Make a simple ray tracerGrading 10 Project 1 10 Project 2 10 Project 3 15 Project 4 20 Midterm 25 Final 80 TotalTests Midterm Thursday, Oct 26, 6:30pm-7:50pm HSS 1330 Final Wednesday, Dec 6, 7:00pm – 10:00pm Location: TBDUndergraduate Computer Graphics at UCSD CSE 166: Image Processing CSE 167: Computer Graphics CSE 168: Rendering Algorithms CSE 169: Computer Animation Math 155B: Mathematics for Computer GraphicsCourse Outline1. Introduction2. Vectors & Matrices3. Homogeneous Transforms4. Viewing & Perspective5. Clipping & Scan Conversion6. Models & Hierarchies7. Lighting 18. Texture mapping9. Lighting 210. Antialiasing11. Midterm12. Cubic Curves13. Curved Surfaces14. Scene management15. Light & Color16. Ray tracing17. Global illumination18. Procedural modeling19. Graphics Hardware20. ReviewAngel GamesComputer GraphicsApplications Movie, TV special effects Video games Scientific visualization GIS (Geographic Information Systems) Medical visualization Industrial design Simulation Communication Etc.Image Processing Some computer graphics operations involve manipulating 2D images (bitmaps) Image processing applies directly to the pixel grid and includes operations such as color correction, scaling, blurring, sharpening, etc. Common example include digital photo processing and digital ‘painting’ programs (Adobe Photoshop…)Image Synthesis Image synthesis or image generation refers more to the construction of images from scratch, rather than processing of existing images Synthesis of a 2D image from a 3D scene description is more commonly called renderingPhotoreal Rendering Photoreal rendering refers to rendering a 3D scene in a realistic way Modern photoreal rendering algorithms are essentially a physically based simulation of light propagation and scattering throughout a 3D environment In a sense, this means that there is a ‘correct’ image that should be generated, given an input data set. This allows the subject of photoreal rendering to have a strong theoretical basis (namely, the science of optics) Most modern photoreal rendering algorithms are based on the classic ray tracing algorithm, that traces the path of individual light rays starting from the eye and working backwards to the light sourcesPhororeal RenderingNon-Photoreal Rendering Non-photoreal rendering (NPR) refers to rendering images in other ways… Sometimes, this is done to achieve aesthetic goals such as artificial water colors, pencil sketches, paint brushstrokes… Other times, the goal is to maximize the communication of visual information, as in scientific and medical visualizationNPRComputer Vision Computer vision is sometimes considered as a separate discipline from computer graphics, although they share many things in common A central goal in computer vision is to take a set of 2D images (usually from a video or set of photos) and infer from that a 3D description of what is being viewed This is a very different process than rendering, and is more of a form of artificial intelligenceComputer VisionAnimation An animation is just a sequence of individual images Basically, the subject of computer animation focuses on how things change over time. Usually, this refers to motion, but can also refer to other properties changing over time. Physical simulation is a very powerful tool in computer animation and can be used to generate believable animations of rigid objects, deformable objects, gasses, liquids, fracture, particle effects, and even explosions and fire Computer animation also includes a large number of techniques specifically developed to manipulate virtual charactersPhysics SimulationCharacter AnimationModeling Modeling refers to the techniques involved with creating, scanning, editing, and manipulating 3D geometric data Modeling is often done by a human user with an interactive editing program More complex objects, such as trees, can be constructed with automatic procedural modeling algorithms 3D models are also often acquired from real world objects using laser scanning or computer vision techniques Modeling also includes the use of curved surfaces and other higher order primitives, which are often converted into triangles usingvarious tessellation algorithms Another important area of modeling includes mesh reconstruction for surface simplification Modeling makes heavy use of computational geometryModelingComputer Graphics Rendering Photoreal NPR Animation Physics Character animation Modeling Computational geometry Procedural modeling Data acquisitionHistorical Milestones 1960’s: Early theoretical development, mainly limited to research and military 1962: Sketchpad (Ivan Sutherland) 1970’s: ‘Traditional’ graphics pipeline developed Driven by money from military simulation and automotive design industries 1980’s: Many important core algorithms developed Visual quality improved driven by demands from entertainment (movie) industry 1985: Rendering Equation (James Kajiya) 1990’s: Advanced algorithms developed as graphics theory matured Broader focus on animation, data acquisition, NPR, physics… 1995: Photon Mapping (Henrik
View Full Document