CIS 581 Interactive Computer Graphics


 Randolf Webster
 11 months ago
 Views:
Transcription
1 CIS 581 Interactive Computer Graphics Instructor: HanWei Shen Credit: 4 Class: MWF 2:30 pm 3:18 pm DL 264 Office hours: TuTr 11 am  12pm DL 789 Web: Prerequisite: CSE 560 or instructor permission
2 Instructor Permission? You need to be fluent in C/C++ programming You need to be comfortable with linear algebra (vector and matrix calculations) You need to be enthusiastic about Computer Graphics
3 Textbook Interactive Computer Graphics, A TopDown Approach Using OpenGL by Edward Angel Any edition Help you to understand the lectures and prepare for exams Many C/OpenGL examples Very readable
4 Reference Books The red book OpenGL programmer s Guide The blue book OpenGL reference manual
5 Grading  Four Labs: 50 % 2D and 3D drawing transformation, lighting, texture mapping, etc.  Midterm Exam: 20 %  Final Exam: 30% Grader: TBA Office Hours: Grader Office:
6 What is Computer Graphics? Computergenerated images or sequences of images (i.e., animations, movies) The scientific study of techniques and methods for generating such images Not just photorealism Painterly effects Sketches, toon shading
7 Some 3D Computer Graphics Applications Manufacturing design (CAD) Movies, TV, commercials Animations Special effects mixed with live footage Visual arts Video games Scientific visualization Simulation of natural phenomena
8 What will I learn from this course? A basic understanding of graphics hardware/ software technology Learn how to use OpenGL to write 2D/3D drawing programs Prepare yourself for advanced graphics topics (CSE 781, 681, )
9 Some Jargons Graphics Processors (GPUs) What is it? What can it do? What are the main manufactures? nvidia/ati/ What is the technology inside? 32bit colors, Z/stencil buffer Shaders Antialiasing 100 million triangles per second
10 OpenGL programming An industry standard API This is NOT just a API course You are expect learn the graphics processing pipeline and the theory behind You don t need to implement the algorithms. Instead, use OpenGL
11 Lab Examples Lab1: Learn how to create an OpenGL window (using GLUT) Learn how to draw simple 2D primitives (lines, triangles, polygons etc) Learn how to process mouse input
12 Lab Examples (cont d) Lab2: Learn how to define 3D geometric objects Learn how to position geometric objects in the 3D (virtual) world Learn how to control camera and transform objects
13 Lab3: OpenGL illumination Lab Examples (cont d)
14 Lab4: OpenGL texture mapping Lab Examples (cont d)
15 Graphics Pipeline Modeling Illumination Viewing Clipping Transformation Transformation Projection Display Rasterization
16 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination from M. Woo et al., 1997
17 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination How to specify the 2D/3D positions of the camera and the scene objects and their various parts, how to project these to 2D image locations, and how to represent transformations of these positions
18 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination How to set individual image pixels corresponding to projected geometric objects such as points, lines, polygons, and more complicated shapes.
19 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination How to model light interaction with 3D surfaces with varying material properties in order to calculate the proper colors perceived by the eye at different image locations
20 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination How to efficiently rasterize only the visible parts of scene objects
21 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination How to apply layers of detail to scene objects to show features, simulate bumps and reflections, or other precomputed shading effects.
22 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination Brown et al, OSU How to efficiently represent the geometry of scene objects, which may be complex, curved, etc. (CSE 784, CSE682)
23 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination Chen et al, OSU How to render dynamic scenes, as well as how to simulate dynamic phenomena (CSE 682)
24 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination Handler, OSU How to realistically simulate the movement of rays from light sources through multiple object reflections and refractions on the way to the eye (CSE 681)
25 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination Gao et al, OSU How to realistically simulate interreflections of light between multiple sources and object surfaces (CSE 782)
26 Outline of course Geometry Rasterization Shading Hidden surface elimination Texture mapping Modeling Animation Ray tracing Global illumination CSE 781 will cover these in more detail with a focus on programmable GPU s and realtime game engine design. Parmelee and Ruston, OSU
27 Graphics Courses CSE 581 (Au,Wi,Sp) CSE 681 (Au,Wi) CSE 781 (Wi) CSE 682 (Wi) CSE 784 (Sp) CSE 782 (Au)
28 Where do I do my labs? Your own PC or Graphics PC Lab CL 112D Each PC has the reasonably good graphics card Software: Visual Studio C++6.0, OpenGL/Glut
29 Image Gallery