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.

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 12)
  • End of semester exam: 60% (Mode of exam will be announced in near future)

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 will be no lectures in the lecture theater. You will be able to directly access lecture recordings via LMS. The recordings will be 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.


We will setup labs remotely. At this stage, zoom is the preferred platform (you will be informed if there is any change). You will be able to join the online lab sessions where lab facilitators will be able to help you. The online lab sessions will follow the original lab session schedule for the unit. Currently, the computer labs at UWA are operational. If you do not have personal machines, you can still come to the labs. However, the lab facilitators will only be available via zoom (during their scheduled sessions). They will not be present in the labs. Please keep in mind that lab operations may also get affected in the near future. So, setting up a personal machine in the meantime is highly recommended.


The mid-term test will no longer be a graded assessment. A mid-term test will be made available to the students via the unit website in week 6 (tentative), followed by its solution on a later day in the same week. This test will only be for your self-assessment. You do not need to submit the solution. As a consequence of cancelling the mid-term test, the end-term exam weight will get changed to 60%. UWA is currently trying to allow for an online end-term exam. You will be informed about the mode of the final exam as soon as there are any updates. Fortunately, we still have a considerable time for that. Be assured that you will be infomred well in time regarding the final exam, and we will opt for the best possible solution for that.

Consultation time

Consultation hour will also be arranged via zoom. It will follow the original schedule on Fridays. If for some reason, you would like to visit in person during this time, please let me know well in time so that I can ensure my physical presence.


Currently, there are no major changes expected in terms of the project and its submission. I will consult with the lab facilitators in the coming days in this regard. You will be informed in time if there is any change required.

Mid-semester non-teaching period

The non-teaching period, from Friday 10th April until Sunday 19th April, is unchanged.

You are requested to keep an eye out for updates on all units including CITS 3003. We have to make a swift change of teaching mode due to the current global circumstances. This can entail frequent updates of details. Please keep using help3003 for discussions. If you have specific queries, you are welcome to drop me an email. I urge you to keep safe by excercising the safety practices recommended by the relevant authorities.

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.

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.

We will be rolling out more instructions on lab sessions, consultation hour etc. in the coming days. If you find difficulties with those, please discuss it on help3003.

Department of Computer Science and Software Engineering

This Page

Website Feedback: