Shader refactoring