COMP37111 Advanced Computer Graphics syllabus 2016-2017
OverviewThis course follows on from COMP27112, the 2nd year course "Computer Graphics, and Image Processing", and looks at more advanced topics in Computer Graphics, such as large-scale polygonal modelling techniques, capturing geometry from scanners and cameras, procedural modelling, and sophisticated global and real-time rendering techniques. The course is supported by a 10-week laboratory project in OpenGL.
This Course Unit covers the principles of modern techniques for Computer Graphics modelling and image synthesis, on the assumption that students have already completed the introductory Computer Graphics course (COMP20072). Its principal aim is to introduce students to the ever-expanding repertoire of techniques for defining and rendering images of 3D model data. Particular attention is focussed on the increasing requirements for complex rendering and interaction to occur in real-time.
Introduction and overview (1)
Applications of advanced image synthesis: visualization, animation, games, CAD systems, simulation. The classical graphics pipeline rendering: geometry, tessellation, modelling and viewing transformations, clipping, screen mapping, rasterizing. Global illumination: starting with the image plane, ray tracing. Local versus global illumination.
Model acquisition (2)
Laser scanning; surface fitting; occlusions and hole-filling; acquisition of geometry from photographs and video.
Non-polygonal modelling techniques (2)
Procedural modelling: fractal geometry, modelling with fractals, particle systems, L-systems.
Non-photorealistic rendering (1)
Approaches to rendering that, instead of striving for traditional photorealism, emphasise information content, visualization and understanding. Early work by Gooch & Gooch, and an overview of more recent techniques.
Introduction to global illumination: Ray Tracing (1)
What is GI, why is it important, when and how is it used? Basic ray tracing, primary and secondary rays, shadow feeler rays, reflection and transparency. Recursive algorithm. RT signature. Real-time ray tracing. Monte Carlo ray tracing. Importance sampling, variance reduction methods. Path tracing, bidirectional ray tracing.
Global illumination: Radiosity (1)
Principles: energy exchange between surfaces, implementation approaches, rendering techniques.
Volume rendering (2)
Programmable rendering (1)
The GPU and its architecture. Vertex and pixel shaders.
Real-time rendering (1)
Examples of model complexity, the need for interaction. Culling techniques: back-face, view frustum, portals, occlusion culling. Spatial enumeration, grids, AABBs, HBBs. Level of detail.
11 in total, 1 per week
There will be one lab exercise programming project.
Feedback methodsFace to face feedback and marking in programming laboratories.
- Lectures (11 hours)
- Analytical skills
- Project management
- Problem solving
|Programme outcome||Unit learning outcomes||Assessment|
|A1 A2 A5||Have a knowledge and understanding of the principles of image synthesis, from the construction of application models, to the rendering of images.|
|A1 A2 A5||Have a knowledge and understanding of current models for the interaction of light and materials, and rendering techniques based on these models.|
|A1 A2 A5||Have a knowledge and understanding of applications of interactive computer graphics for scientific visualization, and other areas such as engineering, design, simulation and entertainment.|
|B1||Understand the need for, and the specifics of, techniques for obtaining real-time performance of computer graphics algorithms.|
|A1 A2 A5||Have a knowledge and understanding of some areas of current computer graphics research.|
|OpenGL programming guide: the official guide to learning OpenGL, version 1.2 (3rd edition)||Shreiner, Dave||0201604582||Addison Wesley||1999||✖|
|Interactive computer graphics: a top-down approach using OpenGL (5th edition)||Angel, Edward||9780321549433||Pearson||2008||✖|
|Real-time rendering (3rd edition)||Akenine-Moller, Tomas and Eric Haines and Naty Hoffman||9781568814247||A K Peters||2008||✖|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.