2

I'm working in C++ with large voxel grids in a scientific context and I'm trying to decide, which library to use. Only a fraction of the voxel grid holds values - but might be several per voxel (e.g. struct), which are determined by raytracing. I'm not trying to render anything, but I have to determine the potential number of rays passing though the entire target area, thus an awful lot of ray-box computations will have to be caluculated and preferebly very fast...

So far, I found

The latter appeals a bit more, because it seems simpler/easier to use.

My question is: Which of them would be more suited if put to use in tasks, which are not aimed at rendering/visualization? Which one is faster/better when computing a lot of ray-box-intersections (no viewpoint-dependent culling possible)? Suggestions, anyone?

In any case, I want to use an existing C++ library and not write a kdTree/Octree etc. myself. Don't have the time for inventing the wheel anew.

a2sng
  • 253
  • 3
  • 10
  • 1
    Well, I would suggest openVDB, since its documentation is great. There are also many examples how to apply level set methods on the grid using (many existing) stencils. – mojovski Jun 20 '14 at 22:23

1 Answers1

2

I would advise

  1. OpenSceneGraph
  2. Ogre3D
  3. VTK

I have personally used the first two. However, VTK is also a popular alternative. All three of them support voxel based rendering.

ssb
  • 7,422
  • 10
  • 36
  • 61
  • Great, but I explicitly do not want to render anything. Those libraries are far to large to handle just for a nice data structure. – a2sng Feb 28 '13 at 16:58