Previously, all lighting was calculated on the GPU by simply using the normals of the terrain. Although this was fast, it caused many surfaces to look dull and unvaried. Also, it didn't take into account occlusion of surfaces; if you were underground, it wouldn't be any darker than if you were above ground.
With the new lighting system, this has all changed! Occlusion is taken into account, giving the terrain much more richer tones and making the terrain much more realistic. And the best part -- all this comes at little to no extra performance cost compared to the previous version, thanks to some optimizations!
Take a look!
CPU Lighting Only:
CPU + GPU Lighting:
GPU Lighting Only (current version):
CPU Lighting Only:
CPU + GPU Lighting:
As you can see, there are still some bugs (sudden jump to dark), but those are being worked on. Let us know what you think!
Can't really see any visual difference between your CPU lighting and CPU+GPU lighting.
Indeed. I also wonder why the CPU handles ambient occlusion in this case instead of the GPU, which is what traditionally handles ambient occlusion.
I'm guessing it's not *real* ambient occlusion. Rather, vertices in the corners are simply tinted darker, and the other vertices are not tinted, and the GPU interpolates these colors producing the appearance of ambient occlusion. This is pretty standard in Minecraft-style engines and is generally a LOT faster than real SSAO and can be done on limited platforms (like phones) whereas SSAO can only be done on mid-to-high-end GFX cards.
"Arrrrghh!" Says the GPU!