Samstag, 14. November 2009

SVO-Voxel-Raycasting

Here some demos of my new sparse-voxel-octree (SVO) rayster.

Technical details:

-Storage: ca. 100 bit/voxel
-Stack-based
-Uses a variant of persistent threads


Demo download: SVO-Demo-Cuda.2.3.7z

9 Kommentare:

  1. hi there, i tried it out.. but it doesnt seem to start after the console is done doing its thing?

    im on xp with an nvidia 8600 mobile intel core 2 duo 2.4 ghz

    nvidia drivers should be cuda compatible as i run a few other things that require it.

    AntwortenLöschen
  2. Hi, do you have cuda 2.3 installed ? I'm not sure which demo you tried - I uploaded a new one yesterday with separate demos for 8000+ cards and G200+ cards. The difference is that the G200+ cards have more registers, so those executables wont run on 8xxxx cards.

    AntwortenLöschen
  3. Just a general question: would a SVO pathtracer be more efficient than a triangle pathtracer, because of the inherent multiresolution advantage of SVO?

    Sam

    AntwortenLöschen
  4. Thats a good question. The answer depends mostly on what kind of scene you are focussing on. For a common character like model with up to 5M polygons, you will have 60fps even with common rasterization. If you have much more polygons and a static scene, raycasting gets more interesing. The advantage of using voxels is, that the raycaster gets simpler - you dont need additional triangle data. Also is the geometric complexity with voxels a smaller issue than with polyongs. However, voxels of course remain cubes when looked closely; there triangles have an advantage.

    AntwortenLöschen
  5. thanks for your reply spacerat, but I was actually referring to SVO in combination with path tracing, which shoots a whole bunch of incoherent secondary rays around the scene to calculate global illumination. Do you have any ideas about that? Would it be faster to trace secondary rays in a voxel scene (using SVO) compared to a polygon scene?

    Sam

    AntwortenLöschen
  6. Thats a good question - I think thats dependent on the scene. If you're having a low poly-scene and the same scene voxelized, I would guess polygons turn out to be faster, as the tree-hierarchy is more shallow. For very dense and complex triangle meshes, voxels will be superior I guess. But without running experiments its hard to tell.

    AntwortenLöschen
  7. I was thinking the same. I think voxels will make a lot of sense in offline Hollywood-grade CG, when you have to calculate raytraced GI in a massive scene (equivalent of 500 M triangles and more).

    AntwortenLöschen
  8. Well, it just happened that I accidentially figured out that voxels were used in the Avatar movie. The VFX supervisor of ILM was telling about that in an interview.

    AntwortenLöschen
  9. Very nice work!
    Do you know this technology ?
    http://unlimiteddetailtechnology.com/

    AntwortenLöschen