Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The issue with voxels is sparseness - to have any hope of storing a world in the ram we have available it pretty much needs to have some variable length encoding, which makes it extremely difficult to use in a parallel manner as required by hardware.

It's why for display pretty much every modern voxel engine processes the sparse voxel world into a dense surface list - which then maps (reasonably) well to triangles.

I'd argue this difficulty in parallelization is a bigger hurdle than "just" engineering effort.

Much of the way a GPU functions isn't because we decided we loved triangles, but we found things that parallelize well and worked backwards. And then on modern GPUs don't actually devote that much area to dealing with "triangles" - so little is gained that it's often not worth redesigning to remove that capability from data centre "GPUs" that will never see a single triangle in their lives.



>The issue with voxels is sparseness - to have any hope of storing a world in the ram we have available it pretty much needs to have some variable length encoding, which makes it extremely difficult to use in a parallel manner as required by hardware.

Signed Voxel Octrees, and SVO Directed Acyclic Graphs in particular solve this pretty well. Most megavoxel engines are an implementation of this paper: https://graphics.tudelft.nl/Publications-new/2020/CBE20/Modi...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: