all shaders now have a common base and only defines are used to configure them