Semester(s) Offered:
Credits: 4
Course Call Number: GAMES-UT 208
Prerequisite(s): Intermediate Game Development
Taught By: Burgess Voshell

Shader Lab is an introduction to shaders for game designers that are artists first, and technicians second. This course attempts to bridge gaps in necessary knowledge and establish the contextual foundation to allow students to make sense of the disparate sub disciplines necessary to meaningfully express themselves aesthetically in a rendered environment. Ultimately, Shader Lab is a primer for students seeking to create unique and expressive aesthetics for their digital games through manipulation of the rendering process in order to enable the design and implementation of their personal style.

Students will learn the rendering pipelines, real-world material behavior, physical light behavior, the simplified models that attempt to recreate them, and the conceptual and mathematical construction of meshes. Though the course will have students tackle mathematical concepts through application, the course is intended to support students of all ranges of skill levels. Students are expected to have a working knowledge of Unity and C#.

Upon completion of this course, the student will be able to:
1) Understand the rendering process, and specifically the nature of each step so as to be able to create tools to maximize their nature towards aesthetic expression.
2) Design custom shaders for in-game assets and screen space effects.
3) Construct shaders conceptually and notationally.
4) Deconstruct the subcomponents of a model’s mesh, normals, and UVs.
5) Generate models using software, or generatively.
6) Conceptually and notationally describe light behavior.
7) Distinguish between platform agnostic rendering concepts, and engine-specific implementations of those concepts.