Currently browsing

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 …

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 …

Ray / Octree traversal: Parametric algorithm implementation

This is my implementation of a Ray/Octree traversal algorithm using an adapted version of the Revelles 2000 paper An efficient parametric algorithm for octree traversal. I’ve made it compliant with IEEE double precision standard. This implementation is minimal and very bare-bones, but should be a good starting point if you want …

Ray / Octree traversal

Since the basic work on my voxel raycaster is finished (Crunching voxels with 3D DDA – generalized Bresenham – in a 3D array), it’s time to start looking at hierarchical structures and the methods of switching between several Levels of Detail, which is the direction my PhD will be heading …

It’s alive!

First rough video of my current Voxel Renderer implementation. It’s nothing too exciting, just showing that the Proof Of Concept actually works in real-time. The flyby is on the edge of the voxel field, since inside it’s just … trippy. This is a 512x512x512 field with 8 bytes per datapoint …

Voxel Renderer: Spheres and Boundaries

During the last days, I’ve been testing just how much my current renderer implementation can take. My implementation was started from scratch, based on raycasting (eg … interpolating distinct values along a line) in a huge data grid. At the moment it is without any optimization for quick free-space skipping, …