COMP9018:Advanced Graphics

COMP9018: Readings

Lecture 1:

If you feel that you're behind on OpenGL stuff, have a look at the OpenGL Programming Guide. If that's too much reading for you, then how about this OpenGL tutorial? Unfortunately, it's for C, so, you may also want to have a look at the Magician Programmer's Guide to learn how to do things under Java. Trying to run Magician at CSE? Then this page is also important.

Mark Kilgard has written an excellent paper on 19 pitfalls to avoid when programming OpenGL. HIGHLY RECOMMENDED. You may not understand all of them yet, but it may save you a lot of grief in future.

Also, interested to see what John Carmack thinks about OpenGL and Direct3D?

Lecture 2:

The COMP3421 text (by Hill) covers a fair bit of the material. You can also look at On NURBS: A Survey by Les Piegl published in CG&A Jan 91. You can find this in library or online online via the library's web server.

Also you can look at the instructions on how to use Design Mentor.

Lecture 3:

Brian Paul, the author of Mesa3D, a free OpenGL implementation has written an excellent article on performance optimization in OpenGL. Also if you wish to prepare for the section on advanced OpenGL programming, there is an excellent tutorial written by some of the big SGI people. You can have a look at the Overview, the Course Notes or the Course Slides. We will NOT be covering all of this material; we will be focusing on the basic techniques; i.e. the accumulation buffer, the stencil buffer, texturing, blending and fog. But it will give you a taste of what to expect. If you're looking for the demos from the course, have a look in ~cs9018/glut-demos/advanced97/ on your nearest CSE machine.

Lecture 5:

Magician has a handy class called trackball that uses quaternions to implement a virtual trackball. Read about it in the Magician tutorial.

I've implemented all the useful quaternion operations in a Quaternion class.

SIGGRAPH paper that shows how to use quaternions to do smooth interpolation of orientations.

SIGGRAPH paper that shows how to use quaternions for camera control.

Lecture 6:

Michael Wagner's tutorial on Advanced Animation Techniques in VRML 97. Covers quaternions and inverse kinematics.

An excellent document that introduces all of the problems and general approaches to inverse kinematics is Chris Welman's master's thesis, which you can find here.

Lecture 7:

There's not much material on light maps generally, but there is some good material on projective texturing and bump mapping. There's an article from nVidia explaining Projective texture mapping, or if you want you can read the original SIGGRAPH paper. On bump mapping, there is an excellent review of bump mapping by Mark Kilgard. It includes more detail than we need, but it's still useful. All of the above are pdf's mirrored locally. All of these topics are also coverred to some extent in the Advanced OpenGL notes above as well.

Lecture 8:

The web page for Computational Geometry in C has links that let you get the source for the algorithms in the book and Java applets that let you try them out.

There is a cool Java applet that lets you see how 2D and 3D convex hulls are implemented. Written by Tim.

Another cool applet lets you interactively modify Voronoi diagrams and Delaunay triangulations.

Lecture 9:

Mark Kilgard has written an excellent article on Stencil Buffers and their application to real-time reflections and shadows using polygonal engines. Very readable.

Lecture 13:

The following SIGGRAPH papers are available to UNSW students through the Library Website to get to the ACM (can't include them here for copyright reasons, and linking to them doesn't work): There is also a good review of Interactive Ray Tracing (PDF format).
Advanced Graphics (COMP9018) Subject Admin Account
Last modified: Mon Sep 19 14:27:13 EST 2005