[osg-users] AutoTransform and small feature culling again

Robert Osfield robert.osfield at gmail.com
Thu Sep 18 01:58:29 PDT 2008


Hi Fabien,

Another workaround would be to set the culling off for the affected
AutoTransform - by doing:

  transform->setCullingActive(false);

This would have an small impact on cull traversal speed, but would at
least ensure that the node is always traversed.

Robert.

On Thu, Sep 18, 2008 at 9:38 AM, Fabien Lavignotte
<Fabien.Lavignotte at vegatechnologies.fr> wrote:
> I have been through an issue that has been discussed previously on the
> osg-users mailing list. I have put the previous discussion below (it was
> end of august).
> The culling traversal was never called on an AutoTransform with auto
> scale because of small feature culling.
>
> So Robert answers with three solutions :
> 1) Switch off small feature culling :
>        i don't want to do that because other node needs it for best
> performance
> 2) Override the computeBound() of the AutoTransform so that it returns
> an invalid bounding sphere for the first frame :
>        the AutoTransform::computeBound() is already doing that !
> 3) Override the computeBound() of the AutoTransform so that it returns
> an large default bounding sphere for the first frame
>        i try that and it works quite well
>
> In fact, solution 2) does not work when the AutoTransform has a parent
> with multiple children.
> In this case, the parent is equals to valid bound of its children. So
> solution 3) works quite well, except when there is a "huge" camera
> movement.
> More precisily, when you look closely at the AutoTransform nodes, and
> then go back instantly to a very far distance.
> Culling traversal will not be called again because the AutoTransform
> bound will be too small... Not sure how to handle this case at the
> AutoTransform level or if it is possible.



More information about the osg-users mailing list