
2
VII
Semantic-Based Shader
Generation Using Shader Shaker
Michael Delva, Julien Hamaide,
and Ramses Ladlani
2.1 Introduction
Maintaining shaders in a production environment is hard, as programmers have
to manage an always increasing number of rendering techniques and features,
making the amount of shader permutations grow exponentially. As an example,
allowing six basic features, such as vertex skinning, normal mapping, multitex-
turing, lighting, and color multiplying, already requires 64 shader permutations.
Supporting multiple platforms (e.g., HLSL, GLSL) does not help either. Keep-
ing track of the changes made for a platform and manually applying