Logged in as: Geoffrey Leach

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

Part B: Course Detail

The following link provides important information on the following topics that relates to all courses:

Important Information

  • Student Feedback at RMIT
  • Student Progress
  • Special Consideration, appeals, and discipline
  • Academic Integrity
  • Student Progress Committee (SPC)
  • Assessment Grades
  • Classification of award

Teaching Period: Sem 2 2009

Course Code: COSC1226

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

School: 140H Comp Sci & Info Technology

Career: Undergraduate

Campus: City Campus

Learning Mode: Face-to-Face

Primary Learning Mode:

The primary learning mode is self-directed learning via project work, although there will be face-to-face learning in both lectures and tutorials. Assessment is 100% assignment work and is the focus of the student learning experience.More details may be found online at the course website

http://www.cs.rmit.edu.au/~gl/teaching/rtr&3dgp/index.xhtml and in the course
newsgroup rmit.cs.RealTimeRenderingAnd3DGamesProgramming.

Credit Points: 12

Teacher Guided Hours: 36 per semester

Learner Directed Hours: 108 per semester

Course Coordinator: Geoff Leach

Course Coordinator Phone: +61 3 9925 3207

Course Coordinator Email:gl@rmit.edu.au


Offering Coordinator: Geoff Leach

Offering Coordinator Phone: +61 3 9925 3207

Offering Coordinator Email:gl@rmit.edu.au

Offering Coordinator Location: 14.11.30


Additional Staff Contact Details

Tutor: Pyar Knowles
pknowles@cs.rmit.edu.au

Pre-requisite Courses and Assumed Knowledge and Capabilities

Interactive 3D Graphics and Animation

Course Description

The course introduces key topics, principles and techniques of real-time rendering and 3D games programming and provides an opportunity for students 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 projects. Most projects are expected to use OpenGL as the primary 3D graphics library, C/C++ as the primary programming language and to run under the Linux operating system.


Objectives/Learning Outcomes/Capability Development:

Capability Development
Development of student graduate attributes is an ongoing process that takes place in all courses and over the period of the whole course. This course particularly develops the following graduate capabilities of problem solving, knowledge acquisition and creativity through study of real-time rendering, spatial data structures, hierarchical modelling formats, physically based modelling, graphics performance and graphics programming.


Learning Outcomes
On completion of the course, you should:
- have a grasp of physically-based modelling;
- be familiar with intersection detection and collision detection techniques;
- understand the purpose of spatial data structures and be familiar with regular grids and BSP trees;
- have examined in detail, and modified, a simple physically based particle system with collision detection and collision dynamics;
- have implemented an application which uses real-time rendering - typically a 3D game, a game engine or a game mod, a visual simulation - or built a tool for real-time rendering or designed and built a game map or virtual world;
- have enhanced their graphics programming skills and knowledge or their game or virtual world modelling skills;
- understand the graphics pipeline and graphics performance, have conducted some graphics benchmarking, and be familiar with techniques for optimising graphics performance;
- be familiar with some stencil buffer techniques, shadow generation in particular;
- be familiar with shaders and the idea of the programmable graphics pipeline.


Overview of Learning Activities

The project work will be the focus of the student learning experience. Syllabus material 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, and to give feedback on your progress and understanding. These include discovery exercises where students will be guided to discovering particular results or effect through running and modifying example programs. Private study will consolidate your understanding of the theory and practice.


Details of Learning Activities

Each week has a 2 hour lecture and a 1 hour tutorial/laboratory scheduled. New material is generally presented in lectures, with further exploration and clarification occuring in tutorials via problems and excercises. Some of the tutorials will include discovery exercises where students will be guided to discovering particular results or effects through running and modifying example programs.

A number of special learning experiences are planned, including guest industry speakers talking about working in the games industry as games programmers, a visit to the RMIT virtual reality centre and a guest talk about graphics rendering using high performance clusters - all subject to availability.

Development of student graduate attributes is an ongoing process that takes place in all courses and over the period of the whole course. This course particularly develops the student in areas of problem solving, knowledge acquisition and creativity through study of real-time rendering, shaders, graphics performance, spatial data structures, physically based modelling, graphics performance and graphics programming.

As stated above, the project work being 100% of assessment is the focus of the student learning activities and experience, typically requiring integration of some of the material from lectures, tutorials and labororatories but also material found by independent research.


Teaching Schedule

Proposed schedule, subject to change

Week 1
Lecture: Course introduction and overview. SDL.
Tutorial: SDL

Week 2
Display lists. Arrays. Structuring data. Vertex arrays. Vertex buffer objects.
Tutorial: Display lists, vertex arrays and vertex buffer objects.

Week 3
Lecture:. Graphics performance and benchmarking.
Tutorial: Benchmarking. Viewperf

Week 4
Lecture: Shaders 1
Tutorial: Shaders. Assignment assistance

Week 5
Lecture: Shaders 2
Tutorial: Shaders

Week 6
Lecture: VR centre visit
Tutorial: Assignment assistance

Week 7
Lecture:  Hierarchical modelling
Tutorial: Hierarchical modelling

Week 8
Lecture: Scene graph libraries
Tutorial: Scene graph libraries

Week 9
Lecture: Games industry guest speakers
Tutorial: Project assistance

Week 10
Lecture: Game physics
Tutorial: Game physics

Week 11
Lecture: Research topics
Tutorial: Project assistance

Week 12
Final assignment demonstrations 

Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through the Learning Hub (also known as online@RMIT) and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).



Learning Resources

Prescribed Texts

Moller, T. and Haines, E (2008), Real-Time Rendering, 3rd Edition, A K Peters


References

- Randi J. Rost, John M. Kessenich, Bartholh Lichtenbelt, Hugh Malan, Mike Weiblen, (2006) OpenGL Shading Language, 2nd edition, Addison Wesley.
- David H. Eberly (2003), Game Physics, Morgan Kaufmann.
- David M. Bourg (2001), Physics for Game Developers, O'Reilly.
- David H. Eberly (2000), 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics, Morgan Kaufmann
- Foley, J. D., van Dam, A., Feiner, S., Hughes, J. and Phillips, R. L. (1994) Introduction to Computer Graphics, Addison Wesley.
- Foley, J. D., van Dam, A., Feiner, S. K., Hughes, J. F. and Phillips, R. L. (1996) Computer Graphics: Principles and Practice, Second Edition in C, Addison Wesley.
-McReynolds, T. and Blythe, D. (2005), Advanced Graphics Programming Using OpenGL, Morgan Wesley.
-Maestri, G. (1996) Digital Character Animation, New Riders.
- O'Rourke, M. (1998), Principles of Three-Dimensional Computer Animation : Modeling, Rendering, and Animating With 3d Computer Graphics, Revised Edition, Norton.
- Parke, I. F. and Waters, K. (1996), Computer Facial Animation, A K Peters Ltd
- Watt, A. and Policarpo, F, (2001) 3D Games Real-time Rendering and Software Technology, Addison Wesley
- Watt, A. and Watt, M. (1992), Advanced Animation and Rendering Techniques: Theory and Practice, Addison Wesley.
- Shreiner, D., Woo, M., Neider, J. and Davis, T., (2006), OpenGL Programming Guide, 5th Edition, Addison Wesley


Other Resources

For extra support with study organisation, assignment planning or learning skills you may wish to contact any of the following:

Learning Skills Unit:
For appointments - ring 9925 4488 or go to Bldg 93, level 3
For drop-in, no appointment needed - go to HUB Bldg 12, level 4

CS&IT Teaching & Learning Advisors:
For appointments go to http://inside.cs.rmit.edu.au/staffbooking/ & click on Jeanette Holkner or Cecily Walker. 


Overview of Assessment

The course’s nature is that of a graphics programming project or software engineering project with 100% assignment work - with the project being the focus of the student learning experience. In the project, students are expected to use some of the material introduced in the lectures, tutorials and laboratories, but also material found by independent research. In general, due to the diverse range of projects students undertake there is a need to work independently.

See Assessment Tasks (part B course guide for this Teaching Period) for assessment details, including deadlines, weightings, and hurdle requirements. For standard assessment information relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci/cgi



Assessment Tasks

Assessment Tasks

Project work 100%

Assignment 1: 33% (due end week 4)
Assignment 2: 33% (due end week 7)
Assignment 3: 33% (due Wed week 12)

1% bonus for completing all assignments.

Assignment deadline dates will be stated on assignments along with other details.
 
Assignments may need to be demonstrated in the Sutherland laboratory.

Assignments must be submitted electronically using turnin, unless otherwise agreed with the lecturer.

For standard assessment information relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci
 

Course Overview: Access Course Overview