|
Module Availability |
Spring Semester
|
|
|
Assessment Pattern |
Assessment Pattern
Unit(s) of Assessment
|
Weighting Towards Module Mark( %)
|
Lab Based Test (individual):
The laboratory assessment will test the practical skills of students covering the main concepts of the module
|
60%
|
Assignment (individual): An individual practical project
|
40%
|
Qualifying Condition(s)
A weighted aggregate mark of 40% is required to pass the module.
|
|
|
|
Module Overview |
Module Overview
This module introduces the theory and practice of 3D graphics programming, using JOGL (Java bindings for OpenGL) as the tool. It explains the principles behind 3D graphics, and shows how to use the various data structures and functions of the OpenGL library to construct and render 3D scenes.
|
|
|
|
Prerequisites/Co-requisites |
COM1017, COM1018, COM2003
|
|
|
|
Module Aims |
Module Aims
This module aims to provide students with the knowledge and experience they need to use 3D graphics in their systems. It uses Java as the primary teaching language, but the techniques learnt are applicable to many other languages.
|
|
|
|
Learning Outcomes |
On successful completion of this module the student should :
1. understand the principles of 3D graphics programming;
2. understand the principles of OpenGL
3. know how to set-up an appropriate OpenGL environment for 3D graphics rendering
4. know how to render 3D shapes using OpenGL
5. know how to control basic rendering options in OpenGL
6. know how to set surface material options and lighting options for rendering of realistic 3D objects using OpenGL |
|
|
Module Content |
- The basic principles of the 3D graphics pipeline
- Geometry processing
- Rendering
- Mathematical foundations of 3D programming
- Vector representation of 3D data
- Matrix transformations and frames of reference
- An introduction to the OpenGL API using JOGL
- OpenGL, GLU and GLUT
- Using JOGL to build OpenGL applications with swing/awt
- The OpenGL state machine – managing state
- OpenGL programming style
- Error handling and debugging OpenGL
- The Model View Matrix and viewport control
- Resizing the viewport
- Changing the viewing location
- Colour and lighting
- Adding colour to an object
- Surface reflectance properties
- Surface normals
- Lights and lighting
- OpenGL buffers
- The framebuffer, depthbuffer and stencil buffer
- Off-screen rendering and full-screen effects
- Principles of animation
- Render updates and double-buffering
- Anti-aliasing and blending functions
- Alpha blending
- Anti aliasing
- Texture mapping
- UV co-ordinates
- Texture mapping
- Mip-mapping
|
|
|
Methods of Teaching/Learning |
Two lectures and two hours of lab session per week comprising 22 lectures and 11 lab
sessions over eleven weeks and one revision lecture.
|
|
|
|
Selected Texts/Journals |
Required: none
Recommended
Reading
(category B):
- Shreiner: OpenGL Programming Guide, 7/e, Addison Wesley (2010)
Other Resources:
See Ulearn module for useful web links.
|
|
|
Last Updated |
updated 03 FEB 2011 jg |
|