COMP37111 Advanced Computer Graphics syllabus 2018-2019
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||be able to analyse requirements of 3D modelling problems and select appropriate combinations of modelling techniques|
|A1 A2 A5||be able to describe and compare CAD, Generative and Captured approaches to creating 3D models with respect to their fidelity and time/space constraints|
|A1 A2 A5||be able to describe how the rendering equation acts as a mathematical representation of illumination in the real world|
|A1 A2 A5 B1||be able to compare different computational approximations to the rendering equation with respect to their visual fidelity and computational complexity|
|A1 A2 A5||be able to analyse rendering problems to create novel solutions by combining or modifying existing computational approximations|
|Real-time rendering (4th edition)||Akenine-Moller, Tomas et al||9781138627000||A K Peters/CRC Press||2018||✖|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.