我尝试使用OpenSceneGraph创建并导出球体。我没有错误消息,但导出的.obj文件为空。
我不知道,我错了什么。
int main( int argc, char** argv )
{
osg::ref_ptr<osg::Group> root = new osg::Group;
osg::Sphere* unitSphere = new osg::Sphere( osg::Vec3(0,0,0), 1.0);
osg::ShapeDrawable* unitSphereDrawable = new osg::ShapeDrawable(unitSphere);
osg::Geode* basicShapesGeode = new osg::Geode();
basicShapesGeode->addDrawable(unitSphereDrawable);
root->addChild(basicShapesGeode);
osgDB::writeNodeFile(*(root.get()), "sphere.obj");
return 0;
}
我想出口一个雪人,只有3个球,一个在另一个之上。但是,如果我尝试导出球体或其他形状,则.obj文件为空。
答案 0 :(得分:2)
我认为ShapeDrawable是一种自定义类,它不仅仅是数组中的基本几何体(就像saver希望看到导出一样)。
无论如何,这些类都被弃用了,因为它们使用的旧OpenGL调用无论如何都不能很好地执行。
你真正想要完成什么?
我相信osgWorks库(不是基本OSG的一部分的补充工具包)具有创建基于几何体的实际球体的工具等。