diff --git a/src/osgPlugins/pfb/ConvertFromPerformer.cpp b/src/osgPlugins/pfb/ConvertFromPerformer.cpp index afbd4771b..c8f8fbe58 100644 --- a/src/osgPlugins/pfb/ConvertFromPerformer.cpp +++ b/src/osgPlugins/pfb/ConvertFromPerformer.cpp @@ -551,6 +551,10 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet* geom->addPrimitiveSet(new osg::DrawArrayLengths(GL_TRIANGLE_STRIP,0,np,plen)); break; + case PFGS_TRIFANS : + geom->addPrimitiveSet(new osg::DrawArrayLengths(GL_TRIANGLE_FAN,0,np,plen)); + break; + case PFGS_FLAT_TRISTRIPS : geom->addPrimitiveSet(new osg::DrawArrayLengths(GL_TRIANGLE_STRIP,0,np,plen)); break; @@ -567,6 +571,12 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet* geom->addPrimitiveSet(new osg::DrawArrayLengths(GL_LINE_STRIP,0,np,plen)); break; + default: + std::cout << "ConvertFromPerformer::visitGeoSet: Osg can't convert primitive " + << geoset->getPrimType() + << std::endl; + break; + } @@ -896,7 +906,8 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet* if(ilist) { - geom->setTexCoordIndices(0,new osg::UShortArray(nn,ilist)); +// geom->setTexCoordIndices(0,new osg::UShortArray(nn,ilist)); + geom->setColorIndices(new osg::UShortArray(nn,ilist)); } }