3 ms·
AZDO is not about "single draw per frame" nor "single draw per scene". Its "single draw per timeframe needed for switching state". Difference bing that modern
by przemo_li 12y ago
AZDO is not about "single draw per frame" nor "single draw per scene".
Its "single draw per timeframe needed for switching state".
Difference bing that modern GPUs can "hide" state change behind big enough workload.
Also OpenGL as is right now, allow for explicit GPU/CPU synchronization. Multi threaded content creation (without needing any explicit api for it).
What it lacks are:
* Requirement for caching shaders. (Quality of implementation)
* Requirement for offline shader compilation. (Quality of implementation)
* Intermediate representation (so that mundane task like elimination of dead code happen ahead of time) (Specification)
* Having all that good stuff in core (Specification)
* App devs moving to Core Profile (thats us...)
So OpenGL as is now, is quite close to solving all Your problems. And it do it somehow-less-somehow-more explicit then DX12/Mantle (as those focus on exposing CPU/GPU intensive operations, while OGL "AZDO" go ahead and propose solution to solve GPU/CPU bottlenecks)
- przemo_li 12y agoIn that sense You should add disclaimer at the beginning of this blog post ;), that by "OpenGL" You mean both OpenGL without AZDO extensions and OpenGL ES.