I finally got my own voxel engine started :D thanks for your help so far, one day maybe it will be as good as yours.
You're welcome. Keep up the hard work! I say "hard work" because it has been a struggle to get my voxel engine to where it is at now. I'm still struggling with the compute shader stuff in between working on others parts of the code.
I got mipmaps generating via a compute shader but mipmap regeneration for voxel volume updates (adding or removing voxels) still has a bug.
If you haven't done so already, check out Douglas Dwyer's videos about his voxel engine which is farther along than my voxel engine: https://www.youtube.com/@DouglasDwyer/videos
Wikipedia on Mipmap: https://en.wikipedia.org/wiki/Mipmap
I'm using 3D mipmaps of voxel volumes to improve performance and visual quality of volumes that are farther away as part of the level of detail system in my voxel engine.
This video shows them (color coded for testing) in action:
Exactly!
Stating the obvious: The default graphics settings in game should be set so the LOD isn't noticeable, but one can set LOD to be very aggressive for better performance at the cost of visual quality.
To calculate the LOD level during raymarching, I use the equation logN(t/d) where N is the logarithm of base N (2, 4, 8, up to 128), t is the ray's distances from the camera and d is a divisor (1, 2, 4, up to 32768). d controls how close to the camera the first LOD level is active and N controls the (logarithmic) world distance between LOD levels.
This video shows how the graphics looks (both with and w/o color coding) while adjusting the LOD equation's d parameter (via hot keys). See yellow text status line labeled "lod:". (This video was recorded before I made LODs conform to voxel volume boundaries.)
This was all "over-engineered", but I had fun implementing it for the most part. The "fragment shading rates" graphics settings yields the best performance gains at the least cost of visual quality in my opinion, so the LOD feature is cool to have, but to a lesser extent for performance and more so for visual quality when set non-aggressively -- it reduces shimmering of distant voxel volumes because of the use of 3D mipmaps.