why are shaders impossible to understand