Wednesday, October 22, 2008

Stepping into the unknown

So far I have discussed general ideas about what I'm going to be doing. Over the past few weeks however I have been working on a small application that allows the destruction of a quad based on quadtree data structure traversal. This was a simple experiment into realising the concepts behind voxels, and to gain and understanding of how the data/object is being represented through this alternate means to surface modelling. This experiment however is in 2d but can easily be extended into 3D by adaptation of the quadtree data structure into an octree data structure.

To look past this experiment and onto future work I am now reading into various methods of rendering volumetric data, how to use shaders and if possible methods of carrying out calculations for the volumetric data on the GPU to speed things up. These I hope will provide a more realistic look for the volumetric data, rather than the very blocky look than it can provide.

Now onto the actual project worksheets. After having now completed two worksheets that help to outline my project idea I have came up with a suitable starting question.

Using voxel based rendering methods, what are the advantages for creating destroyable and deformable objects over traditional surface based rendering methods?

This question will undoubtedly change shape over the next few weeks but for now its focusing my studies into areas that I definitely want to explore. I do not think that I will end up doing a comparison study but instead look into modelling physical properties of objects. Consider a sponge like object modelled using volumetric data; this could have another 3d data set of ties between the voxels that represents the tension/elasticity between each voxel. With hooks law applied to this it would be simple to create a truly sponge like material. Again imagine a data set that represents structural bonds in a building. This could be used to represent the different bond strengths between bricks and mortar and the actual bricks strength. Underlying this could be another data set that holds the building's structural integrity. This would allow for a realistic destruction of a building so that key structural points could be destroyed and that building would collapse on its own.

So for now I'm going to continue reading up on methods for rendering volumetric data and further refine my research question.

Tuesday, October 7, 2008

Introduction

This is my first stab into the world of voxels so I'm basically giving myself a few weeks to get to grips with ideas behind and there applications.
I first took notice of voxels when i was reading an interview with the legend that is John Carmack. In the article he discussed the future of rendering methods and how everyone is looking to real time raytracing. He went on to suggest that this would be good with using voxels. Voxels? I had to find out more about this unknown subject. After some searching i found out that it is an old technique that was almost abandoned due to hardware limitations of the time. The full interview can be found here:
http://www.pcper.com/article.php?aid=532
The Advantages of voxels are that they can form completely destroyable objects. This is what i really want to look into and work on. Most Likely without using a ray tracing algorithm for rendering but simply using a ray cast to determine what parts of the voxel data structure should actually be rendered.
This is all for now while i go off to work on octree data structures that can be searched and used to form voxels based object. In the mean time enjoy this rather awesome tech demo from the lovely poeple at ATI and AMD of real time ray tracing with voxels on current technology.

And the actual Presentation here: