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

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1224

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

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

COSC1224

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 2 2018

COSC1226

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

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

COSC1226

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 2 2017,
Sem 2 2018,
Sem 2 2019

Course Coordinator: Dr Ron Van Schyndel

Course Coordinator Phone: +61 3 9925 9677

Course Coordinator Email: ron.vanschyndel@rmit.edu.au

Course Coordinator Location: 14.11.29

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 – 7.29.1.6: http://www.rmit.edu.au/browse;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.

 

Please note that if you take this course for a bachelor honours program, your overall mark in this course will be one of the course marks that will be used to calculate the weighted average mark (WAM) that will determine your award level. This applies to students who commence enrolment in a bachelor honours program from 1 January 2016 onwards. See the WAM information web page for more information.(http://www1.rmit.edu.au/browse;ID=eyj5c0mo77631)


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: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

  • PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.

  • PLO3: Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design systems employing software development tools, techniques, and emerging technologies.

 


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 http://rmit.libguides.com/compsci  
  


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