- Dr Hong Wei (Associate Professor - University of Reading)
- Dr John Hunt (Associated Head of Department - University of the West of England)
|Delivery Type||Delivery length / details|
|Practical||9 x 2 Hour Practicals|
|Lecture||33 x 1 Hour Lectures|
|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 supplementary exam||50%|
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.
This course provides students with an understanding of the theoretical foundations of computer graphics and practical 3D graphics programming skills
- 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
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 lectures + 1 practical).
3. Lighting and Shading: Reflection models (ambient, diffuse, specular), light types (directional, point, cone), coloured lights, multiple lights, light attenuation. Practical - lighting in WebGL ( 2 lectures + 1 practical).
4. Texture mapping: Wrapping, sampling, interpolation and anti-aliasing. Problems including perspective distortion, orientation dependence, shared vertices. Practical - texture mapping in WebGL (2 lectures + 1 practical).
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 (1 lecture + 1 practical).
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) (3 lectures + 1 practical).
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) (3 lectures + 1 practical).
8. Ray-tracing: ray-generation, ray-surface intersection, recursive ray tracing. Practical - WebGL particle systems (1) (2 lectures + 1 practical).
9. Revision lecture (2 lectures).
|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.|
This module is at CQFW Level 6