3 ms·
The modern APIs can be quite challenging, on the contrary. Binding models, synchronization and barriers can be quite tricky. I group my conceptual knowledge of
by Jasper_ 5y ago
The modern APIs can be quite challenging, on the contrary. Binding models, synchronization and barriers can be quite tricky. I group my conceptual knowledge of a render runtime into four main parts:
1. Graphics Systems. These are the platform APIs and how to use them.
2. Frame graph. The different passes in your frame and the purpose of each, and how they flow together, and how the code around this is organized.
3. Object layer. How draw calls are batched, sorted and submitted. This is the glue that determines which models end up in which passes.
4. Material layer. This includes shaders, resource binding, and more of the tech art side of things.
There's a lot to be done beyond the API world, but there's also a lot to be done on the CPU side and not just the shader side.