Text archives Help
- From: Dirk Reiners <dirk@infiscape.com>
- To: manta@sci.utah.edu
- Subject: Re: [MANTA] Re: Manta Problem
- Date: Fri, 11 May 2007 10:09:59 -0500
Hi Abe,
Abe Stephens wrote:
Manta supports all of those things (geometric primitives, instances,
acceleration structures; BVH's are used more than kdtrees), except that
the renderer itself doesn't contain any logic of how to split a scene
into different acceleration structures.
I've viewed structure optimization as more the responsibility of the
scene graph since it contains information about all of the geometry and
can make a global decision. I don't think it's necessary for the
renderer itself to be aware of the scene graph library at all.
Do you agree? If every rendering backend has some notion of a bvh,
kdtree, and a grid, could the scene graph intelligently decide by itself
how to chop up the scene?
It could, although in most cases the scenegraph is used for structuring the
scene more at a logical rather than an acceleration-based level, i.e. the App
decides which structuring makes the most sense. Most scenegraphs have to ability
to do further splits, but often the apps decide not to use them because they
need the original objects.
But IMHO the main difference between a regular scenegraph and a hierarchy for RT
is the level it's done at. To get good OpenGL performance you want large objects
(thousands of polygons), to get good RT performance you need to the hierarchy to
split down to the triangle level (or close to it). A 1:1 mapping from sg to rt
hierarchy won't give you any kind of good acceleration.
Unless I misunderstood and manta internally splits objects further down. In any
case, a good hierarchy builder is IMHO a critical component of a ray tracing
system...
My $.02
Dirk
Archive powered by MHonArc 2.6.16.