Module Information
Course Delivery
Delivery Type | Delivery length / details |
---|---|
Lecture | 11 lectures |
Practical | 9 practicals/demo sessions and 1 seminar (paper presentation) |
Assessment
Assessment Type | Assessment length / details | Proportion |
---|---|---|
Semester Assessment | Written assignment | 50% |
Semester Exam | 2 Hours Written Exam | 50% |
Supplementary Assessment | Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value | 50% |
Supplementary Exam | 2 Hours | 50% |
Learning Outcomes
On successful completion of this module students should be able to:
1. Select and deploy appropriate algorithms, programming languages and libraries behind 3D computer graphics.
2. Describe and apply the main concepts behind 3 dimensional graphics software libraries.
3. Demonstrate an awareness of the variety of hardware and software technologies that allow the creation of graphics applications.
4. Use vectors and matrices to perform 3-D transformations, including perspective and lighting transformations.
5. Describe and critique different lighting models and rendering techniques.
6. Describe and critique algorithms for modeling a variety of objects / visual phenomena.
Brief description
This course provides students with an understanding of the theoretical foundations of computer graphics and practical 3D graphics programming skills
Aims
- The underlying mathematics of 3-dimensional graphics modeling and display techniques
- 3-dimensional geometric coordinate transforms
- Lighting models including local and global illumination techniques
- Interactive graphics programming
Content
1. Introduction: Course outline, recommended reading / resources, overview of 3D graphics, overview of WebGL. Practical - Introduction to WebGL.
2. Core mathematics for 3D graphics: Trigonometry, matrix and vector algebra. Basic 3D transformations, matrix representation and homogeneous coordinates. Composite transforms. Clipping and z-buffer hidden surface removal. Practical - transforms in WebGL.
3. Lighting and Shading: Reflection models (ambient, diffuse, specular), light types (directional, point, cone), coloured lights, multiple lights, light attenuation. Practical - lighting in WebGL
4. Texture mapping: Wrapping, sampling, interpolation and anti-aliasing. Problems including perspective distortion, orientation dependence, shared vertices. Practical - texture mapping in WebGL.
5. Buffers in WebGL: render buffer, depth buffer, stencil buffer, frame buffer, usage and setting for each and example algorithms / applications discussed. Practical - using WebGL buffers
6. Color and depth: perception of colour, colour spaces, colour display. Alternative hidden surface removal algorithms for e.g. transparency sorting, Painter's algorithm, BSP trees etc. Practical - linked object modeling and animation in WebGL (1).
7. Advanced modeling: modeling/ rendering of difficult objects such as fur, plants, fire including the use of L-systems and particle systems. Practical - linked object modeling and animation in WebGL (2).
8. Ray-tracing: ray-generation, ray-surface intersection, recursive ray tracing. Practical - WebGL particle systems (1)
9. Radiosity: diffuse illumination modeling, form-factor calculation. Practical - WebGL particle systems (2)
10. Photon-mapping: stochastic photon generation / interaction, final gathering, caustic rendering. Practical - class test & feedback
11. Revision lecture.
Module Skills
Skills Type | Skills details |
---|---|
Application of Number | Yes, computer graphics involves a lot of maths (vectors, matrices etc). |
Communication | Communication skills in presenting / preparing presentation slides. Written reports on lab exercises (lab book). |
Improving own Learning and Performance | Class test designed as way of highlighting the students own learning / deficiencies in knowledge. |
Information Technology | All work is IT related (web, graphics etc). Also use of powerpoint or similar and word processing for reports. |
Personal Development and Career planning | Practical exercises can be used as the basis for a portfolio of graphics programming work. |
Problem solving | Solving problems in development of algorithms and code structure for graphics |
Research skills | Reading around subject, proper citations etc. in practical reports. |
Subject Specific Skills | Graphics programming using WebGL. |
Reading List
Essential ReadingF.S.Hill (2001) Computer Graphics using Open GL Prentice Hall Primo search P.Cooley (2001) The Essence of Computer Graphics Pearson Education Ltd. Primo search Consult For Futher Information
A. Watt (1989) Fundamentals of Three-Dimensional Computer Graphics Addison-Wesley Primo search J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes, and R. L. Phillips (1993) Introduction to Computer Graphics Addison-Wesley Primo search
Notes
This module is at CQFW Level 6