Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] Re: Re: information about the acceleration structures?


Chronological Thread 
  • From: David E DeMarle < >
  • To:
  • Subject: [Manta] Re: Re: information about the acceleration structures?
  • Date: Fri, 9 Apr 2010 19:35:29 -0400

Awesome, thanks.

David E DeMarle
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x109



On Fri, Apr 9, 2010 at 7:30 PM, Thiago Ize 
< >
 wrote:
> BSP and CellSkipper you probably would never want to use since the BSP has a
> super slow build for relatively minor speed gains and CellSkipper is slow
> and just interesting from an academic view.
>
> RecursiveGrid is a very good choice when the rays are very incoherent and
> single ray traversal is just as good (or better) than packet traversal.
>  This happens with path tracing for instance.  The number of levels to use
> is described in my dissertation, but 3 is usually the right amount.  The
> build is decent, but could be made much faster if someone spent the time to
> optimize it.
>
> KDTree is ok, but the version in manta is not as optimized as it could be,
> so I'd probably use DynBVH over it.
>
> DynBVH is usually a good acceleration structure to use.  The build can be
> made faster by going into cmake and turning
> MANTA_USE_DYNBVH_APPROXIMATE   to  ON
> however that will result in slower traversal performance.  Faster build
> algorithms exist and someone should implement it as well as parallelizing
> the build.
>
> The poor scaling with increasing triangles could be a result of the packet
> size being too big. Trying turning it down to see if it improves
> performance. The exception to this rule is RecursiveGrid which already does
> a single ray traversal so packet size is not an issue.
>
> If possible, I'd recommend flattening the groups so that there is just a
> single group and then building a tree over this since this will give the
> best performance. Otherwise, the type of structures to use would depend on
> how the objects are distributed within a group and how the groups are
> distributed.
>
> Thiago
>
> David E DeMarle wrote:
>>
>> Can anyone tell me about, or point me to descriptions of, the ?five?
>> different acceleration structures (BSP, CellSkipper, RecursiveGrid,
>> KDTree, RecursiveGrid) in Manta?
>>
>> vtkManta uses DynBVH, and it appears to be the fastest so far, but it
>> doesn't seem to scale all that well when the number of triangles
>> increases. I am wondering if one of the others (with well chosen
>> settings) would be a better choice.
>>
>> So far, vtkManta isn't changing the contents of the DynBVH, so the
>> Dynamic nature of it isn't that important (but quick build times are
>> important).
>>
>> We do want to be able to have (groups of) triangles, cylinders and
>> spheres in the acceleration structure so a non-homogenous acceleration
>> structure is preferable.
>>
>> thanks for any pointers,
>>
>> David E DeMarle
>> Kitware, Inc.
>> R&D Engineer
>> 28 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-371-3971 x109
>>
>



Archive powered by MHonArc 2.6.16.

Top of page