School of Electronics and Computer Science:
COMP3004 Principles of Computer Graphics


Basic Information

SchoolDept- Electronics & Computer Science
Known asCOMP3004.
Session and SemesterSemester One, 2011 - 2012
Credit10 Credit Points
Unit LeaderDr John N Carter
TeachersEJ "Ed" Zaluska
ModeratorsDr Enrico Costanza
StudyAssignment 25 hours, Other 17 hours
Assessment50% examination, 50% coursework
Coursework2 minor (Low level Graphics, OpenGL) and 1 major (Virtual World)
TeachingLectures 23, Tutorial 1
Prerequisites and Exclusions

Prerequisites: (COMP1003 - Advanced Programming or COMP1010 - 'C' Programming).

ReferralOn referral, this unit will be assessed 100% by examination.
Syllabus Approved 

Description

Aims

The manipulation and display of geometric information is at the heart of many computer applications and graphical output plays an important part of modern Human - Computer interactions.

The aim of this course is to show how to generate, manipulate and display graphical images.

Learning Outcomes

Knowledge and Understanding

Having successfully completed the module, you will be able to demonstrate knowledge and understanding of:

Computer Graphics Systems, specifically;

  • The fundamental display algorithms for raster graphics systems
  • The mathematical nature of 2- and 3-D environments
  • The properties of surfaces and their simulation

Intellectual Skills

Having successfully completed the module, you will be able to:

  • Design algorithms to raster scan new curves and shapes.
  • Devise the complex 3-D transformations and coordinate system changes required to build complex scenes.
  • Manipulate lighting and material properties to produce pleasing visual effects

Better students, with sufficient experience in software engineering, will be able to take the basic algorithms and design their own graphics programing environment.

Practical Skills

Having successfully completed the module, you will be able to:

Program low level algorithms at the pixel level.

Program complex 3-D scenes using a modern computer graphics system, OpenGL

General Transferable (key) Skills

Having successfully completed the module, you will be able to:

Appreciate the complexity and effort involved in producing modern computer games, film and television animation.

Topics Covered

  • A brief introduction to the capabilities of a popular graphics package. Introduction to primitive graphics elements, SDL, Direct X etc.
  • Programming in OpenGL, specifying shapes, geometry, viewing, animation and user interaction.
  • Manipulating pixels, line drawing and Bresenhams' algorithms. Arbitrary curves. Circles, Ellipses and filling areas. Flood Fill for polygon's. Scan converting polygons.
  • Scan converting polygons. Smooth curves and splines, Beizier Curves. Pix Blit and its related techniques.
  • Device coordinates, Viewports and windows. Transformations, translation, rotating scaling and shear. Device independent and device coordinates and graphics pipeline.
  • Clipping including the Cohen-Sutherland algorithms.
  • Introduction to vectors and homogeneous coordinates. Derivations of transformations and matrix representation. Show how transforms combine and how they are put together. Three dimensional transformations, Coordinate systems.
  • Concept of a synthetic camera and the perspective projection. 3-D Clipping and the view volume.
  • 3-D representation. Hidden Line and Hidden Surface removal using Z-Buffers. Introduction to BSP Trees.
  • Real world model for three D lighting. The intensity function. Gouraud and Phong Shading as approximations.
  • Smooth curves and splines. Beizier Curves, C-Splines, Besier Surfaces and Nurbs.
  • Advanced lighting and reflection. Texture mapping, Mip Maps and Bump mapping

Teaching and learning activities

Teaching methods include

Lectures twice a week.

Three coursework assignments:

  1. Low level (pixel) algorithms using SDL
  2. Concentrating on basic technique and OpenGl programming
  3. Gives an opportunity for you to demonstrate flair and imagination, while exercising the skills learnt in the first assignment.

Learning activities include

All students expected, and assumed, to have read the course text

Better students should read around the subject

Working with SDL and OpenGl.

Methods of assessment

Assessment methodNumber% contribution to final mark
Examination [exam]150
Programming asignments [cwork]350

Feedback and student support during module study

Coursework marked and returned with comments before the next assessment, where possible.

Past Examination papers on the WWW

Relationship between the teaching, learning and assessment methods and the planned learning outcomes

The knowledge, understanding and intellectual outcomes will be discussed in lectures.

The coursework will enable you to see many of the techniques discussed in action,and will provide opportunity to explore their strengths and limitations.The 3nd coursework is double marked to remove any subjective bias due to the highly individualistic nature of the submissions.

The exam will test your breath of knowledge and will consist of a large number of short questions, a proportion will be directly relevant to the coursework.

Resources

Core Resources

  • Angel E and Shreiner D, Interactive Computer Graphics: A top-down approach with Shader-based Open GL, 6th Edition, Pearson Education 2011 [Library] [Shops]

Background Resources

  • Foley J D and Van Dam, Computer Graphics: Principles and Practice (2nd Edition) in C , Addison Wesley 1996 [Library] [Shops]
  • Hearn D and Baker M P, Computer Graphics with OpenGL 3rd Edition, Prentice Hall 2003 [Library] [Shops]
  • Foley J D and Van Dam A, Introduction to Computer Graphics, Addison Wesley 1994 [Library] [Shops]
  • Hill F S, Computer Graphics using OPEN GL 2nd Edition, Prentice Hall 2001
  • Bourg D Physics for Games Developers O'Reilly 2001 [Library] [Shops]

Computer requirements

  • Access to modern computer workstations, with high performance graphics cards.

Software requirements

  • C, C++ Compilers and software environments that support the latest versions of SDL, OpenGl and GLUT.

Other resource requirements

  • Network access to course Web site with lecture material, assignment details, software tools and programming examples.

Taught to

COMP3004

Non-existing cohort: "ceMEng3" (Optional)
Pt III BSc Computer Science (Optional)
Non-existing cohort: "csBScAi3" (Optional)
Non-existing cohort: "csBScDs3" (Optional)
Non-existing cohort: "csBScIm3" (Optional)
Computer Science Integrated PhD (Optional)
Pt III MEng Computer Science with Artificial Intelligence (Optional)
Pt III MEng Computer Science (Optional)
Pt III MEng Computer Science with Distributed Systems & Networks (Optional)
Pt III MEng Computer Science with Image and Multimedia Systems (Optional)
Pt III MEng Computer Science with Mobile and Secure Systems (Optional)
Pt III BEng Electronic Engineering (Optional)
Pt III MEng Electronic Engineering (Optional)
Pt III MEng Electronic Engineering with Artificial Intelligence (Optional)
Pt III MEng Electronic Engineering with Computer Systems (Optional)
Pt III MEng Electronic Engineering with Nanotechnology (Optional)
Pt III MEng Electronic Engineering with Optical Communications (Optional)
Pt III MEng Electronic Engineering with Power Systems (Optional)
Pt III MEng Electronic Engineering with Mobile and Secure Systems (Optional)
Pt III MEng Electronic Engineering with Wireless Communications (Optional)
ECS Socrates Students (Optional)
Pt III Units offered to other Faculties (Optional)
Pt III BEng Software Engineering (Optional)
Pt III MEng Software Engineering (Optional)

Students who are not registered on an ECS approved programme may take this module subject to meeting its pre-requisites and the availability of resources. To confirm this, please can you contact the module leader (as listed above) in the first instance. They will then refer you on to the appropriate director of studies for formal approval of your selection.

Change Log

2011-06-29 10:30:29.900 - jnc
2011-06-29 10:28:54.173 - jnc
2011-04-04 18:59:39.290 - Roll script