Interactive 3D Graphics and Animation
opengl image


Interactive 3D Graphics and Animation (aka i3d) is an introductory subject in computer graphics. It takes a "top-down" approach to computer graphics using a widely available 3D graphics library (OpenGL) to introduce the principles and techniques required for developing interactive 3D graphics applications.

The course has an emphasis on graphics programming, with a number (two or three) of assignments which usually build on each other with a final result of an interactive application or simple game. Assessment is weighted so there are three smaller assignments and an exam, all one quarter of assessment each (actually 25% each). No single component is a hurdle.

Intended Audience

COSC1186/1187 is available to second and third year undergraduates who have completed at least one semester of C programming and high school maths. It may also be taken by postgraduate students with equivalent background. Formal prerequisites are stated on the course guide. Whilst C programming may be taken at the same time, i.e. as a corequisite, doing so not recommended.


The subject first ran in second semester, 1995, replacing CS514: Introduction to Computer Graphics. In 1996 it ran in both first and second semester. In 1997 and 1998 it ran in summer, first and second semesters. In 1999 CS541 replaced CS545 - CS541 is a 12 credit point subject whereas CS545 was an eight credit point subject, and ran in summer (HX541) and second semester. In 2000 CS541 ran only in first semester, to allow students wanting to do CS549 Real-Time Animation and 3DGames Programming in second semester. In 2001 CS541 ran in first semester only, and likewise COSC1186/1187 from 2002-2007.

In 2002 due to the Academic Management System (AMS) changeover academic terminology changed. What were "courses" became "programs". What were "subjects" became "courses". Course (was subject) numbers changed. CS541/493 became COSC1186/1187. COSC1186/1187 ran in first semester 2002 only. You may see residual references to CS541/493 around the place.

In 2003 Nigel Stewart, with assistance from Joseph Antony, taught COSC1186/1187.

In 2007 the course was substantially restructured to adopt more of the toolchain approach - where use of some modelling tools is included in conjunction with writing custom OpenGL programs. Assessment was also changed to be primarily practical work, and the previous approach of one larger project was changed to use three smaller assignments.

In 2008 Alex Holkner taught I3D.


COSC1186/1187 uses OpenGL. The primary resource for information about OpenGL is the website.

Facilities and Equipment

The main equipment for the graphics subjects are the machines in the Sutherland laboratory (14.11.38), which have Intel Core i7 CPUs and (mostly) Nvidia Geforce GTX 560 graphics cards, running Linux.

Many moons ago the Sutherland Laboratory was populated with Silicon Graphics workstations. There are a couple of old SGI workstations sitting in the Sutherland Laboratory as museum pieces.

In 2000 the Interactive Information Institute laboratory of O2s were used.


Course Guide

part A and part B.

Blackboard (and nntp newsgroup)

We are using the discussion board inside Blackboard. In the time of the ancients, we used an NNTP newsgroup rmit.cs.Interactive3DGraphicsAndAnimation (RIP).

Lecture and Tutorial Notes

Notes and other materials are available online (via the links below) and are not being printed this year.


In 2016 there is no exam, but a slightly increased assignment instead.

Sample past exams: 2007, 2011. Note that exams vary year to year depending on assignment work and emphasis.


Guides for this course:

OpenGL manuals:


Note: subject to update and change

Week Lecture Tutorial Assessment
1 Introduction. Drawing with OpenGL and GLUT. Graphics Pipeline Draw primitives with OpenGL  
2 Maths. Curve Drawing (Intro to Procedural Modelling). Drawing Curves (Procedural Modelling)  
3 Animation. Projectile Motion Animation/Projectile Motion  
4 Lectorial: assignment 1. Help with debugging. Assignment assistance. Assignment 1 (33%) due 9pm Fri week 4 Mar 24
5 Transformations. Hierarchical modelling. robot-arm-2D.c
Transformations and Hierarchical Modelling
6 Transformations, viewing and interaction.
Interaction, virtual camera and scene viewer.
7 Lighting and Materials. Procedural Modelling Lighting and Materials
8 Texture mapping, sprites and billboarding Texture Mapping. Assignment assistance. Assignment 2 (33%) due 9pm Fri week 8 April 28
9 Collisions Collision Detection, Road/River  
10 Hierarchical modelling. Keyframe animation Animation
11 Blending and Transparency Text Rendering, Particles, Skybox
12 History of Computer Graphics (video). Work on assignment Assignment 3 (33%) due 9pm Fri week 12 May 26

	  XHTML 1.1!