|
|
刚学OGRE,没写两句就来了异常,不知道怎么回事?
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
Root *root = new Root("","");
root->loadPlugin( "RenderSystem_Direct3D9" );
最后一句出现异常:ogre02.exe 中的 0x76f442eb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x001af2f4 处的ogre::InternalErrorException。
如果我用plugins.cfg而不是用loadPlugin话,倒是没有异常出现。
但是又出现问题:
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
Root *root = new Root(); //用plugins.cfg
String rName("OpenGL Rendering Subsystem");
RenderSystemList *rList = root->getAvailableRenderers();
RenderSystemList::iterator it = rList->begin();
RenderSystem *rSys = 0;
while (it != rList->end())
{
rSys = *(it++);
if (rSys->getName() == rName)
{
root->setRenderSystem(rSys);
break;
}
}
if (root->getRenderSystem() == NULL)
{
delete root;
return -1;
}
root->initialise( false );
RenderWindow *window = rSys->createRenderWindow( "test", 800, 600, false, 0 );
SceneManager *sceneMgr = root->createSceneManager( ST_GENERIC, "mmm" );
Entity* ent1 = sceneMgr->createEntity( "fff", "athene.mesh" );
最后一句又有异常:ogre02.exe 中的 0x76f442eb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0022e8b8 处的 Ogre::ItemIdentityException。 [em7] |
|