University of Surrey - Guildford
Registry
  
 

  
 
Registry > Provisional Module Catalogue - UNDER CONSTRUCTION & SUBJECT TO CHANGE
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2011/2 Provisional Module Catalogue - UNDER CONSTRUCTION & SUBJECT TO CHANGE
 Module Code: COM2012 Module Title: 3D COMPUTER GRAPHICS
Module Provider: Computing Short Name: CS293
Level: HE2 Module Co-ordinator: KILNER JJ Mr (Elec Eng)
Number of credits: 10 Number of ECTS credits: 5
 
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