Run Totti Run - Shad Bradbury

Shader Writing for Stylized Rendering

with Santiago Montesdeoca, PhD


Shader writing, with its inherent ability to leverage the GPU for computations, is a powerful skillset to have for CG artists working in both photorealistic and non-photorealistic (stylized) productions.

This shader writing workshop focuses on stylized redering, as custom shaders are most often required to achieve specific looks—for which there are few out-of-the-box solutions for.

Beginning with a general introduction to different types of shaders, to focusing and writing our own image-processing shaders in GLSL to develop some of the most used filtering operations. Students learn from scratch to create their own effects, and filter color and AOV images to their will.

Finally, students will embark on their own shader writing journey, creating their unique effects and style, which can be applied onto their own interactive experiences, games, animations or VFX productions.

Due to the wide topic and a plethora of resources a google search away, this course will have a practical approach, touching on theory only when necessary.


  • Experience writing code in any language (C++, Python, JavaScript)
  • Familiarity with Autodesk Maya
  • Familiarity with compositing workflows

Course Breakdown

Day 1

Morning Session

  • Introduction to stylized rendering (NPR)
  • Introduction to shaders and their uses
    - Object-space shaders
    - Image-space shaders
    - Compute shaders
  • Shader languages
  • Flair as a shader writing framework
  • Basic Image filtering
    - Color modifications (saturation, contrast, brightness)

Afternoon Session

  • Image filtering
    - Low-pass filtering (blurring)
    - High-pass filtering (sharpening, edge detection)

Day 2

Morning Session

  • Advanced image filtering
    - Color-space transformations and operations
    - Separable filtering
    - Resolution independent filtering

Afternoon Session

  • Segmented filtering
  • AOV filtering
  • Creative uses of filters
  • Style Jam