|
|
Am 29.04.2013 10:55, schrieb s.day:
> Ok, this is weird.. I simply move the translate up inside the sphere_sweep
> object and added a second union around the markers and got the image below in
> 3.7...
I /think/ I found at least part of the mechanism that leads to this problem:
The first thing to note is that whenever you transform an object,
obviously the bounding box needs to be adjusted accordingly.
This is generally implemented in a pretty braindead manner: The bounding
box is re-computed from scratch.
Normally this does not interfere with custom bounding boxes, because
those are applied only at the closing brace of the object statement,
when all your transformations are done already.
Enter CSG, with another important fact: If you transform CSG objects,
what actually happens is that all its children are transformed.
And their bounding boxes are updated - read: re-computed - accordingly.
/After/ the custom bounding boxes have been applied.
And no, there's currently no mechanism in place to re-apply the custom
bounding boxes.
I still haven't understood all the details yet, but I can already tell
that you've exposed a bug there.
Obviously the only reason this leads to artifacts in this case is due to
the - well-known - issue of sphere_sweep automatic bounding being
unreliable. However, there may also be cases where the unintended
overriding of custom bounding boxes will impact render performance.
Post a reply to this message
|
|