Computer Generated Imagery EE2.cgi

HE2. Module – Spring 2009


Lecturers:  Adrian Hilton (a.hilton@surrey.ac.uk)

Introduction

This is an introductory course in computer graphics. The first half of the module will cover fundamental techniques for 3D graphical modelling and image synthesis. Advanced methods for surface representation and animation will be introduced. in the second part of the course. Techniques used for production of computer generated imagery for film and broadcast will also be covered. Course time will be split between 2 hour lectures covering computer graphics theory and 1 hour practical computing laboratories.

The practical component of the course will introduce the implementation of graphics techniques using the industry standard OpenGL language. As a pre-requisite to this module students should have completed a first course in a programming language such as C. The practical component will be assessed via an assignment (to be set in week 5 and submitted in week 10) which will count 30% towards the the final mark.

Syllabus


OpenGL Exercises

OpenGL exercises should be conducted on workstations the labs 32BB03 (duck*,swan*,whale*,penguin*) during the allotted time.  Exercises are based on the GL and GLUT libraries which are installed on the laboratory workstations. These libraries are also available for Windows/Linux machines – see resources below.

Exercise 1 (week 1): Getting Started

Exercise 2 (week 2):  Shape Primitives

Exercise 3 (week 3): Viewing

Exercise 4 (week 4): Appearance

Exercise 5 (week 5): Special Effects


OpenGL Assignment

 

Assignment: Course work assignment

 

 


 

 

 

Resources

Numerous OpenGL reference sources and tutorials are available on the web. Mesa3D is a cross-platform software implementation of OpenGL, you will also find that many operating systems/graphics cards include native OpenGL implementations which use the available hardware. GLUT is a cross-platform toolkit for used through out the exercises.

OpenGL:

OpenGL.org - Everything you wanted to know about OpenGL
OpenGL FAQ - Frequently asked questions on OpenGL
SGI OpenGL - The original OpenGL development site.
Mesa3D - Cross platform OpenGL compliant software library (used for exercises)
GLUTv3 - OpenGL Utility Toolkit (Reference Manual)
FreeGLUT - Open source GLUT implementation with some improvments
GLUI - User Interface Library
Red Book v1.0 - OpenGL Programming Guide  online (online version of first edition)
Red Book v2.0 - OpenGL Programming Guide revised and up to date but not free
OpenGL Reference Pages - Complete documentation of OpenGL comands

 

Background on Computer Graphics:

 

ACM SIGGRAPH - the Mecca of computer graphics (lot's of useful stuff)
web3D.org - 3D graphics on the web/VRML
Blender - public domain animation tool

OSG Open Scene Graph - OpenGL ‘high performance graphics toolkit’ in C++

OpenSG - Portable scenegraph system for real-time graphics using OpenGL

Assignment Tips:

fscanf() - C function to read from text files
GLUT Menus - GLUT Reference - Menu Management

 

Please let me know any further suggestions for useful CG related links and any broken links above.



Adrian Hilton