COMP 3003 / 3603: Visual Computing: Graphics
Slides:
Lecture 1: Introduction
Lecture 2: Physics & Biology
Lecture 3: 2-D Geometry
Lecture 4: Rasterizing Lines and Triangles
Lecture 5: 3-D Geometry
Lecture 6: Geometric Modelling
Lecture 7: Transformations
Lecture 8: Animation
Lecture 9: Homogeneous Coordinates and Perspective Projection
Lecture 10: Rendering & the OpenGL Pipeline
Lecture 11: Colour and I/O Devices
Lecture 12: Lighting
Lecture 13: Textures
Lecture 14: Course Project
Lecture 15: Blending & Compositing
Lecture 16: OpenGL Effects
Lecture 17: Optimization
Lecture 18: Geometric Optimization and Simplification
Lecture 19: Curves and Surfaces
Lecture 20: Image Analysis
Lecture 21: Course Review
Sample Exams:
Sample Exam. Solution
April 2004 Final Exam. Solution
August 2004 Final Exam No solution provided.
Reference Material:
The OpenGL Programming Guide (the Red Book), Version 1.0 (OpenGL 1.0). OpenGL is now up to 2.0 (Red Book 5th edition), but for the purposes of this course, this web version is nearly complete.
The OpenGL Reference Manual (the Blue Book), Version 1.0. Again, the current version of the Blue Book is 2.0, but this web version is good enough. The Blue Book consists principally of the man pages for the various OpenGL functions.
Practicals:
Practicals for this course will be led by John Meade, who will post the practicals at his web page. Please check there for details of each tutorial, and any updates.
Miscellaneous Tools:
Paper templates of the Platonic solids, with vertex coordinates for lab exercises:
Tetrahedron
Cube
Octahedron
Dodecahedron
Icosahedron
Project:
Evaluation of this course will be based principally on a software project and a final exam. Examples of projects from 2004 can be viewed
here.
Installing OpenGL on your home machine:
Students are encouraged to install OpenGL on their home machine, as this reduces dependence on a fixed lab time. Installing OpenGL &/or GLUT is up to the student: difficulties installing & / or running at home will not be taken into account when determining grades.
Information on installation on various platforms is given to help you get started. For further information, or if you are having trouble installing, please talk to the corresponding person.
Windows
If you are running Windows 2000 or later, OpenGL should already be installed, but you will still have to download and install GLUT. Go here for details. Earlier releases of Windows may require separate installation of OpenGL.
For further information, contact John Stafford, one of the demonstrators.
Mac OS
If you are running OS X, then OpenGL and GLUT should already be installed, although versions of OS X prior to 10.2 had some problems with GLUT. You will have to install the Developer Tools if you wish to compile on OS X. These can be found either on one of the installation CD's, or at Apple's Developer web site.
If you are running OS 9, see Apple's instructions.
For further information, contact the lecturer.
Linux
If you are running Linux, there is no official implementation of OpenGL. There is however an open-source workalike library called Mesa 3D. It is nearly 100% compatible, and will certainly be sufficient for this course. Unfortunately, Mesa 3D renders in software, not in hardware, and is quite a lot slower, unless you also install a suitable set of hardware drivers. For nVidia cards, start at nVidia's driver page. For ATI cards, start at ATI's driver page.
For further information, contact John Meade, one of the demonstrators.
Everything Else
For other operating systems, Mesa 3D will probably work, but there may be O/S-specific solutions available.