Voxels
So I have recently begun exploring the realm of volume rendering, looking for an excuse to challenge myself and investigate new territory. I've since moved forward with the development of a rendering framework for producing large resolution scenes (512^3 and higher) of geometry data expressed through voxels.
When researching for this topic, I found myself surprised at the "flavor of the month" characteristic that the voxel seems to have at the moment. It seems everyone, and their brother, is interested in producing what they call a "voxel" based game engine. I imagine this is largely due to the popularity of Minecraft, and the craze that has been brought upon by the cubic structure of that universe.
The Graphics Frontier
Minecraft has certainly done a lot to popularize the concept of a voxel over the past few years, but it falls short in the realm of graphical quality. While no one can disagree that Minecraft wasn't developed with the intention of being a graphical masterpiece, voxel based rendering provides us with optimizations that current polygon implementations do not.
The world of graphics programming is like a fantastic wild west where anything goes, and new shit is brought to the scene on a regular basis. With companies like ID, Crytek, and Epic being leaders in the commercial game engine market, they also end up becoming leaders in the realm of graphics development as well. Technologies such as real time per pixel lighting for volumetric particle effects, mega texturing, and SSAO being pushed by companies such as these, it is also interesting to see them investing their efforts into the realm of voxels as well.
Where To Go From Here
So I've rambled a bit about voxels, and the major players supporting them as well as the abundance of imitators trying to implement "voxel" rendering systems which typically just end up being cubes thrown into the world, but where am I taking this?
I'm extremely interested in the ability to represent a nearly infinite level of detail within geometry, and provide dynamic detail shifts as the game is running. This sort of technology will provide next generation game engines with incredible implementations of dynamic terrain systems, as well as realistically destructible environments, and manageable level of details without the need to generate additional model information, or swap out models at run time.
As I continue to take my project forward, I will be making updates as frequently as I can manage (grad school has me a tad busy), and hopefully making substantial progress towards my goal. Having just finished implementing a system to provide me with randomized data sets, you can expect the next update to feature my first iteration on the ray tracing approach I am taking, and hopefully screen shots.