Floating Voxel Removal - Demo + Code
Added 2024-09-07 09:18:53 +0000 UTCThe code for my previous post about Floating Voxel Checks is now available on the paid VE GitHub repository.
The fvc folder contains the code from my original Computer Science Major Project.
The fvc2024 folder contains the code for the (even faster) algorithm used to detect floating voxels in Sector's Edge, which has:
faster memory operations (unmanaged memory and pointers)
better memory allocation/management
faster removal of voxels
faster cleanup after performing an FVC
I've also included a live demo that you can interact with - open fvc.sln and run the fvc2024 project to start it up. The controls are:
WASD to move
Shift to move faster
Q E Space Ctrl to move up/down
Left click to remove voxels
Right click to add voxels
1 to 9 to set the build/destroy radius
- + to decrease/increase build/destroy radius
O to open a new .vox map - supports Magicavoxel file formats
R to reload the current map (after you've destroyed it to pieces)
When performing a floating voxel check, all the voxels that are visited will be highlighted so you can see the path that it traverses when attempting to find the ground. I'd like to do some multithreaded magic here and slow down the algorithm so you can see it traverse voxels in real time.
Next Steps
I've got a couple weeks off work so I'll be fixing issues with the projects on GitHub, resuming work on the next video, and creating a "product" here on Patreon that has the code for all voxel tech I've worked on:
Indirect rendering
Multithreaded meshing
Floating voxel checks
This code is already available on the $5/month Patreon tier, but I'd like to also list it as a paid product here for those who prefer to not pay a subscription.
Dropbox link for this post's assets