Transcript
Page 1: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

CIS 581 Interactive Computer Graphics

Instructor: Han-Wei Shen ([email protected])

Credit: 4

Class: MWF 2:30 pm – 3:18 pm DL 264

Office hours: TuTr 11 am - 12pm DL 789

Web: http://www.cse.ohio-state.edu/~hwshen/581

Prerequisite: CSE 560 or instructor permission

Page 2: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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

Page 3: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Textbook

•  Interactive Computer Graphics, A Top-Down Approach Using OpenGL by Edward Angel

•  Any edition •  Help you to understand the lectures and prepare for exams • Many C/OpenGL examples •  Very readable

Page 4: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Reference Books

The red book The blue book OpenGL programmer’s OpenGL reference Guide manual

Page 5: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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:

Page 6: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

What is Computer Graphics? •  Computer-generated 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 –  …

Page 7: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Some 3-D 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

Page 8: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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, …)

Page 9: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Some Jargons…

•  Graphics Processors (GPUs) • What is it? • What can it do? • What are the main manufactures? nVIDIA/ATI/… •  What is the technology inside?   32-bit colors, Z/stencil buffer   Shaders   Anti-aliasing   100 million triangles per second

Page 10: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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

Page 11: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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

Page 12: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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 •  …

Page 13: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Lab Examples (cont’d)

Lab3: •  OpenGL illumination

Page 14: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Lab Examples (cont’d)

Lab4: •  OpenGL texture mapping

Page 15: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Graphics Pipeline

Modeling Illumination Viewing Clipping Transformation Transformation

Projection

Display Rasterization

Page 16: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

from M. Woo et al., 1997

Page 17: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

How to specify the 2D/3-D positions of the camera and the scene objects and their various parts, how to project these to 2-D image locations, and how to represent trans-formations of these positions

Page 18: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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.

Page 19: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

How to model light interaction with 3-D surfaces with varying material properties in order to calculate the proper colors perceived by the eye at different image locations

Page 20: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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

Page 21: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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.

Page 22: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

How to efficiently represent the geometry of scene objects, which may be complex, curved, etc. (CSE 784, CSE682)

Brown et al, OSU

Page 23: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

How to render dynamic scenes, as well as how to simulate dynamic phenomena (CSE 682)

Chen et al, OSU

Page 24: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

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)

Handler, OSU

Page 25: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Outline of course •  Geometry •  Rasterization •  Shading •  Hidden surface

elimination •  Texture mapping •  Modeling •  Animation •  Ray tracing •  Global illumination

How to realistically simulate inter-reflections of light between multiple sources and object surfaces (CSE 782)

Gao et al, OSU

Page 26: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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 real-time game engine design.

Parmelee and Ruston, OSU

Page 27: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Graphics Courses

CSE 581 (Au,Wi,Sp) CSE 681 (Au,Wi)

CSE 682 (Wi)

CSE 781 (Wi)

CSE 782 (Au)

CSE 784 (Sp)

Page 28: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

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

Page 29: CIS 581 Interactive Computer Graphics - web.cse.ohio …web.cse.ohio-state.edu/~shen.94/581/Site/Slides_files/overview.pdf · CIS 581 Interactive Computer Graphics ... - Final Exam:

Image Gallery