MODULE LEARNING OUTCOMES
1. Implement structured 3d environments exploiting the programmable pipeline to render a range of lighting and shading models using an appropriate graphics api via an object-oriented approach.
2. Identify mathematical operations underpinning complex model manipulations used to implement 3d-based rendering models for computer games.
3. Differentiate the performance of rendering algorithms or techniques appropriate for a given set of computer game problems.
4. Explain the limits of fundamental graphics techniques and algorithms for interactive operations in 3d computer games.
MODULE ADDITIONAL ASSESSMENT DETAILS
Assessment Component 1 – (Learning Outcomes 1, 2 and 3)
Real Time 3D Application weighted at 70% and consisting of:
- An appropriate graphics API, demonstrating the implementation of structured 3D environments exploiting the programmable graphics pipeline.
Assessment Component 2 – (Learning Outcomes 2 and 4)
Documentation weighted at 30% and consisting of:
- Appropriate documentation to highlight the technical creation of the application with reference to and appraisal of algorithms implemented.
MODULE INDICATIVE CONTENT
Object-Oriented development in C++
Data structures and memory management to support games development
Programming concepts with embedding of relevant Graphics API (e.g., DirectX) into application
Applications of vector mathematics
Definitions of surfaces, planes and parametric surfaces
Texturing, shading and lighting using programmable pipeline
Shading language structure and syntax
Advanced shading and special effects using shading languages
Mesh construction and rendering from proprietary modelling tools
Scene segmentation and optimisation
Depth models and concepts such as culling and buffering.
Fundamental graphical algorithms such as those for clipping, scan conversion and polygon filling
WEB DESCRIPTOR
This module will introduce you to graphics and real-time 3D rendering application, targeting high level shading and modern graphics API and C++. Considerations of object-oriented principles, extensible code, and rendering architecture as part of a game engine will be explored throughout the module.
MODULE LEARNING STRATEGIES
2 x 1 hour lectures and 2 x 2 hour tutorials per week
MODULE TEXTS
- Luna, F.D. (2012) Introduction to 3D game programming with Directx 11. Dulles, VA: Mercury Learning and Information. ISBN: 978-1936420223
- Lengyel, E. (2016) Foundations of Game Engine Development: Volume 1: Mathematics. Lincoln, CA: Terathon Software LLC. ISBN: 978-0985811747
- Lengyel, E. (2019) Foundations of Game Engine Development - Volume 2: Rendering. Lincoln, CA: Terathon Software LLC. ISBN: 978-0985811754
- Nystrom, R. (2014) Game Programming Patterns. Genever Benning. ISBN: 978-0990582908
MODULE RESOURCES
- Appropriate IDE (Visual Studio, Rider, etc)
- Windows PC
- Office 365
- Version Control (GitHub, Plastic SCM or equivalent)
- Digital Academy Forum
- Digital Academy Upload