ProxyNode
类似一棵树的一个目录,将一棵树下的所有节点重新记录在Proxynode中。
通过ProxyNode可以重新实现节点的排列,可以 通过ProxyNode实现对原树进行一个“封装",可以通过调用ProxyNode实现对节点的调用。
理解
ProxyNode中只包含节点名(路径),可以实现与原树不同的节点排列结构,与原树的效果可以相同。
语法
- 将节点加入ProxyNode
第一个参数是位置,第二个参数是地址
osg不带纹理,osgb带纹理
m_pProxyNode->setFileName(0,“node.osgb”);
- 将代理节点写入地址
第一个参数是代理节点名,第二个参数是写入的地址,第三个参数是选项(可不写)
osgDB::writeNodeFile(*m_pProxyNode, “proxy.osg”,opt);
option
是对读取出来的节点进行处理的对象
userOriginalExternalReferences使用原依赖noWriteExternalReferenceFiles改为新依赖(引用路径)
OutputTextureFiles保存时导出纹理
代码
osg::ref_ptr<osgDB::Options> opt = new osgDB::Options;
opt->setOptionString("noWriteExternalReferenceFiles");
//把代理节点写入此地址
osgDB::writeNodeFile(*m_pProxyNode, "proxy.osg",opt);