- gl_HelperInvocation + MSAA is the root cause of the rendering
artifacts.
- Disable the gl_HelperInvocation check using a specialisation constant,
which removes two variants from compilation
- Remove NO_IMAGE_ATOMICS variant, as the macros are not used in
cluster_render.glsl, removing a further two variants.
Some Macs encounter an internal error when compiling cluster_render.glsl
caused by a likely bug in the MVK/Metal
compiler when using gl_HelperInvocation.
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().