osg_osgDB插件机制

最近研究了一段osg/osgDB插件读写机制,写出来,做个记录,方便查阅。

举例说明。例如加载cow.stl这个格式的模型

首先根据模型格式stl

找到对应的dll名称,osgdb_stl.dll

查找电脑的所有环境变量找到osgdb_stl.dll

试着读取osgdb_stl.dll

加载成功,并成功执行了osgdb_stl.dll的宏定义,然后解析文件成功,然会解析结果。

函数执行顺序:
osg::Node *node=osgDB::readNodeFile(某种类型的文件路径),这个语句是osg读取节点数据常用的函数,下面对这个函数进行跟踪,简单介绍下数据的处理过程,方面自己对osgDB的插件进行简单的修改,供自己进行简单的修改;


  osg::Node *readNodeFile(const std::string &filename)  //函数所在位置osgDB/ReadFile,该函数属于文件作用域,调用文件中的另一个函数
  {
     //函数所在位置osgDB/ReadFile,该函数只是在原来的基础上,调用了osgDB/Registry的文件中的一个Registry单例,获取的是option,默认为空
     return readNodeFile(filename,osgDB::Registry::instance()->getOptions());//osgDB/ReadFile ①
   }


//①的具体实现,该函数的作用是调用osgDB/Registry的单例,进行数据的解析,参数options默认为空.
Node* osgDB::read
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值