Where are you getting n^6 from?
A hierarchical level-of-detail scheme (e.g. the one used in Sauerbraten) is still only n^3 in the worst case. If you store one full-resolution copy of your world, and then a copy with 1/2 the resolution, then 1/4 the resolution and so on, you get a geometric series that converted to only a constant-factor overhead.
Re:How Voxels Became ‘The Next Big Thing’
by AstralStorm on Monday May 28, 2018 @03:37AM
(#17171088)
You need a way to anizotrophpic filter the voxels. This means the mipmap should be fully indexable. That is n^3 * m memory for mipmap and n^4 filtering...
Isotopic filtering is easier, just 3*n. However, it will make surfaces look... unreal, as if physics didn't form them, at times.
You cannot wing the quality as easily in 3D though. Continuity is paramount as is some degree of smoothness. Ringing is unacceptable.
Re:How Voxels Became ‘The Next Big Thing’
by acou_nPlusOne_t on Monday May 28, 2018 @01:43AM
(#17170765)
You are right, its been quite a while since i have dealt with the cube-engine.
The Level of detail mechanism just adds a constant to the formula- basically speeding up the n^3 voxel growth as the player explores the world in detail and distance at the same time in the worst case.
Looking at a ants-mandibles-mikro-biota, while observing a planet near the horizon.
Cube: Sauerbraten did go there, and it uses something like oct-trees to store these tesselated, refined voxels.
And that is where the whole concept crawls on the shore to die - the tooling for this to work with all that has been invented before is just- not efficient- to sculpt in voxels, you basically send marching cubes through polygon models.
Personally that was the point where i dropped it- because- when i have polys allready- and dont need the destructable physics (they ruin gameplay &performance anyway most of the time) - then why bother.
Its one of those technical superior solutions which never seem to surpass the legacy solutions (like Rust and C). My assumption is, that one day, the polygon world will just eat the voxel world- having a .toVoxel.ApplyPhysicalModel(Sand).AfterPhysicsRestDo(ToPoly), and thats what will remain.
Very small cubes of dust.