CIS 581  Interactive Computer Graphics

  Autumn 2006

 

img1

img2

img3

img4

 

General Information

  • Instructor:  Han-Wei Shen   (hwshen at cse dot ohio-state dot edu) 
  • Classroom:  BO 428
  • Meeting Time:  MWF 10:30am - 11:18 am
  • Office Hour:  MW 1:00 – 2:0 pm Dreese Lab 789
  • Course Content:  Introduction to interactive graphics programming: Graphics APIs, display hardware, graphics processing pipeline (transformation, lighting and shading, projection, texture mapping etc), geometric modeling,  and color theories.
  • Prerequisites:  CIS560 or permission of instructor;  (Have good programming skills; know either C or C++; be comfortable with matrix and vector algebra).
  • Grader: Ying Tu  (tu at cse dot ohio-state dot edu )

   Office number:  Bolz Hall (BO) 118;  Desk number: 2

  • Grader Office Hour: 2:30 - 3:30 Monday and 2:30 - 3:30 Wednesday   in Grader’s office
  • Grading:
    • four labs        50%
    • midterm         20%  
    • final               30%
  • Course Newsgroup: cis.course.cis581
  • Syllabus: [word file]
  • Text Book: Interactive Computer Graphics - A Top-Down Approach using OpenGL by Ed Angel, 4th edition, Addison-Wesley

Textbook by Ed Angel         

  • Reference Books:  some nice books that can help you to learn OpenGL

ref1ref2

        OpenGL Programming Guide                                OpenGL Reference Manual 
          (The Red Book)                                                      (The Blue Book)                                  



Course Objectives: 
By the end of this course, you will:

  • Understand the basic concepts of interactive computer graphics
  • Be able to write interactive 2D drawing programs
  • Be able to write interactive 3D graphics rendering programs
  • Be fluent in programming OpenGL

Useful Links:

OpenGL Resouces  OpenGL.orgGLUT for win32, GLUT tutorial
           SGI's OpenGL page , Macintosh's OpenGL
           Nate Robin's OpenGL page 

Graphics Hardware Companies:   nVIDIA , ATI ,  3D Labs 


OpenGL Hints

Install GLUT 3.7 on your PC  (glut32.lib) (glut32.dll)
Microsoft VC/.Net help (provided by Rich Crompton)
A simple OpenGL/GLUT progam

MS .Net framework component 1.1

a few programs to test your OpenGL installation:
cube   hierarchy  robot


Labs and Homework Assignment

Lab1 (word file)  (10pts)  due: 10/19 11:59pm

            A simple point draw program and executable

            A sample lab1 executable (not complete)

Lab2 (word file)  due: 11/3 11:59

            A simple cube drawing program and source code

Lab3 (word file)  due: 11/20 11:59 pm

Lab4 (word file) due: 12/1 11:59pm 

            Hint on reading and conversion of ppm image files


*****  The winners of image competition:  

 1st place – Dan Davis (The Snowman)  2nd place – Aaron Williams (The Bear)

Congratulations!!!

 

Midterm Exam: November 1st (Wednesday) in class

 

581 midterm solution

 

!!!! 581 Make-up midterm for everyone: November 15th (Wednesday) in class

 



Class Notes
( power point files)

Coures overview
Graphics hardware
Introdocution to OpenGL and GLUT  (shape.exe)
2D Drawing  
2D Transformation I
2D Transformation II
Clipping and Rasterization
Color Models
3D Transformation
Hierarchical Transformation
3D Viewing (demo) (data required to run the demo program)
Illumination
Texture Mapping
Visibility

Tentative Class Schedule:

 

 

  Wk

Topics

Reading

       1

Course overview;
Introduction to graphics hardware/software systems 

Chapter 1

       2

Device-independent graphics programming and  OpenGL
Window-based programming and GLUT 
Event-Driven programming ;
OpenGL/GLUT input (mouse, keyboard) processing, double bufferring

Chapter 2, 3

       3

Graphics primitives/attributes and OpenGL
2D Coordinate Systems: world, window, viewport 
2D transformation and viewing 
OpenGL matrix modes and orthographic viewing 

Chapter 4

       4

2D transformation, OpoenGL matrix stacks 
Introduction to 3D Graphics 
3D viewing: coordinate systems, transformation, and projection 

Chapter 4

Chapter 5

       5

OpenGL 3D primitives and attributes
Hierarchical transformation using OpenGL matrix stack 

Chapter 9

       6

3D rendering: clipping, scan conversion and z-buffering
Simple hidden surface removal algorithms 

Chapter 5
Chapter 8.4, 8.5

       7

Illumination (ambient, diffuse, specular) models; Flat and Gouraud Shading
OpenGL Lighting and Material Properties 

Chapter 6

       8

Texture Mapping
OpenGL Blending and Compositing 

Chapter 7.6

       9

Basic geometric modeling: Bezier curve and surfaces using OpenGL\
Color Models 

Chapter 10

     10

Advanced Topics 

 

     11

Final exam

Review alll the materials above

This page is always under construction
Last modified 3/27/2006 by Han-Wei Shen