Thanks Robert :)

Put me on the right track. Just for reference if anybody else needs it:

osg::Polytope  frustum;

frustum.setToUnitFrustum();
frustum.transformProvidingInverse(
    pViewer->getCameraManipulator()->getInverseMatrix() *
pViewer->getCamera()->getProjectionMatrix());


2009/5/14 Robert Osfield <[email protected]>:
> Hi Simon,
>
> What you need to do is use the Polytope::setToUnitFrustum(..) method
> to create the eye space -1,1 unit cube, then transform this is to
> world coordinates by multiplying it by the inverse of the camera's
> view matrix.  It just so happens that there is a
> Polytope::transformProvidingInverse() method which you use (planes are
> transformed by multiplying by their inverse).
>
>  Polytope frustum;
>  frustum.setToUnitFrusmtum();
>  frustum.transformProvididingInvser(camera.getViewMatrix());
>
> Robert.
>
>
>
>
> On Wed, May 13, 2009 at 9:20 PM, Simon Hammett
> <[email protected]> wrote:
>> Hi Everyone,
>>
>> Is there a quick and easy way to populate a osg::Polytope with a
>> cameras view frustum?
>> I've tried stepping though osg::Viewer::frame(), but there's so much
>> code I've either
>> not stepped into the right function or just missed it and searching
>> the mail achieve just
>> brings up too many false results.
>>
>> tia, Simon.
>>
>> --
>> http://www.ssTk.co.uk
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
http://www.ssTk.co.uk
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to