Recorded lectures are on LMS.
This unit teaches the fundamentals of computer-generated three-dimensional graphics and animation for applications including creating interactive virtual environments. The unit introduces the virtual image formation process using a synthetic camera model. The OpenGL API is introduced for writing interactive graphics programs. Fundamental techniques are emphasised, such as using the homogeneous coordinate system for affine transformations. The unit then covers lighting and shading models, as well as the use of GLSL programmable shaders. Finally, three-dimensional animation techniques are covered, with an emphasis on realistic modelling of articulated bodies.
The practical component of the unit involves developing an interactive three-dimensional graphics application involving the core concepts covered in the unit.
Students gain technical competence in three-dimensional graphics and are able to apply basic knowledge of graphics systems, graphical techniques and rendering; become familiar with developing graphics applications using the OpenGL Application Programming Interface (API); develop skills in the identification, formulation and solution for creating three-dimensional virtual worlds and interactive manipulation of these virtual worlds. This unit also prepares students for further studies in areas involving graphics and spatial computation including games programming, virtual environments, computer vision and scientific visualisation.
The assessment will consist of the following:
- Mid-semester test: 10% (Week 06)
- Programming project: 40% (Due week 12)
- End of semester exam: 60%
Most lectures will be closely based on the following recommended text. This excludes most of the material in the lectures on animation.
Interactive Computer Graphics : A Top-Down Approach with Shader-Based OpenGL by Edward Angel and Dave Shreiner, Sixth Edition, 2012, Addison-Wesley. ISBN: 0132545233.
C++. WebGL is not included in the curriculum.
with supporting material, examples and header files. NOTE: we'll use
a modified version of the header files and Makefiles to make it easy to compile and execute under Linux and Windows (via MinGW) in our labs.
This site also includes: WebGL versions of the examples that will run in your browser.
E.g., Chapter 2: example 2 and