You go, Simon. My coronary heart is at all times open for customized engines 🙂 However significantly:
1. use the aircraft regular for fundamental lighting for a easy step ahead.
2. add a shadow map for bonus factors.
3. render out your map with ortho projection from above as top map – no colors, simply depth.
4. Easy that top map.
5. Use the distinction between the smoothed top and the precise geometry top to darken the ambient time period
6. Revenue: easy realtime sky illumination that darkens the world under timber, or in caves, or below a roof.
To start with, massive thanks Schrompf! At all times comfortable to listen to feedback. Im so comfortable you point out the lighting as a result of (as you’ll be able to clearly see) is the half I wrestle essentially the most with the engine.
The factor is, as a result of I primarily have grid of voxels (or 3D Density Subject), I can do Flood Filling primarily based lighting:
-> Skylight begins from topmost air blocks in every column
-> Floods down and outward into caves and interiors
-> Stops at opaque (excessive density) voxels or attenuates with clear blocks
Sky illumination primarily based on smoothed heightmaps does not seize full 3D complexity, particularly for caves and overhangs. Flood-fill handles interiors higher and aligns with the volumetric nature of voxel worlds. It’s quick, low-cost, and works in all areas.
In fact, I am not throwing the concept out the window, every method has it is execs and cons, and I have never tried sky illumination. I feel combining each strategies (flood-fill + smoothed top AO) may give nice visible outcomes later, particularly for floor shading or stylized look.
Total, I am new to customized engines (and to C++), and I am so bored with lighting, I need to deal with elements that I am good at, simply to hurry issues up (I believed I will be finished with in per week).
My concept is to place the sport up on-line early and develop it over time, and gamers can come and take a look at the brand new updates because it drops. I feel it may very well be enjoyable, evolving expertise for everybody 
Thanks once more, I actually do recognize you taking the time to drop recommendations. Discussions like this are a giant a part of what makes constructing a customized engine so rewarding.
What do you concentrate on this course? I shall be comfortable to listen to 