28
CSE 581: Interactive Computer Graphics Winter 2012, 4 units Mon Wed Fri 2:30PM 3:18PM Bolz Hall 0317 http://www.cse.ohiostate.edu/~whmin/courses/ cse5812012winter/cse5812012winter.html

Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

CSE 581: Interactive Computer Graphics

Winter 2012, 4 unitsMon Wed Fri 2:30PM ‐ 3:18PM

Bolz Hall 0317

http://www.cse.ohio‐state.edu/~whmin/courses/cse581‐2012‐winter/cse581‐2012‐winter.html

Page 2: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

About the course

• Instructor: Huamin Wang ([email protected]‐state.edu)

• Office hour: Mon Fri 3:30PM – 4:30PM, Dreese labs 583or by appointment

• Grader: TBA• Grader’s office hour: TBA

Page 3: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Prerequisites

• 222/230/502/Permission from the instructor

• Fluent in C/C++

• Comfortable with linear algebra (vector and matrix)

• Love computer graphics (or video games!)

Page 4: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Textbook

Interactive Computer Graphics: A top‐Down Approach Using OpenGL

• Any edition• Understand course content

• Prepare exams• Many examples• Very readable

Page 5: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Supplemental Materials

OpenGL Programming Guidehttp://glprogramming.com/red/

OpenGL A Primer OpenGL Reference Manual

Page 6: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Grading and Late Policy

Jan 4 Mar 15

Lab 1Lab 2

Lab 3Lab 4

Lab 5

9 days (10%)13 days(20%)

Midterm(30%)

Midterm(30%)

Take‐home final(10%)

Page 7: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

What is Computer Graphics?

• Generating images/videos by computers

• The scientific study of how to generate such images

• Not just photorealism:• Painterly effects• Cartoon• Sketch…

Page 8: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Applications

Computer‐Aided Design (CAD)

Visual arts

Electronic games Movies/TV/Commercials

Scientific visualization

Page 9: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Applications

Speed

Realism

Movies/TV/Commercials

Electronic games

Real‐time techniquesOffline techniques

Page 10: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Graphics Topics

Geometry(How to represent the shape)

Rendering(How to generate an image)

Animation(How to let the shape move)

My research

This course

Page 11: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Objectives

Basic understanding of graphics hardware/software technology

The ability of using OpenGL to write 2D/3D programs

Getting prepared for advancedgraphics courses

Page 12: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Examples

• What is a graphics card (GPU)?• What are its functionalities?• What is the graphics pipeline?• What are the algorithms inside it?

• Stencil buffer• Anti‐aliasing• Shaders

• How to use it?

Page 13: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

OpenGL Programming

An Open‐source cross‐platform Graphics Library

Page 14: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Not just about API…

An Open‐source cross‐platform Graphics Library

• Learn the techniques behind it

• Don’t need to implement them. Just use them. 

Page 15: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Lab Assignment 1

• Learn how to create an OpenGL window (using GLUT)

• Learn how to draw simple 2D primitives (lines, triangles, polygons, etc)

• Learn how to handle mouse input

Page 16: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Lab Assignment 2

• Learn how to define 3D objects

• Learn how to place objects in 3D worlds

• Learn how to control camera and objects

Page 17: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Lab Assignment 3

• OpenGL illumination

Page 18: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Lab Assignment 4

• Textures

Page 19: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Lab Assignment 5

Be creative!

Page 20: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• GeometryHow to specify camera configurations?How to place scene objects in 2D/3D?How to transform objects and cameras?How to project 3D objects to 2D? 

Page 21: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization

How to assign projected objects (such as triangles, circles, squares…) to image pixels?

Page 22: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization• Shading

How to model the interaction between the light and objects, based on their different reflection properties?

Page 23: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization• Shading• Occlusion How to make sure something is visible, 

something is occluded?

Page 24: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization• Shading• Occlusion• Texture How to provide details on object 

surfaces? (Appearance, bumps, etc…)

Page 25: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization• Shading• Occlusion• Texture• Modeling How to represent complicated shapes? 

Page 26: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Course Outline

• Geometry• Rasterization• Shading• Occlusion• Texture• Modeling• Animation How to move shapes in a physically 

plausible way? 

Page 27: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Advanced Graphics Courses

681 (Rendering) 682 (Animation) 781 (Advanced Real‐time Rendering)

781 (Advanced Off‐line Rendering) 784 (Geometry)

Page 28: Interactive Computer Graphics - Computer Science and ...web.cse.ohio-state.edu/~wang.3602/courses/cse581... · • Love computer graphics (or video games!) Textbook Interactive Computer

Where to do labs?

• Your own PC• Graphics PC Lab –CL 112D• Each PC has a reasonably good graphics card• Software: Visual Studio, OpenGL/GLUT