Simple shader interface and base shader