I recently got back to following LearnOpenGL tutorials, I did the first chapters a couple of times in the past.
This time I want to make a proper toy rendering engine for exploring and implementing different rendering features such as: Shadow mapping/volumes, Real-Time Atmospheric Scattering, volume/clouds rendering, compute shaders, voids simulations etc. I even want to add some scripting to control scenes, objects, etc
The thing is that I want to develop a relatively well structured framework to use as a main base to build this stuff and I dont know where to start.
- How can I structure it?
- What stuff should I abstract? How they should interact?
- Is there a standard architecture for rendering engines?
I know that architecture will grow/evolve with every new feature implemented, but:
- what basic stuff should I cover?
- Make a shader class? A material class? An object class that needs a mesh object and a material? How they should relate?
Im very lost here.
Thanks for your time.