300 likes | 460 Views
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. Details. Instructor: Raghu Machiraju machiraju dot 1 at osu dot edu Office hours:
E N D
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
Details • Instructor: • Raghu Machiraju • machiraju dot 1at osu dot edu • Office hours: • TR: 10:30 PM – 11:30 PM, DL 779 • 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 A Primer OpenGL Programming Guide http://glprogramming.com/red/ OpenGL Reference Manual
Grading • Labs – 4x10 : 40% • Homework – 3x5: 15% • Midterm – 20% • Final Project/Exam – 25%
Late Policy • Assignment 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 Electronic games Movies/TV/Commercials Computer-Aided Design (CAD) Visual arts Scientific visualization
Applications Realism Movies/TV/Commercials Real-time techniques Offline techniques Electronic games Speed
Graphics Topics Geometry (How to represent the shape) Rendering (How to generate an image) This course Animation (How to let the shape move)
Objectives Basic understanding of graphics hardware/software technology The ability of using OpenGL to write 2D/3D programs Getting prepared for advanced graphics 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… • Learn the techniques behind it • Don’t need to implement them. Just use them. • An Open-source cross-platform Graphics Library
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 How 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? • Geometry
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 781 (Advanced Real-time Rendering) 681 (Rendering) 682 (Animation) 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