graphics pipeline framework for easing maintainability of complex multi-shader graphs.
uses opengl 3.3 for compatibility, platform requirements should be based on what can run fast enough, not from requiring the latest features for every user.
in the future, other backends may be considered.