Material system / Shader system

ourmachinery has a 3 parts serie:

  • part 1 Describing the difficulties in designing such systems, and their stated goals. Describe their 2 tier (shader, materials) approach, and the low level implementation of shaders.
  • part2 The shader declaration structure and corresponding JSON front-end (data-driven), and the abstraction it provides for resources and constant bindings. Brief description of the Cpp side of binding.
  • part3 High level aspects, addressing shader variations, runtime selection, as well as providing resources and constants (both context and per instance) with a notion of System. Presentation of the Material concept (maybe too briefly).