The GLSL preprocessor macros for working with the gpgpu state and maps.

Each set of different macros will result in new shader compilations - for optimal performance, the fewest macros possible should be created, one per each given set of inputs, ideally; caches here can be used for efficiency.

Redo examples, especially macroTaps and macroPass.

Ensure the output_N in macroOutput can work with WebGL2; look at using layout(location=attach_N) out data_N, not gl_FragData[attach_N].

References

Renames and re-exports macroPass