But post fx like bloom or vignette? I'm okay using a stock shader for that, it's not worth spending the time on building one from scratch. :)
This means traditional advice for "the basics of a good game engine" doesn't really apply, because if you're just making a bog standard game engine you're wasting your time and making a crappier version of Unity or Unreal.
https://geometrian.com/programming/tutorials/write-games-not...
- "How do I render things?"
- "How do I integrate sound?"
- "How should I handle events?"
I don't know if anything like THREE exists for OpenGL, though.
The upshot of THREE is its super easy to develop with (alls you need is a browser). The downside is that it slows down very quickly for even simple things.
(I am a security analyst, not an engineer, but I'm transitioning to engineering roles now, so this might change in future, who knows :) )
For a deep dive into all game engine topics I would recommend the Handmade Hero dev streams: https://handmadehero.org
(Note that Handmade is not a useful model for an actual game production, it's more like a platform for investigating cutting-edge engine topics, so you can pick and choose parts to get what you need. It's been going for years and remains mostly a tech demo.)
What's even more wild, is that modern engines include all of this stuff out of the box, you just have to tick a few check boxes to enable them in your game. :) For example, check out these postprocessing filters built into Unity and Unreal - a ton of person-hours went into these:
https://docs.unity3d.com/Manual/PostProcessingOverview.html
https://docs.unrealengine.com/en-us/Engine/Rendering/PostPro...