1. 问题
在实现osg数据读取插件时,发现在osgDB::Registry中是通过后缀名进而确定插件动态库库的名字,在插件实现cpp的末尾有宏:REGISTER_OSGPLUGIN(gltf, ReaderWriterGLTF)来实现对gltf后缀的支持。在插件构造函数里:`
ReaderWriterGLTF::ReaderWriterGLTF()
{
supportsExtension("gltf", "GLTF txt format");
supportsExtension("glb", "GLTF Bin format");`
...
增加多格式支持,在运行是发现打开glb格式的文件时,竟然查找osgdb_glb.dll,这个自然是不对的。
2. 解决方法
在开发的代码里面通过调用:
osgDB::Registry::instance()->addFileExtensionAlias("glb", "gltf");
来实现对多格式的支持。