本文整理汇总了C++中osg::ref_ptr::getProjectionMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ ref_ptr::getProjectionMatrix方法的具体用法?C++ ref_ptr::getProjectionMatrix怎么用?C++ ref_ptr::getProjectionMatrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::ref_ptr
的用法示例。
在下文中一共展示了ref_ptr::getProjectionMatrix方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
osg::Vec3d CameraMath::projectOnScreen( osg::ref_ptr<osg::Camera> camera, osg::Vec3d point )
{
osg::Matrixd mv = camera->getViewMatrix();
osg::Matrixd mp = camera->getProjectionMatrix();
osg::Matrixd mw = camera->getViewport()->computeWindowMatrix();
osg::Vec3d result = point * mv;
result = result * mp;
result = result * mw;
return result;
}
示例2: isInFOV
bool CameraMath::isInFOV( osg::Vec3d point, osg::ref_ptr<osg::Camera> camera )
{
double left, right, bottom, top, zNear, zFar;
camera->getProjectionMatrixAsFrustum( left, right, bottom, top, zNear, zFar );
osg::Matrixd& mv = camera->getViewMatrix();
osg::Matrixd& mp = camera->getProjectionMatrix();
osg::Vec3d pView = point * mv * mp;
if ( pView.z() < 0.0 ) {
return false;
}
return true;
}
示例3:
const osg::Matrix &getProjectionMatrix() const { return mMainPass->getProjectionMatrix(); }
示例4: getFromScreenMatrix
osg::Matrix getFromScreenMatrix( osg::ref_ptr< osg::Camera > camera,osg::Vec2 size )
{
return osg::Matrix::inverse( camera->getViewMatrix() * camera->getProjectionMatrix() *( osg::Matrix::translate(1.0,1.0,1.0)*osg::Matrix::scale(0.5*size.x(),0.5*size.y(),0.5f)));
}
示例5: getToScreenMatrix
osg::Matrix getToScreenMatrix( osg::ref_ptr< osg::Camera > camera,osg::Vec2 size )
{
return osg::Matrix( camera->getViewMatrix() * camera->getProjectionMatrix() *( osg::Matrix::translate(1.0,1.0,1.0)*osg::Matrix::scale(0.5*size.x(),0.5*size.y(),0.5f)));//camera->getViewport()->computeWindowMatrix() );
}