Ha! That’s what I’m stuck with for Metropolis 1998. I have to use the ancient OpenGL fixed function pipeline (thankfully I discovered an AB extension function in the gl.h file that allows addition fields to be passed to the GPU).
I’m using SFML for the graphics framework which I think is OpenGL 1.x
Game to show what’s possible: https://store.steampowered.com/app/2287430/Metropolis_1998/
https://home.otoy.com/render/octane-render
Other is making use of mesh shaders, which you need a recent graphics card for it, still making its way across the ecosystem.
https://developer.nvidia.com/blog/introduction-turing-mesh-s...
Basically the idea is to throw away yet again the current set of execution pipelines, and have only two kinds of shaders, mesh shaders which are general purpose compute units that can be combined together, and task shaders which have the role to orchestrate the execution of mesh shaders.
So basically you can write graphics algorithms like in the software rendering days, with whatever approach one decides to do, without having to try to fit them into the traditional GPU pipeline, yet running on the graphics card instead of the GPU.
This is how approaches like Nanite came to be as well.
https://dev.epicgames.com/documentation/en-us/unreal-engine/...
[1] https://news.ycombinator.com/item?id=45270981
[2] https://totenarctanz.itch.io/a-scavenging-trip
Really cool news about raylib. I will seriously consider using this.
Any way I can buy you a beer?
It is possible to "pay what you'd like" on itch though :) [1]
The demo up there is in pre-alpha, but I push out a big update every 4-6 months.