|
楼主 |
发表于 2012-10-16 11:15:30
|
显示全部楼层
array 发表于 2012-10-16 10:17
您用的HUD相机来管理这些按钮的么?那样的话可能是您的投影矩阵设置有问题吧
是的,是用HUD相机来管理这些按钮的。麻烦你帮我看一下,代码如下:
osg::MatrixTransform * modelview = new osg::MatrixTransform;
modelview->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
modelview->setMatrix(matrix);
//这个是以前的方式,用这种方式点击按钮检测不倒交线,然后liuzhiyu123给我指点之后,我用下边的那种方式
//previous method, can not pick
//osg:rojection * projection = new osg:rojection;
//projection->setMatrix(osg::Matrix:rtho2D(0,1280,0,1024)); // or whatever the OSG window res is
//projection->addChild(modelview);
//Current method, can pick 这是现在用的方式
osg::Camera* camera= new osg::Camera;
camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
camera->setProjectionMatrixAsOrtho2D(0,1280,0,1024);
camera->setViewMatrix(osg::Matrix::identity());
camera->setRenderOrder(osg::Camera:OST_RENDER);
camera->setClearMask(GL_DEPTH_BUFFER_BIT);
camera->addChild(modelview);
|
|