Another update to the engine, I wrote a really basic ocean shader that bobs the water plane up and down and moves it around slightly. The voxels are now lit by per-pixel lighting, although it needs a lot of work. I also found a way to reject vertices in the vertex shader depending on occlusion which massively increases the FPS. I can normally get around 100+ FPS for roughly 1.5million voxels being drawn at once.
This shit is really impressive man. Glad to see you're still continuing development on this; I didn't see any new update threads on GD or videos so I assumed you dropped it.
Might I ask, exactly how are the mountainous regions rendered? I assume you have an algorithm that procedurally generates them, but I'm wondering what you do to get that organic contour.
IPlayInBeastMode 4 months ago
@IPlayInBeastMode Each chunk is a 16x16x128 block of voxels that is given a heightmap at build-time. The heights are generated by 3 different variations of Perlin noise (1 for the flowing hills, 1 for the high/medium sized hills, and 1 for the detail). Then when it comes to the voxels, any voxels that are above the heightmap are flagged as being "in air" and aren't built. All the voxels then store their information in one huge vertex/index buffer in it's parent chunk.
Chod888 4 months ago