您的位置:首页 > 其它

OGRE学习笔记之_配置文件Plugins.cfg

2014-02-25 09:30 573 查看
OGRE学习笔记之 配置文件Plugins.cfg

Plugins.cfg

Ogre的许多功能是以插件的形式提供的.Ogre提供的以Plugin_开头的许多.DLL文件都是所谓的插件。

Plugins.cfg指定了插件的路径和插件文件名, 它们可以放在其它文件夹里,但必须在本文件里指定路径。

在 windows 平台插件的装入过程如下:

Root::()

{

if(!pluginFileName.empty())

loadPlugins(pluginFileName);



――――――>

void Root::loadPlugins(const String& pluginsfile)

{

ConfigFile cfg;

cfg.load(pluginsfile);

...........................

// 解析文件,处理后将目录与文件名联接

for(;;)

loadPlugin(plugindir + (*it))

} ――――――>

Root::loadplugin(const string& pluginName)

{

DyLibmanager::getsinleton.load(pluginName);

}

――――――>

DynLibManager::load(const string& filename)

{

DynLib* pLib=new DynLib(filename);

pLib->load();

}

――――――>

void DynLib::load()

{

m_hInst=(DYNLIB_HANDLE)DYNLIB_LOAD(name.cstr());

}

在 windows 平台下有如下定义:

#define DYNLIB_LOAD(a) LoadLibrary(a)

到此, x.dll 插件被加载到内存中,可以使用插件的功能了^_^

以下为一个典型的 Plugins.cfg 文件的内容:

# Defines plugins to load

# Define plugin folder

PluginFolder=.

# Define plugins

Plugin=RenderSystem_Direct3D9

Plugin=RenderSystem_GL

Plugin=Plugin_ParticleFX

Plugin=Plugin_BSPSceneManager

Plugin=Plugin_OctreeSceneManager

Plugin=Plugin_CgProgramManager

Plugins.cfg 文件内容相当直观,不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: