Shader theory