Department of Computer Science and Software Engineering

CITS3003 Graphics & Animation 2020 — Home

Unit Coordinator & Lecturer

Dr. Naveed Akhtar


Lab Facilitators

Asim Jalwana

Muhammad Ibrahim


Consultation Time

Fridays, 4:00-5:00pm.

Where: Room 1.12 in CSSE
Please make an appointment on email if you need to see me in person.



  • [24 Feb'20] Welcome to CITS3003
  • [20 Mar'20] Going online from 23.03.20.
  • [20 Mar'20] No graded mid-term test. Please refer to the changes made for online teaching on unit home page.
  • [07 Apr'20] Project released. Submission deadline 22.05.20.

Assessment weightage has been updated due to the online teaching mode shift (23.03.20). Please see the bottom of the page on further updates related to online teaching mode.

Recorded lectures are on LMS. Everything else is here. Use help3003 for discussions.


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: 00% (Week 06. Un-graded, no submission required)
  • Programming project: 40% (Due week 11)
  • End of semester exam: 60% (Mode of exam will be announced when confirmed)

Recommended Text

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
Interactive Computer Graphics : A Top-Down Approach with Shader-Based OpenGL by Edward Angel and Dave Shreiner, Sixth Edition, 2012, Addison-Wesley. ISBN: 0132545233.

Note: the 7th edition has been released but it uses WebGL and JavaScript instead of OpenGL and C++. WebGL is not included in the curriculum. You can use WebGL for the project but with special permission, and you will need to adapt the project materials yourself.

Website 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 example 4.

Moving to online teaching

Following UWA's decision to move all non-essential face-to-face teaching to an online format, we are making changes to the presentation and assessment of CITS3003. In preparation for participating in online lab sessions, you may have to download the Zoom virtual meeting software for your desktop or laptop computer, or your mobile device. Please continue to use our help3003 forum for official announcements, questions, answers, and discussion. Following are major updates for this unit:


There are no lectures in the lecture theater. You can directly access lecture recordings via LMS. The recordings are made available on LMS as per their original schedule and lecture breakdown. You are also reminded that we have mini-lecture series available on the unit website. You can access all those lectures at any time.


Labs are being setup remotely. We are using Zoom for lab sessions. You can join the online lab sessions where lab facilitators will be able to help you. The online lab sessions follow the original lab session schedule for the unit. You can also access PCs available in UWA computer labs via Azure labs.


The mid-term test will no longer be a graded assessment. The mid-term test was made available to the students via the unit website in week 6, followed by its solution on a later day in the same week. This test and its solution were made available for self-assessment only.

Consultation time

Consultation hour is also being arranged via Zoom. It follows the original schedule on Fridays.


The project has been released. You can find details of the project here

Mid-semester non-teaching period

The non-teaching period is observed from 06.04.20 to 17.04.20

You are requested to keep an eye out for updates on the help forum. The major announcements will also reach you via emails through LMS.

Going global with online teaching

One of the aims of online teaching for this unit is that students are not restricted geographically. Provided you have access to LMS, you should be able to access all contents of the units around the globe. Note that all the software required for the unit is free open source. You will also be able to submit you project solution online. You will also be able to access online sessions from anywhere. Azure labs will also allow you to access computational resources of UWA.

Assuming the possibility of online end-term exam (to be confirmed), all students (including those who were not able to join us in the first few weeks due to travel restrictions) should be able complete all assessments in a timely manner for this unit.

Department of Computer Science and Software Engineering

This Page

Website Feedback: