Currently browsing tag

c++

SVO Dragon

Out of Core SVO Builder: 1.2 release

For future research and publication, I’ve been updating my Out-Of-Core Sparse Voxel Octree Builder (or ooc_svo_builder, if you’re in a hurry) based on our HPG paper. It’s faster, cleaner and more fun! Source, Win64/Linux64 binaries and manual can be found in the github repository. It also builds on OSX. New …

triceratops

Out Of Core SVO Builder: 1.1 release

Since the source code of our Out Of Core SVO Builder pipeline was posted on Github last month, a lot of people have reported bugs and suggested fixes. It’s being actively integrated and used in several interesting projects, of which I hope to write more later. Thanks to all of you, …

ooc_svo_builder_code_release

Out-Of-Core SVO Builder: Source and binaries available

I promised to get my source code for our HPG 2013 paper Out-of-Core Construction of Sparse Voxel Octrees out, so here it is! It’s unimaginatively titled ooc_svo_builder. It’s not always evident and/or easy to release code made in an academic context, but since the paper is pretty clear on algorithm details, we thought …

Add Empty Nodes Time

Out-Of-Core Sparse Voxel Octree Building: Skipping empty space

I’m currently rewriting my Sparse Voxel Octree builder (and the preceding voxelization pipeline) for a paper I’m writing and hoping to submit to the HPG (High Performance Graphics) conference. The goal is to have a total out-of-core pipeline to go from polygon mesh to an annotated SVO. Annotated, as in: …

moctree_order

Out-Of-Core construction of Sparse Voxel Octrees

Update:  I published a paper on this at HPG 2013. It contains updated info and a more detailed look into the problem and solution than this blogpost does. During the development of my Sparse Voxel Octree (SVO) raycaster (see last week’s progress report), I had to find a good way to build …

bunny_comparison

Voxel Raycaster: Progress report

After a few weeks of optimizing and getting a lot of good C++ advice from Ares Lagae, I consider my CPU-based voxel raycaster as done. I now have a good framework to test some more interesting stuff on. It offers real-time performance, even for large voxel grids, and I’ve structured the …

Lebesgue-3d-step2

Octree Data Structures

After some days of tweaking my SVO renderer’s performance, it became clear that I needed a more cache-coherent and space-efficient way of storing/accessing the octree data. I decided to start a seperate C++ project that efficiently converts a .binvox Voxel Grid into a Sparse Voxel Octree. Some discussions with my …

dragonwork

Octrees are your friends

After some painstaking debugging (I guess every programmer can start a post like this), I got my Sparse Voxel Octree-based raycaster working. It’s still all CPU-based, to keep things simple for now. As you can see from the following false color images, the efficient skipping of empty space results in …

work_dragon

Voxel Raycaster: Simply Red

After a short discussion with my promotor Philip Dutré, I rewrote some parts of the basic grid structure to be more compatible with the uninevetable introduction of an octree-based system. No shotgun surgery for me – first I planned it on paper. REAL ACTUAL PAPER. I finished this week by …