Currently browsing tag

computer graphics

libmorton

Libmorton: A library for Morton order encoding / decoding

For my graphics research, I ended up having to encode/decode 3D coordinates into Morton order / Z-order a lot.  For a detailed explanation on how I use them and what they are, check this blog post, which sparked an interesting discussion on the implementation details, and turned out to be a popular …

SVO : Levels

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 …

glob

Sparse Voxel Octree Raycasting: December Progress

After a short venture into suggestive contours, I’m back on my voxel raycaster. I’ve been implementing multiple light sources and phong lighting, as well as drasticly improving the way models are loaded – this allows for even bigger voxel sets to be used. Limiting factor is now my voxelizer itself, …

render_david

Rendering bigger voxel sets

Just a quick piccie: thanks to optimizations in my out-of-core octree building algorithm, I can now render  even bigger voxel fields (1024^3), which is about 107 million voxels. Reading in the data is the slowest part, the actual building of the octree is blazingly fast (< 500 ms), since the …

difference_voxelisation3

An accurate method for Voxelizing Polygon Meshes

Transforming a polygon mesh into a 3D grid / voxel data set is still the quickest way to play with some interesting data in any voxel-based application. You can do this interactively on the GPU, using Eisemann/Décoret’s method, described in Single-pass GPU solid voxelization for real-time applications (2008). When it comes to …

tor_wireframes_26seperability

Voxelizing Wireframes

In order to correctly voxelize larger meshes with configurable parameters (shell thickness, seperability parameters, …) I’m now implementing the method described in An Accurate Method for Voxelizing Polygon Meshes, by Jian Huang, Roni Yagel, Vassily Filippov and Yair Kurzion. In the paper, they provide a mathematical basis for voxelizing polygonal meshes, and …

brdf_explorer

Compiling the WDAS BRDF Explorer

After quite a struggle, I managed to compile the Walt Disney Animation Studios BRDF Explorer (released during SIGGRAPH) myself. Only to find out that a binary has been available for 2 days. I’ll post some quick info on it anyway, for those interested in compiling (future versions) themselves. Thanks go …

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 …

View from the EGSR boat on the Seine

Eurographics Symposium on Rendering: Day 2

This is my overview of the second day of the EGSR conference, which took place from 27-29th of June, in Paris, France. For a list of authors, and download links of all papers presented, I refer to Ke-Sen Huang’s excellent page. Another great EGSR overview can be found here. Edit: …