Further shader decoupling