Currently browsing tag

octree

Out-Of-Core SVO Builder v1.3

Just a quick post to celebrate that I’ve updated ooc_svo_builder, the Sparse Voxel Octree builder I’ve written for my paper in Computer Graphics Forum. The updated version has some bugfixes, and profits from some performance improvements in morton code encoding/decoding from the libmorton project. Also nice to see how at High …

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 …

HPG 2013: Out-Of-Core Construction of SVO’s: Slides available

After giving my talk Out-of-Core Construction of Sparse Voxel Octrees at the High Performance Graphics conference in the Hilton, Anaheim, I’ve placed the slides (PDF) on the project page. I’m working to package some source code and cooking up some usable binaries for other people experimenting with out-of-core SVO construction. Since I’m …

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: …

Sparse Voxel Octree Raycasting: January Progress Report

Hi there, time for some updates on my voxel rendering pipeline! Lot of work behind the scenes last month, and now taking some time to pause and reflect on where the interesting research opportunities are. The lowdown for people just joining in: I’m building a Sparse Voxel Octree raycaster, so …

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 …

Introducing Moctree and Binvox2Moctree

During my PhD work, I’ve ran into a lot of practical issues with constructing and traversing sparse voxel Octrees. I’m introducing a new file format to store them, based on the .binvox file format by Michael Kashdan. The format is called .moctree, which stands for Morton-encoded Octree. It contains the leaf …

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 …

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 …

Volume Rendering : An Overview

I made a presentation which outlines the different methods for Volume Rendering, going into detail about Sparse Voxel Octrees ray casting. It gives a good overview on how to tackle the problem of rendering huge datasets. Keywords: Direct volume rendering, texture mapping, splatting, ray marching, octree, kd-tree, memory management, GPU. …