osg通过插件形式读取文件。
新建工程,输出为dll。
#include <sstream>
#include <osg/Image>
#include <osg/Group>
#include <osg/Notify>
#include <osg/Geode>
#include <osg/Shape>
#include <osg/ShapeDrawable>
#include <osgDB/FileNameUtils>
#include <osgDB/FileUtils>
#include <osgDB/fstream>
#include <osgDB/Registry>
#include <osgDB/Input>
#include <osgDB/Output>
#include <iostream>
using namespace osg;
using namespace osgDB;
class FSReaderWriter :public ReaderWriter
{
public:
FSReaderWriter()
{
supportsExtension("fs", "FreeSouth's format");
}
virtual const char* className() const
{
return "FSReaderWriter";
}
virtual ReadResult readNode(const std::string& file, const Options* opt) const
{
std::string ext = osgDB::getLowerCaseFileExtension(file);
if (!acceptsExtension(ext))
return ReadResult::FILE_NOT_HANDLE