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 <robert.osfi...@gmail.com>:
> 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
> <s.d.hamm...@googlemail.com> 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
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
http://www.ssTk.co.uk
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to