|
我想要实现指定区域透明,可是总会弹出一个复杂的异常,对C++方面还是新手,希望各位大大帮我看看,是否是因为这几句代码的问题?解释一下异常
PS:1、指定区域是一个ModelIntersct()方法的返回值
2、此方法需要一个点参数(a,b),它必须在区域里
3、指定区域为鼠标点击点生成的多边形
case (osgGA::GUIEventAdapter::KEYDOWN):
{
if (ea.getKey()=='C'||ea.getKey()=='c')
{
float a=0.5 *(ea.getXmax()+ea.getXmin());
float b=0.5 *(ea.getYmax()+ea.getYmax());
osg::ref_ptr<osg::Node>node=ModelIntersect1(root,model,poly,a,b);
osg::ref_ptr <osg::StateSet> stateset=new osg::StateSet;
stateset->setMode(GL_BLEND,osg::StateAttribute::ON);
stateset->setMode(GL_DEPTH_TEST,osg::StateAttribute::OFF);
node->setStateSet(stateset.get());
root->addChild(node.get());
return true;
}
}
|
|