|
我注册了一个event回调,检测某个事件,然后实现纹理翻赚。目前情况是,回调只生效一次。事件再次发生时,纹理没有继续翻转。大概是怎么回事呢?
osg_view->addEventHandler( new CyPickHandler );
翻转的代码:
osg::ref_ptr<osg::StateSet> myState = geode->getDrawable(0)->getOrCreateStateSet();
osg::Matrix osgMatrix;
osgMatrix.makeRotate( osg:uat(osg::inDegrees(45.0f), osg::Vec3(0.0, 0.0, 1.0) ) );///旋转。
osg::TexMat* osgTexMat = new osg::TexMat();
osgTexMat->setMatrix(osgMatrix);
myState->setTextureAttribute(0,osgTexMat);
|
|