Course Title: Real-Time Rendering and 3D Games Programming

Part A: Course Overview

Course Title: Real-Time Rendering and 3D Games Programming

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 2 2009,
Sem 2 2010,
Sem 2 2013,
Sem 2 2014,
Sem 2 2015


City Campus


140H Computer Science & Information Technology


Sem 2 2007,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2013,
Sem 2 2014,
Sem 2 2015


City Campus


171H School of Science


Sem 2 2017,
Sem 2 2018

Course Coordinator: Geoff Leach

Course Coordinator Phone: +61 3 9925 3207

Course Coordinator Email:

Course Coordinator Location: City Campus, 14.11.30

Course Coordinator Availability: By appointment.

Pre-requisite Courses and Assumed Knowledge and Capabilities

 Enforced Requisite: COSC1187 Interactive 3D Graphics and Animation

 Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites –;ID=twx09y07zi1c


Course Description

This course introduces key topics, principles and techniques of real-time rendering and 3D games programming and provides an opportunity for you to pursue a games or real-time rendering programming project. The formal lecture series covers material from a range of topics, with students expected to incorporate relevant components into their assignments and projects. Most assignments use OpenGL as the primary 3D graphics library, GLSL as the shading language, C/C++ as the primary programming language and to run under the Linux operating system.

Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course contributes to the following Program Learning Outcomes (PLOs) for BP215 Games and Graphics Programming

  • PLO1: Enabling Knowledge:  You will gain skills as you apply knowledge effectively in diverse contexts.
  • PLO2: Critical Analysis:  You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems.
  • PLO3: Problem Solving: Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.


Course Learning Outcomes

Upon successful completion of this course you should be able to:

  1. describe real-time rendering, the graphics pipeline and factors affecting graphics performance
  2. implement and debug shader programs, for lighting, texturing and other operations and explain shaders and the idea of the programmable graphics pipeline
  3. use benchmarking and other related techniques to analyse and optimise graphics performance
  4. describe and implement intersection detection and collision detection techniques along with spatial data structures
  5. implement simple games using the techniques and technologies studied
  6. analyse and describe how capabilities provided in game engines and SDKs are implemented.


Overview of Learning Activities

The practical work is the central focus of your learning activity and experience. Course material supports your practical work, and will be presented, explained and illustrated with demonstrations and examples in lectures, classes, or online. Completion of tutorial questions and laboratory exercises and projects are designed to give further practice in the application of theory and procedures, analysis and problem-solving, and to give feedback on your progress and understanding. These include discovery exercises in which you will be guided to discover particular results or effects through running and modifying example programs. Private study should consolidate your understanding of the theory and practice.

 A total of 120 hours of study is expected during this course, comprising:

Teacher-directed activities (36 hours): lectures, tutorials and laboratory sessions. Each week there will be 3 hours consisting of 2 hours of lecture and 1 hour of tutorial, although these may be combined into a lectorial. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and by presenting solutions to written exercises. The tutorial / laboratory sessions aim to introduce you to the tools necessary to undertake the assignment work.

Student-directed activities (84 hours): You are expected to be self-directed, studying independently outside class with seven hours of weekly private study recommended.


Overview of Learning Resources

The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at  

Overview of Assessment

Note: This course has no hurdle requirements.

The assessment for this course is practical work, which involves several programming assignments relating to particular topics. For example, use of buffers to improve graphics performance, shaders to implement lighting and texturing, and a simple game using collision detection and dynamics, as well as the analysis, design, implementation and problem-solving aspect as related to real-time rendering and 3D games programming.


Assessment tasks


Project Assignment 1 (33%)

This assessment task supports CLOs 1, 3 & 6

Project Assignment 2 (33%)

This assessment task supports CLOs 2 & 6

Project Assignment 3 (33%)

This assessment task supports CLOs 4, 5 & 6