Tim Attwood <tim### [at] anti-spamcomcastnet> wrote:
> If during parse the order that objects are added
> is preserved (by adding an index possibly), then
> later when they're being traced against, check the
> objects in the current bounding slab in that order.
> That way a coincident surface will always return
> the same texture, the one from the object that was
> encountered first during parse.
The problem is not deciding which surface to choose, but detecting
the coincident surfaces. Even if you consider surfaces which are "close
enough to each other" as coincident, there may be situations where they
are still not detected. For example, if the two objects are in different
branches of the bounding box hierarchy and their bounding boxes don't
overlap, the other object might be completely skipped from consideration
if the first object was hit.
It can also cause interesting problems with transparent surfaces.
Basically you would be removing one of the coincident surfaces, and
which one is removed depends on the direction of the ray.
Post a reply to this message