CSC529/688: Computer Graphics - Fall 2003
Dr. Christian A. Duncan
(305) 284-2254
csc529@mail.cs.miami.edu
Office Hours
Linux Lab Hours (Ungar 426)
TA: Harendra Narayan
Resources
Examples of real-world uses of OpenGL
Actually these are easy to find but if I find something interesting
I'll try to add the article here.
Course Information
Midterm
Date: Thursday, October 23 (definite)
Topics Covered: Chapters 1-5
Final
Take Home Exam
Due Date: December 16 (not an in class exam from 5-7:30)
Topics Covered: Comprehensive
(FYI, to see all Final Exam Schedules for Fall 2003, click
here)
Course Notes
-
Course Syllabus (Lecture 1)
-
Lecture 2 (pdf format)
(Tu, September 2)
(Chapter 1: Introduction to Computer Graphics)
-
Lecture 3 (pdf format)
(Th, September 4)
(Chapter 2: Basic Drawing Routines)
-
Lecture 4 (pdf format - same as Lecture 3)
(Tu, September 9)
(Chapter 2: Basic Drawing Routines)
-
Lecture 5 (pdf format)
(Th, September 11)
(Chapter 3: More Drawings)
-
Lecture 6 (pdf format - same as Lecture 5)
(Tu, September 16)
(Chapter 3: More Drawings)
-
Lecture 7 (pdf format)
(Th, September 18)
(Chapter 4: Vectors)
-
Lecture 8 (pdf format - same as Lecture 7)
(Tu, September 23)
(Chapter 4: Vectors)
-
Lecture 9 (pdf format - same as Lecture 7)
(Th, September 25)
(Chapter 4: Vectors)
-
Lecture 10 (pdf format)
(Tu, September 30)
(Chapter 5: Transformations)
-
Lecture 11 (pdf format - same as Lecture 10)
(Th, October 2)
(Chapter 5: Transformations)
-
Lecture 12 (pdf format)
(Tu, October 7)
(Chapter 5: Transformations)
-
Lecture 13 (pdf format - continuation of Lecture 12)
(Th, October 9)
(Chapter 5: Transformations)
- Transforms
Shows a basic example of transformations and their affect on
the coordinate system.
- Makefile (a very very simple Makefile)
-
Lectures 14-15 (no online notes yet)
(Tu, October 14)
(Th, October 16)
(Chapter 7: Three-Dimensional Viewing)
- LookAtMe
Shows a simple example of a 3D object (orthogonally projected) with
rotation and using the gluLookAt function.
- Makefile (a very very simple Makefile)
- Time Class (just to make animation nicer)
-
Lecture 16
(Tu, October 21)
(Review)
-
Lecture 17
(Th, October 23)
(Midterm)
-
Lectures 18-19 (no online notes yet)
(Tu, October 28)
(Th, October 30)
(Chapter 7: Three-Dimensional Viewing)
-
Lectures 20-23 (no online notes yet)
(Tu, November 4)
(Th, November 6)
(Tu, November 11)
(Th, November 13)
(Chapter 8: Visual Realism)
- light
A very basic light example.
- lightDemo
Shows a pretty broad example of lighting and basic texture mapping.
- Very Tentative Future Course Notes
-
Lecture 24
(Tu, November 18)
(Chapter 9: Fractals)
-
Lecture 25
(Th, November 20)
(Chapter 9: Fractals, 10.4 - Raster display)
-
Lecture 26
(Tu, November 25)
(Buffer Zone - Makeup or Additional Material)
-
(Th, November 27)
THANKSGIVING
-
Lecture 27
(Tu, December 2)
(Buffer Zone - Makeup or Additional Material)
-
Lecture 28
(Th, December 4)
(Final Review)
Programming Assignments
To submit programming assignments use the command:
% submit # files
where # is replaced by the appropriate homework number.
Written Assignments
To submit written assignments (if you so choose) use the command:
% submit W# files
where # is replaced by the appropriate written assignment number.
Big Projects
To submit the "big" projects use the command:
% submit B# files
where # is replaces by the appropriate big project number.
Due Date for All Big Projects: Wednesday, December 3.
README Files
First, a word on README files.
Because these projects are diverse and very flexible in their
creativity, you need to explain in the readme file not
only how to make the project, run the program, enter the data,
but also clarify/justify why your program demonstrates the techniques
required for that assignment.
This justification can be just a simple sentence if that is all the explanation
that is needed.
- B1 (Polygon Clipping)
- B2 (Morphing Basic 3D Objects)
- B3 (Deforming Models)
- B4 (3D Maze)
- B5 (3D Without OpenGL)
- B6 (Procedural Textures: Marble Effect)
- B7 (Shadows)
- B8 (Fractal Mountains)
- BX (Open Topic)
For those wanting to be creative or have a different challenging
problem they would like to do.
Remember, 500-level students have to do one big project.
600-level students must do two big projects.
You can choose among any of the ones assigned.
TA Info
- The Grading Policy page
explains details about grading:
how to grade, whom to grade, where to record the grade, etc.