osgDB::Registry::instance()->addFileExtensionAlias("avi", "ffmpeg");
osg::ref_ptr<osg::Image> image;
//本地视频
image = osgDB::readImageFile( "D:\\video\\aaa.avi" );
osg::ImageStream* imageStream = dynamic_cast<osg::ImageStream*>( image.get() );
if ( imageStream )
imageStream->play();
//添加到四边形
osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D;
texture->setImage( image.get() );
osg::ref_ptr<osg::Drawable> quad = osg::createTexturedQuadGeometry(
osg::Vec3(), osg::Vec3(-1.0f, 0.0f, 0.0f), osg::Vec3(0.0f, 0.0f, 1.0f) );
quad->getOrCreateStateSet()->setTextureAttributeAndModes(0, texture.get() );
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
geode->addDrawable( quad.get() );
geode->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
osgViewer::Viewer viewer;
viewer.setSceneData( geode.get() );
viewer.run();
- 1
- 2
前往页