Module Descriptors
GRAPHICS PROGRAMMING
GDEV70014
Key Facts
Digital, Technology, Innovation and Business
Level 7
20 credits
Contact
Leader: David White
Hours of Study
Scheduled Learning and Teaching Activities: 48
Independent Study Hours: 152
Total Learning Hours: 200
Assessment
  • PRACTICAL ANIMATION SOLUTION weighted at 50%
  • PRACTICAL LIGHTNING SOLUTION AND REPORT weighted at 50%
Module Details
LEARNING OUTCOMES
1. Demonstrate a thorough understanding of advanced graphics programming concepts, including the principles behind animation and in the theory and practice of advanced lighting techniques.

Knowledge and Understanding

2. Apply advanced graphics techniques to construct and integrate a functional rendering pipeline, utilising debugging tools and visualisation methods to effectively diagnose and solve technical challenges.

Application

3. Communicate complex technical ideas clearly and concisely through a well-structured research report.

Communication

4. Reflect on your own learning and development, integrating feedback and insights to continuously improve your approach to advanced graphics programming challenges.

Reflection

ADDITIONAL ASSESSMENT DETAILS
Assessment Component 1 – Practical Animation Solution [Learning outcomes: 1, 2, 4]

This assessment component requires students to develop a practical solution that demonstrates their understanding of advanced graphics programming concepts, with a specific focus on skeletal animation. Students will apply principles such as hierarchical transformations, bone weighting, and GPU-based skinning to produce functional and visually accurate animations.

The practical assessment should showcase the student's ability to construct and integrate a rendering pipeline, utilizing debugging tools and visualization methods to diagnose and resolve technical challenges effectively. A reflective commentary should accompany the practical work, documenting the student's learning process, integration of feedback, and self-assessment of their development. The commentary must highlight strengths, weaknesses, and areas for future improvement.

Assessment Component 2 – Practical Lighting Solution with Report [Learning outcomes: 1, 2, 3, 4]

This component requires students to produce a written report of approximately 2000 words, accompanied by a practical demonstration of advanced lighting techniques. The report should explore key concepts such as physically based rendering (PBR), bidirectional reflectance distribution functions (BRDFs), and modern reflectance models like Phong and Cook-Torrance.

Students must demonstrate the ability to apply these techniques in a rendering pipeline, critically analysing their strengths and limitations in real-time applications. The report should be clearly structured, presenting technical ideas concisely and logically for both technical and non-technical audiences. Additionally, a reflective section should address the student's learning process, including how feedback was utilized to refine their approach and improve their understanding of advanced graphics programming principles.
INDICATIVE CONTENT
This module covers advanced topics in graphics programming, emphasizing animation and lighting techniques while incorporating relevant tools and frameworks. Below is a summary of the key areas:

1. Animation
Students will explore skeletal animation, focusing on hierarchical transformations, skinning techniques, and keyframe animation. The GPU animation pipeline will be a primary focus, with practical implementation of shaders and strategies for debugging and visualizing animation systems.

2. Lighting
The module examines both traditional and modern lighting models, including the Phong reflection model and physically based rendering (PBR) approaches. Topics include the theory and implementation of BRDFs, per-pixel lighting, and the use of normal maps. Additionally, an overview of global illumination concepts such as ambient occlusion and screen space reflections will be provided.

3. Tools and Frameworks
Students will gain hands-on experience with a Graphics API, learning to work with 3D asset formats and using debugging tools such as PIX and RenderDoc to analyse and optimize graphics pipelines.

4. Research and Development in Graphics
The module introduces students to current trends in real-time rendering, highlighting industry case studies and academic research. Students will critically evaluate techniques used in modern engines and engage with recent advancements in graphics programming.

5. Transferable Skills and Professional Development
In addition to technical skills, the module focuses on developing students' abilities in technical communication, independent learning, and problem-solving in complex scenarios. Emphasis is placed on critically assessing design and implementation choices within a professional context.
WEB DESCRIPTOR
Discover advanced graphics programming as you explore animation and lighting techniques, including skeletal animation and modern reflectance models. You'll gain hands-on experience with graphical APIs, debug tools, and real-time rendering while developing transferable skills for careers in gaming and research.
LEARNING STRATEGIES
Students will be expected to engage in a variety of learning strategies, including tutor-led formal presentations and theory lectures, workshops and self-directed learning.
TEXTS
Akenine-Möller, T. and Haines, E. (2018) Real-Time Rendering. CRC Press.

Shirley, P. (2009) Fundamentals of Computer Graphics. CRC Press.

Pharr, M. (2016) Physically Based Rendering: From Theory to Implementation. Morgan-Kaufmann Publishers Inc.

Dunn, F. and Parberry, I. (2002) 3D Math Primer for Graphics and Game Development. Wordware Publishing Inc.

Wolfgang Engel (2017) GPU Pro/GPU Zen Advanced Rendering Techniques. Black Cat Publishing.

Watt, A. (1992) Advanced Animation and Rendering Techniques. Addison-Wesley.

Booth, W.C., Colomb, G.G. and Williams, J.M. (2016) The Craft of Research. 4th edn. Chicago: University of Chicago Press.

Hunt, A. and Thomas, D. (1999) The Pragmatic Programmer: Your Journey to Mastery. Boston: Addison-Wesley.
RESOURCES
Visual Studio

Unreal Engine / Unity / Other Suitable Engine

VLE (Such as Blackboard)

Office Applications (Such as Microsoft Office)

Staffordshire University Library

Internet Access

Digital Academy Forum

Digital Academy Upload
SPECIAL ADMISSIONS REQUIREMENTS
Students must be proficient in C++ programming and graphics programming in OpenGL or DirectX