|
问题:为什么用osg:rawable画茶壶,拾取不到? 请各位高手教我!
情况如下:
class Teapot : public osg::Drawable
{
virtual void drawImplementation(osg::RenderInfo&) const
{
//openGL代码画茶壶
teapot(14,GL_FILL);
}
}
我用这个类借助opengl函数画了个茶壶,
在 main()
{
osg::ref_ptr< Teapot > teapot=new Teapot (); //创建茶壶 osg::Drawable对象
osg::ref_ptr<CMyGeode> geode = new CMyGeode(); //创建个叶子节点
geode->addDrawable( teapot );
root->addChild(geode);
viewer.setSceneData( root );
}
然后是osg教程上class PickHandler那个拾取对象的类
这样茶壶是显示出来了,但却拾取不到,
if (view->computeIntersections(x, y, intersections)) //这个if根本进不去
{
}
所以想问:为什么?是不是用了osg::Drawable画茶壶,才拾取不到的?
如果直接是个geode读个牛进来,是可以拾取并加白边显示 |
|