Also check out osgShadow::ConvexPolyhedron if you want to extract the corner verts or make geometry from it.
Glenn Waldron On Wed, Nov 2, 2016 at 9:47 AM, Jeff Biggs <[email protected]> wrote: > > try this... > > osg::Polytope GetViewPolytope( > const osg::Matrix &p, > const osg::Matrix &v, > const osg::Matrix &m) > { > osg::Polytope clipspace; > clipspace.setToUnitFrustum(true, true); > > // composite matrix > osg::Matrixd mvp = m * v * p; > > // transform from clip space to local coords > osg::Polytope local; > local.setAndTransformProvidingInverse(clipspace, mvp); > > return local; > } > > // --- Sample use case --- > > osg::Camera *cam; > osg::Matrixd entityBodyMatrix; > > osg::Polytope viewPolytope = GetViewPolytope( > cam->getProjectionMatrix(), cam->getViewMatrix(), entityBodyMatrix); > > const osg::BoundingSphere boundSphere; > > if (viewPolytope.contains(boundSphere) { > // sphere is inside of view > } > > jeff > > > > On 11/2/16 3:43 AM, Robert Osfield wrote: > >> On 1 November 2016 at 21:45, Trajce Nikolov NICK >> <[email protected]> wrote: >> >>> Hi Community, >>> >>> anyone knowing how to achieve this and with will to share? >>> >>> Thanks a bunch as always !! >>> >> Have a look at the API's... >> >> First one to look at is osg::Polytope, create one of these with a unit >> frustum. This will be in clip space. >> >> Next step transform this Polytope by the projection matrix using the >> transformProvidingInverse() method (to transform a plane you multiple >> it by the inverse of that matrix), so in our case the projection >> matrix transform from eye space into clip space which is the inverse >> of the transform we intend, but thanks to the way that planes are >> transformed we can just use the projection matrix directly as long as >> we use the transformProvidingInverse(). See the src/osg/CullStack.cpp >> to see this in action. >> >> Then transform into object coordinates using the same method by >> providing the view and model matrices. >> >> Robert. >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >> >> > > -- > Jeff Biggs > > _______________________________________________ > 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

