Thursday 26 February 2009

Voxels, Dynamic Grids, KD Trees

During the course of developing my raytracer I've investigated various acceleration structures and made comments on them in previous posts.

My primary focus has been ray tracing of dynamic scenes where you would need to re-calculate the acceleration structure for each frame. As a result of this I ruled out KD-Trees (even SAH partitioned ones) early on and concentrated on methods which could be implemented well in parallel.  The voxel method with fixed maximum object counts served me very well in early implementations.  It is very quick to compute in parallel and its memory accesses on traversal are very kind to a CUDA implementation.  However as the number of objects in my scenes have increased, it has caused problems with this fixed max element voxel structure.  It is possible for the number of element to exceed the maximum in the cell thereby resulting in visual artifacts / lost objects.  Increasing the maximum elements per cell slows down the raytracing stage too much even though the objects are no longer lost.  To overcome this limitation I increased the number of cells in the grid.  Again this works, but slows down the raytracing due to the higher number of voxels needing to be traversed. I was using a mesh of slightly overlapping spheres as they are much quicker to run intersection tests against rather than the standard cube approach.

Monday 16 February 2009

My computer is full of Stars!

And galaxies! On thursday my colleague Richard ( pointed me to  Apparently he studied cosmology before completing his Phd in the Semantic Web and still has an interest in it.

So far I've downloaded the small sets of data. The full set is around 100gb of compressed fits images so will take a while on my rather slow BT connection, not to mention exceed my 30gb cap...  I have not looked at the data yet and will need to construct or download a fits viewer.

Thursday 5 February 2009


This morning I woke up to discover even more snow had fallen than there had been on Monday. The weather people claim that this is rather unusual for this part of England.

Here is a picture of Buttercup, my Landrover, on our way to work this morning. The towrope and winch at the ready to help any lesser vehicles.

[caption id="attachment_450" align="alignnone" width="450" caption="On the way to work after heavy snow."]On the way to work after heavy snow.[/caption]


For once I have refrained from running any Gaussian PSF or Edge detector on the poor Buttercup :)

Monday 2 February 2009

CUDA Positions

Apart from the NVidia CUDA employment forum there seems to be a lack of sites where adverts may be placed specific to CUDA development.

I decided to add a page ( for companies to advertise their available permanent or contract roles involving CUDA (or OpenCL) or for individuals and groups to advertise their availability for full time employment or contract work. Development teams specializing in CUDA development are welcome to add their names here too. If you would like your free advert to appear on the page just add a comment or drop me an email. If we get enough I’ll soon update the page to a decent view.