refactoring texture shader stuff