[ Home Page ] [ NCSU CS Home Page ] [ NCSU Home Page ]

CSC 462: Advanced Computer Graphics Projects
M,W,F 10:40-11:30  1220 EB-II

Instructor Information

Instructor: Christopher G. Healey
Contact: 2266 EB-II, healey@csc.ncsu.edu
Office Hours: 9:30-10:30 M, or by appointment
TA: TBA
TA Contact:  
TA Office Hours:  

Assignments

A discussion of one way to perform 2D line segment intersection is available, for use during Assignment 2 to compute ball direction-tile edge intersection.

Introduction

My goals for you are to:

Recommended Reference Textbooks

  1. Computer Graphics: Principles and Practice in C, J. Foley, A. van Dam, S. Feiner, and J. Hughes, Addison-Wesley Longman, Inc.
  2. Interactive Computer Graphics, A Top-Down Approach with OpenGL (3rd edition), E. Angel, Addison-Wesley, Inc.
  3. Computer Graphics with OpenGL (3rd Edition), D. Hearn and M. P. Baker, Prentice Hall, Inc.
  4. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4 (4th Edition), D. Shreiner, M. Woo, J. Neider, and T. Davis, Addison-Wesley, Inc.

Course Overview

This course offers an a follow-on to CSC 461 (Introduction to Computer Graphics). It provides an opportunity to study more advanced topics in computer graphics, over and above the basic material covered in CSC 461. It is designed for students who want to participate in an in-depth discussion on issues like: curves and surfaces (Bezier, B-spline, Hermite, NURBS), global illumination and light transport (Cook-Torrance and Torrance-Sparrow microfacets, ray tracing, radiosity, particle tracing, Monte Carlo techniques), color theory, texture mapping, scientific visualization, and animation.

Below is a tentative course schedule. Please note that time frames for each topic will be confirmed in class and are subject to possible changes.

  1. Mathematical Foundations (3 weeks)
    • matrix form of 3D transformations
    • orthographic, perspective projection formulas
    • off-axis projections

  2. Shading Models (2 weeks)
    • ambient, diffuse, specular
    • Phong model
    • Cook-Torrance and Torrance-Sparrow microfacets
    • ray tracing
    • radiosity
    • global light transport, particle tracing, Monte Carlo techniques

  3. Color and Texture (3 weeks)
    • device-dependent color models (RGB, HSV, CMYK)
    • visible color spectrum
    • luminous response function
    • device-independent color models (CIE XYZ, CIE LUV, Munsell, OSA uniform color space)
    • perceptual color theory (perceptual balance, linear separation, color categories)
    • texture mapping
    • perceptual properties of texture

  4. Curves and Surfaces (2 weeks)
    • explicit, implicit, parametric representations
    • parametric cubic polynomial curves
    • hermite curves and surfaces
    • bezier curves and surfaces
    • cubic B-spline curves and surfaces
    • non-uniform B-spline curves and surfaces
    • NURBS curves and surfaces

  5. Visualization (3 weeks)
    • introduction to visualization
    • volume visualization
    • terrain visualization
    • flow visualization
    • multidimensional visualization
    • perceptual and nonphotorealistic visualization

  6. Animation (3 weeks)
    • modeling considerations
    • motion capture
    • physically-based models
    • camera planning and animation

Below are the Chapters from "Computer Graphics: Principles and Practice" (white Foley) by Foley, van Dam, Feiner, and Hughes.

Topic
Computer Graphics: Principles and Practice (White book)
Foley, van Dam, Feiner, Hughes
  3D transformation     Ch. 5.1-5.4, Ch. 5.6-5.8
  3D projections   Ch. 6.1-6.4
  visible surface determination   Ch. 15.1-15.7
  ambient, diffuse, specular shading   Ch. 16.1-16.2.4
  Phong model   Ch. 16.2.5-16.2.6
  Cook-Torrance model   Ch. 16.7.1-16.7.4
  ray tracing   Ch. 16.12
  radiosity   Ch. 16.13
  particle tracing   http://www.graphics.cornell.edu/~bjw/detog.html  
  device-dependent colour models   Ch. 13.3
  physical, perceptual properties of colour   Ch. 13.2-13.2.1
  device-independent colour models   Ch. 13.2.2
  mathematics of curves   Ch. 11.2
  Hermite, Bezier   Ch. 11.2.1-11.2.2
  uniform and non-uniform nonrational B-splines     Ch. 11.2.3-11.2.4
  NURBS   Ch. 11.2.5
  mathematics of surfaces   Ch. 11.3
  Hermie, Bezier, B-spline surfaces   Ch. 11.3.1-11.3.4
  nonphotorealistic pen-and-ink sketches   http://grail.cs.washington.edu/pub/abstracts.html#PenAndInk  
  computer-generated watercolor   http://grail.cs.washington.edu/pub/abstracts.html#Watercolor  

Schedule of Reading Assignments

Apart from material in the textbook related to individual lectures, no additional readings will be assigned. Students will be informed in class at the beginning of each week which sections of the textbook will be covered during that week’s lectures.

Homework and Test Schedule

All assignments will be submitted with Wolfware, the university's web-based assignment submission system. The submission system can be accessed via http://courses.ncsu.edu/csc462.

Homework 1: Due midnight Wednesday, January 31; "Minigolf: Rendering"
Homework 2: Due midnight Wednesday, February 21; "Minigolf: Ball Physics"
Homework 3: Due midnight Wednesday, March 14; "Minigolf: User Interface"
Homework 4: Due midnight Wednesday, April 4; "Minigolf: External Objects"

Final Project: Due midnight Monday, April 23

Final Exam: 8:00-11:00 Friday, May 1, 1220 EB-II

Grading

Grades for the course will be made up from four assignments, a term project, and a final exam. You are expected to attend all lectures, read all relevant portions of the text, and read any on-line notes and programs I provide. Missed exams cannot be made up without an official university excuse. Homework should be submitted via Wolfware by 11:59PM on the due date. Late homework will not be accepted under any circumstances.

Final grades will be calculated as follows, using +/- grading:

Homework 1: 10%
Homework 2: 10%
Homework 3: 10%
Homework 4: 10%
Final Exam: 40%
Project Program: 14%
Project Written Report: 3%
Project Oral Report: 3%

All students' term projects will include the program itself (worth 14%), a two-page written report on their project topic (worth 3%), and a five minute in-class oral presentation of their project topic (worth 3%). Students will be offered the option of working in two-person teams. However, this is not a requirement; students can work as individuals on the term project if that's their preference. Two-person teams will be expected to complete more work, and/or work of a higher quality than a single person project.

Students who audit CSC 462 will be marked AU or NR. They will be required to obtain a passing grade (60% or better) on the average of their four homework assignments and the term project material. They will not be required to write the final exam.

Late or Missed Assignments

Missed assignments and exams cannot be made up without an official university excuse. Contact me as soon as possible if you need to discuss reasons for late or missed assignments or exams.

Class Absences

If you miss (or plan to miss) class(es), contact me as soon as possible to identify the material to be covered during your absence. You are expected to "make up" the material by reading the appropriate section(s) in the textbook, and meeting with me as necessary to discuss the material.

Prerequisites

Registered as a computer science (CSC) or electrical or computer engineering (ECE or CPE) major. If you are not a designated major in one of these programs, your registration in CSC 462 will be cancelled. You are also required to have a C or better in CSC 461, and the ability to develop and manage moderately-sized software programs. All instruction will be in C++.

Academic Integrity

The university provides a detailed policy on academic integrity. This policy can be found in the Code of Student Conduct. It is understood that when you sign and submit your homework, term project, and final exam, you are implicitly agreeing to the university honor pledge: "I have neither given nor received unauthorized aid on this test or assignment."

Academic dishonesty (e.g., cheating or plagiarism) will not be tolerated under any circumstances. If you are having difficultly with any part of the course material, please see me or the TA as soon as possible. I will do everything I can to help you with any course-related problems you may be having. If you are found to be guilty of academic dishonesty, however, I will then do everything I can to see that you are punished as forcefully as possible. This may include asking to have you suspended or expelled from the course, the program, and/or the university. At the very least, you will receive -50% for the assignment or exam in question, and your name will be placed on record with the university as having committed an academic offence (multiple offences during your academic career will result in suspension or expulsion from the university). I take absolutely no pleasure in pursuing cases of academic misconduct, and would ask that you please do not put me in this position.

Compliance will be monitored by the MOSS software, which is very good at detecting similarities in programs. MOSS has been used to successfully identify cases of copying or plagiarism in a number of CSC courses, and will be applied to all programming assignments you complete.

Students With Disabilities

All effort will be made to ensure that no students with disabilities are denied any opportunity to successfully complete this course. If you have specific requirements that need to be addressed, please contact me immediately. Possible changes can include (but are not necessarily limited to) rescheduling classes from inaccessible to accessible buildings, or providing access to auxiliary aids such as tape recorders, special lab equipment, or other services such as readers, note takers, or interpreters. This may also include oral or taped tests, readers, scribes, separate testing rooms, or extension of time limits.


Last updated, Wed, Jan 17, 2007, email comments to healey@csc.ncsu.edu.