Samstag, 25. August 2012

Blending two Voxel Scenes

Here a experiment to apply blendshapes to a voxel scene. Its much slower, still runs at interactive framerates (20-30). The video lags as the framecapture@1024x768 took quite a lot of CPU time.

OpenCL Voxel Octree Raycasting

Here the same scene visualized using OpenCL octree raycasting. Eventhough the persistent threads method is not used, its around 20-100% faster than the previous splatting (depending on the scene). The code is ported from my previous CUDA raycaster. Hardware is again the GTX580M.

Each method has its advantages though. While octree raycasting works better for static objects, splatting is better for dynamic scenes.

Freitag, 17. August 2012

OpenCL Voxel Splatting points/s

This time OpenCL is used for rendering the voxels as single points. The gaps between are filled in a post-process. The performance is much better than OpenGL: 2 Billion Points/sec @ GTX580M

Resolution:1024x768 Voxel Field: 20.000 x 20.000 x 1024 Voxels, Framerate: 30-40 Fps, LOD and Frustrum Culling are used. Dataset: 5.4M points  / instance at highest resolution , 6.9M including all levels of detail.

Download : Link1 Link2

Samstag, 21. Juli 2012

Voxel Splatting using OpenGL & Shaders

This screenshot shows a first test of using OpenGL 
and the Geometry Shader as well as LOD to render 
a voxel scene. 

* 4 bytes / voxel 
* ~40 fps for the scene on the left
* LOD support
* Per voxel frustrum culling

Main bottleneck seems to be the triangle setup after the Geometry shader. As for the memory consumption, 
4 bytes / voxel is more than RLE ( 3.5 ) and less than the previous posted octree method ( 6.8 )

Donnerstag, 19. Januar 2012

Procedural Geometry Maps & Tessellation Shaders

In this sample, terrains and objects are created using procedural geometry maps as input for the tessellation shader. For windows in procedural buildings, hole generation is supported. 


• Geometry-Map based Procedural Geometry
• Dynamic Tesselation via Tesselation Shaders
• Procedural Holes / Extrusions


~ 48 FPS @ 1024x768 (no object culling)
~ 140 FPS @ 1024x768 (with object culling)
Used Hardware: Nvidia 560 Ti

   General Scene

   With carved holes        Wireframe