Currently browsing tag

rendering

Voxel Renderer: Parallellism is key

I’ve implemented a stable version of the Amanatides and Woo algorithm for fast traversal of voxel grids and added some optimisations and support for non-square voxels. After reading up on OpenMP, I couldn’t stand having a renderer which ran an inherently parallel algorithm on just one CPU. Every ray shot …

Traversing the grid

I’ve been busy implementing the Fast Voxel Traversal algorithm by Amanatides & Woo (PDF). The base algorithm is pretty straightforward, but getting it to give the correct results for all feasible edge cases I can come up with is hard. I don’t want to stuff the code with more and …

Voxel Renderer: Sparsity

Once the basic stuff was in place, it was fairly easy (half a day’s work) to implement a renderer which supports sparse voxel fields. Next step is opacity. Generating one image at 600×600 with 64x64x64 voxels in place renders at 15 fps, but that’s without any optimization. For example, there’s …

Voxel Renderer: got it right this time

After a bit of experimenting with the boost::round functionality, the solution to the numeric instability problem was (of course) a lot simpler. The current implementation runs at 25 fps for a 600×600 resolution – pure software rendering. If you don’t know anything about volume rendering or voxels, what you can …

Artifacts

Whilst creating some slides on Volume Rendering, I finally found an opportunity to use this graphics-flavored version of a silly internet meme. Original found  in Two uses of Voxels in LittleBigPlanet 2’s Engine from SIGGRAPH 2011, Advances in Real-Time Rendering. PDF here. I guess I did it for the lulz.

Suggestive Contours Code

The little download counter on my super secret world domination dashboard indicates that my thesis code implementations of rendering suggestive contours on 3d meshes has been downloaded over a hundred times. Which tickles my curiosity. If you’re doing anything fun, serious, silly (or can’t get the damn thing to work …

Displaying Shadow Volumes

Today I found a way to render the shadow volumes used in the stencil buffer technique I posted about yesterday in Ogre3D. Sometimes all you need is a ninja and three penguins to get a good insight. These are the shadow maps for one single point light source. Notice how …

Then we will fight in the shade

I’ve spent the day reading up on shadowing techniques for real-time rendering which can be used in the Ogre3D project I’m working on. I was not familiar with the details of the shadow volume method using stencil maps. It’s actually pretty clever, and it’s interesting to read how John Carmack …

Ogre3D ASCII

I’m working my way through Ogre3D at the moment, to freshen up my C++/Visual Studio skills. I got my student copy from DreamSpark : seems that I’m still registered as a student, and thus qualified for free software – Yoink!. Browsing through the samples, I thought this was a nice touch: …