Interactive Computer Graphicsweb.cse.ohio-state.edu/~wang.3602/courses/cse5542-2013...CSE 581:...

Preview:

Citation preview

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

About the course

• Instructor: Huamin Wang (whmin@cse.ohio‐state.edu)

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

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

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!)

Textbook

Interactive Computer Graphics: A top‐Down Approach Using OpenGL

• Any edition• Understand course content

• Prepare exams• Many examples• Very readable

Supplemental Materials

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

OpenGL A Primer OpenGL Reference Manual

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%)

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…

Applications

Computer‐Aided Design (CAD)

Visual arts

Electronic games Movies/TV/Commercials

Scientific visualization

Applications

Speed

Realism

Movies/TV/Commercials

Electronic games

Real‐time techniquesOffline techniques

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

Objectives

Basic understanding of graphics hardware/software technology

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

Getting prepared for advancedgraphics courses

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?

OpenGL Programming

An Open‐source cross‐platform Graphics Library

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. 

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

Lab Assignment 2

• Learn how to define 3D objects

• Learn how to place objects in 3D worlds

• Learn how to control camera and objects

Lab Assignment 3

• OpenGL illumination

Lab Assignment 4

• Textures

Lab Assignment 5

Be creative!

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? 

Course Outline

• Geometry• Rasterization

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

Course Outline

• Geometry• Rasterization• Shading

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

Course Outline

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

something is occluded?

Course Outline

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

surfaces? (Appearance, bumps, etc…)

Course Outline

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

Course Outline

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

plausible way? 

Advanced Graphics Courses

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

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

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

Recommended