2D Heightmap Simplification For 3D Volume
Uses a 2D atomic texture to keep track of the highest point within the volume, and then uses another compute shader to generate the heightmap accordingly.
This effect breaks down if there are floating masses within the density volume as the heightmap will take their height value, and the overhand/floating mass would not be properly visible in the heightmap.
This "worst" case scenario is shown when dealing with the spikes from the spiky terrain.
Could be extended with 2 separate textures (albedo, normal) and allow a lower heightmap vertex resolution than the actual volume resolution if you were to store all required vertex data within those textures instead of passing it to the vertex shader.
Science & Technology