30
CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang, CSE, OSU

CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang,

Embed Size (px)

Citation preview

CSE 581: Interactive Computer Graphics

Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM

DL 0317Raghu Machiraju

Slides: Courtesy - Prof. Huamin Wang, CSE, OSU

Details

• Instructor: Raghu Machiraju

machiraju dot 1 at osu dot edu• Office hours:

o TR: 10:30 PM – 11:30 PM, DL 779o Make an appointment

• Grader: Some H. Being• Grader’s office hour: TBA

Prerequisites

• 222/230/502/Permission from the instructor

• Fluent in C/C++

• Comfortable with linear algebra (vector and matrix)

• Passion for games, videos, and sleep-deprivation

The Text

Interactive Computer Graphics: A top-Down Approach Using OpenGL

Any edition is OK

Supplemental Materials

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

OpenGL A Primer OpenGL Reference Manual

Grading Labs – 4x10 : 40%

Homework – 3x5: 15%

Midterm – 20%

Final Project/Exam – 25%

Late PolicyAssignment due at 11:59PM on due date

Late submissions penalized:- 0 to 24 hours: late 10% deduction- 24 to 48 hours: late 20% deduction- 48 to 72 hours: late 30% deduction- >72 hours late: NOT accepted!

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)

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)

78 (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

Graphics Pipeline