我用的環境是vs2008+qt
2,新增幾個檔案如下:
fogrewidget.h:
#include
// 如果為假就返回
#ifndef false_return
#define false_return(h, r) if(!h) return r;
#endif
#ifndef _degug
#define _degug
#endif
#include
#include "ogre.h"
#include "ogreconfigfile.h"
class fogrewidget : public qwidget
;fogrewidget.cpp:
#include "fogrewidget.h"
#include
#include
using namespace std ;
fogrewidget::fogrewidget(qwidget* parent,qstring strinsname) : qwidget(parent,qt::wflags(qt::mswindowsowndc)),m_strinsname_(strinsname)
ogre::root::getsingleton().detachrendertarget(m_prenderwindow);
m_prenderwindow = null ;
void fogrewidget::paintevent(qpaintevent *evt)
void fogrewidget::timerevent(qtimerevent* evt)
void fogrewidget::keypressevent(qkeyevent* evt)
void fogrewidget::mousepressevent(qmouseevent* evt)
bool fogrewidget::loadplugin()
bool fogrewidget::loadresource()
}return true;
}bool fogrewidget::createscenemanager()
bool fogrewidget::createdefaultcamera()
// create render window
bool fogrewidget::createrenderwindow()
bool fogrewidget::initialize( )
else
// create render window
false_return( createrenderwindow(), false );
// create scene manager
false_return( createscenemanager(), false );
// create default camera and viewport
false_return( createdefaultcamera(), false );
ogre::resourcegroupmanager::getsingleton().initialiseallresourcegroups();
// create scene
false_return( createscene(), false );
createlight() ;
starttimer(2);
return false ;
}
// select render system
bool fogrewidget::selectrendersystem()
else
exit(0);
return false ;
bool fogrewidget::createscene()
void fogrewidget::updatedraw()
void fogrewidget::createlight()
main.cpp
qwidget widget ;
widget.setgeometry (10,10,640,480) ;
fogrewidget ogrewidget(&widget,qstring("ogrehead")) ;
ogrewidget.setgeometry (10,10,340,280) ;
ogrewidget.initialize() ;
widget.show() ;
a.connect(&a, signal(lastwindowclosed()), &a, slot(quit()));
return a.exec();
}3,這樣就可以了。執行效果如下:
將KlayGE嵌入到MFC
說明 1 klayge是一款國人開發的開源遊戲引擎 以下都是以klayge3.8.0而言,並且假定您已經可以編譯該引擎 具體可以參看readme.html,有一點需要提醒由於klayge使用了動態執行時庫,所以boost都會使用動態庫版本,例如boost signals,boost filesyst...
將KlayGE嵌入到MFC
說明 1 klayge是一款國人開發的開源遊戲引擎 以下都是以klayge3.8.0而言,並且假定您已經可以編譯該引擎 具體可以參看readme.html,有一點需要提醒由於klayge使用了動態執行時庫,所以boost都會使用動態庫版本,例如boost signals,boost filesyst...
Ogre3D嵌入Qt框架 之 小結
public ogreview qwidget parent ogreview qsize minimumsizehint const qsize sizehint const protected void setupview 建立ogre使用的內容,場景內容 void update 通過它,手動更...