这些天我正在研究OpenSceneGraph:
// Assumes the Cessna's root node is a group node.
osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("cessna.osg");
osg::Group* convModel1 = model->asGroup(); // OK!
osg::Geode* convModel2 = model->asGeode(); // Returns NULL?
为什么要模型 - &gt; asGeode();返回NULL?
答案 0 :(得分:2)
如果你在文本编辑器中查看cessna.osg:
Group {
UniqueID Group_0
DataVariance STATIC
cullingActive TRUE
num_children 1
Geode {
DataVariance DYNAMIC
name "cessna.osg"
cullingActive TRUE
num_drawables 1
Geometry {
你会看到顶级实体是一个组,而不是一个Geode。你需要在从readNodeFile返回的Node上使用getChild(),然后你应该能够asGeode()。