CSc 830
Advanced Computer Graphics (3D Graphics and Rendering)

(Spring 2006)

Professor : Ilmi Yoon

Lec. session 

TH 2:10 ~ 3:25

Lec. Location:

HH 113

Office Phone

(415) 338 - 2335

Office #:

TH 910

Office Fax

(415) 338-6826

Office Hours:

T TH 
3 :30 - 4:30 pm

Email Address

yoon@cs.sfsu.edu

Teaching Assistant

Jun Murakawa (junmura@gmail.com)

TA Office Hour:

 Th 5:00 - 6:00 @ Sci 251

Mailing Address

Computer Science Department 
San Francisco State University
 
1600 Holloway Avenue
San Francisco, CA 94132

Course Description

The focus of this course is to teach the fundamentals of 3D computer graphics; the process of creating images from 3D models, modeling and animation. Thc course covers transformations, shading, lighting, rasterization, and texturing by building miniOpenGL library and then teaches advanced topics such as subdivision, mesh editing, GPU programming through intensive C++ and OpenGL programming.
 
Course Web page
http://tlaloc.sfsu.edu/~yoon/csc830

Discussion Board

TEXT
OpenGL Programming Guide, OpenGL ARB Addison Wesley

Recommended Readings
Computer Graphics with OpenGL, third edition, Hearn & Baker, RENTICE HALL
Computer Graphics using OpenGL, second edition, F.S. Hill, Jr., PRENTICE HALL
Interactive Computer Graphics A Top-down Approach Using OpenGL, third edition, Edward Angel,
    Addison Wesley
 
 

Schedule of Lecture 

Week

Topic

Description & Course notes

Assignments

Misc.


(starting from 1/31)

Introduction to class and Assign1

Note 1 - Introduction to Computer Graphics

Note 2 - Introduction to OpenGL/Glut


Assign 1 - Build a Display Object, with Gz Library

 


(starting from 2/7)

Gz Library, & OpenGL

Basics of 3D rendering library

The GraphicZ Library Introduction

GZUT
Unix makefile sample


(starting from 2/14)

Graphics Xforms Introduction to Assign 2.

Notation and math for graphics
Note 3 (self study) -
Math

Note 4 - Transformation and CoordSys

Assign 2 - View transform and wireframe rendering
Jun's Skeleton
Supplimentary to Note 4

Assign1 due (2/17 midnight)


(starting from 2/21)

View transform and graphics pipeline

OpenGL examples

 

 


(starting from 2/28)

Introduction to Assign 3. Rasterization

Scan line,
Z buffer
Note 5 - Rasterization

 

Assign 2 due (by 3/3 midnight)


(starting from 3/7)

Rasterization, mesh representation

Note 6 - Shading

Assign 3- Rasterization

  Assign 3- Jun's skeleton


(starting from 3/14)

Shading, Introduction to Assign 4.

Illumination, Material, Lighting

Note 7 - Ray Tracing

Think of Term Project now!!

Term project description

Assign 3 due


(starting from 3/21)

Midterm Review & Midterm Exam

Midterm Review & Midterm Exam

Sample questions 

 

 


starting from 3/28)

Introduction to Assign 5
Textures

Note 8 - Textture

Note 9- Shadow

Screen-Space Interpolation with Perspective Correction

Assign 4- Shading

Assign 5 - Texture

Assign 4 due

10 
(starting from 4/4)

Spring Recess

  Spring Recess

Spring Recess

Term project Proposal Due

11 
(starting from 4/11)

Shadiw AntiAliasing, Modeling, Simplication, Subdivision, Geometry Compression

 Note 10- GPU Programming

Acumulation Buffer example

Assign 5 due

12 
(starting from 4/18)

GPU programming, Advanced Rendering issues for Game Graphics, XBox architecture and rendering technologies

Sample Questsions (updated on 4/14)


Midterm Exam Review

Midterm Exam (4/20)

 

13 
(starting from 4/25)

Game Engine, OpenGL Optimization

Guest speaker: Tom Hsu (Activision, EA), TA- Jun Murakawa

EA Tour (?)

 

14 
(starting from 5/2)

Non-Photorealistic Rendering, Image-Based Rendering
Web 3D, Global Illumination Image Processing, Simulation(Natural Phaenonmenon), Animation, Inverse Kinemetics

[Advance Presentation]

 

 

15 
(starting from 5/9)

Renderman, Virtual and Augmented Reality, Game and GPU applications

[Advance Presentation]

 GLSL Example

 

16 
(starting from 5/16)

Term Project Class Presentation

 

 

Term Project Due

Resources

  • Blender3D
    • User Guide
    • Tutorial of modeling and animation
  • OpenGL

1.      Slides

2.      Source files

3.      Source from the red book

4.      Siggraph

Assignments
Programming assignments (HW 1 ~ 5) are graded on thorough testing, documentation, and style, as well as correctness. As guided in the assisgnment description, documentation for all assignments (HW1~5, presentation, midterm, term project) should be accumulated through HW 1 ~ 5 and should be posted on the web by the due date. You may choose HTML or pdf file format, post at your home page and send the url to csc830 . Documentation is your self documentation of objective, achievement (including resulting images), problems, solutions and remaining error/tasks which will serve record of your work, used for grading and sharing your experience with classmates. Assisnments are individual projects and the term project can be a term project with a large group. We will discuss about the term project during first month.  In the case of team project, grade will be evenly distributted to each team member. Therefore, the task within a team needs to be evenly divided and managed by yourselves.

Late policy. You may turn in a program up to 10 days late for a penalty of 50 points of the available points (5 points each day). So, for example, if you would have gotten a 70/100 and submitted 2 days late, you will get 60/100. For programs due on Friday, Monday will be considered two days late. After the 5 day grace period, a late program receives no credit. Each assignemt is carefully designed to develop fundamental concepts step by step. Missing one projects propagates and causes severe impact on the later ones.

The topic and the time for the advanced topic presentation should be chosen in advance for approaval. Each student should present about 25 minutes of advanced topics that requires full understanding of one siggraph paper or a few chapters from the textbook or other advanced graphics references.

Term project is designed as a whole term project rather than a project that you start after submitting assignment 5. With your own experience and enthusiam, design a term project from the beginning of semester, post ideas on the blackboard to find team mates, and produce a project that you would be proud of for a long time. I am here to help you in developing ideas and finding possible approaches/solutions.

Grading

The following is the relative weight of each part of the course work. At the end of the semester, you will have a score out of 100 percent. This score will be used in a class curve to arrive at a letter grade. The course is intensively based on programming projects and there is no exam.
 

Assign 1~ 5

50%

Advance Topic Presentation

10%

Midterm Exam

15%

Term Project (no final exam)

15%

Fun Activity

EA hosts tours and we may arrange a group tour if many students want.