K-D Tree + BSP Tree Hybrid?

Started by
9 comments, last by greenhybrid 16 years, 10 months ago
Quote:Original post by snk_kid
Quote:Original post by greenhybrid
And I said "spatial ... schemes are *one* of the reasons".

I don't see a reason why no other kinds of objects (objects in an abstract manner) than rays should benefit from spatial schemes, as they still gain much speed due to depth-first traversal (Jensen's Photon Mapping for example basically relies on sphere/kd-traversal). I don't see, too, which responder would be a good one without having the proper "nearest collision" information.


Did i say they don't benefit? NO, i'm saying BVH have some advantages over spatial paritioning structures in the context of collision detection not ray tracing and BVHs are generally preferred in this context.

Quote:Original post by greenhybrid
... As for exponential building times: the Bounding Interval Hierarchy ....


You you keep referring to papers/discussions specifically on the subject of ray tracing, where not talking about accelerating ray intersections, he/she hasn't even mentioned anything about ray intersections yet.



Afair, Donald E. Knuth himself said once that using italics is way much nicer way to exclamate things than those phats (bold fonts are felt by readers to be kinda aggressive). Just a quick hint if you ever gonna write a paper.

The one reason why I recommend ray-tracing techniques is that they are provide the fastest way of finding, well object/scene-intersections. Other schemes are definitely easier to learn, sure. But as your going for high-performance ray/scene-intersections, a couple of randomly distributed rays might outperform true object/object intersections. For sure, then those are only be left approximations. But on the other hands, having such an engine is a really helpful and powerfull tool for an awesome wide range of applications:

(mentioning pure ray/scene intersection in the following list)

-> high performance and unbeatable ray/scene intersection
-> highly dense particle systems
-> high performace object/object intersection
-> realistic (soft) light/shadowmapping
-> global illumination texture baking
-> thousands up to millions of ricochets per second in a war-game ;)
-> photon mapping
-> checking percentage of visibility for objects behind other objects
-> approximating true radars or waves in general in sims
-> actually misuse the component for creating high quality stills in your game
etc.

I did not say BVH's are evil. I simply recommended ray-tracing techniques because of their wide applicability.

aaand: A lot of acceleration schemes can be borrowed from ray-tracing with at least a glimpse of imagination.


I guess the next time you gonna trun on caps-lock?

edit: sorry, forgot the linkage:

quake III ray traced to the bones (with approximated object/object detection)




KiroNeem, those are for you :)

original paper on BIH's

BIH discussions I meantioned, I hope that helps a bit :)


edit secundo:

KiroNeem, as you already use SAH (besides: building a "correct" SAH/kd-tree is pretty hard and it takes some ammount of time to test if they do what you intend): Do you also use the cost for deciding if a further split makes the crop? If not, you have simply to calculate the cost of the node you're in, and than sum up the cost of both children plus some cost for the split itself. Now, if the summed up cost+split_cost is higher than the cost of the current node, you stop further subdivision

furtherSplit = currentNode_cost > (leftChild_cost+rightChild_cost+splittingCost)



[Edited by - greenhybrid on June 4, 2007 1:44:55 PM]

This topic is closed to new replies.

Advertisement