将Ogrese中的核心代码抽出来做成了一个软件,这个软件能够加载Ogrese导出的文件。
这款软件的核心是负责加载Ogrese导出文件,并不负责编辑,所以我去除了所有的地形编辑 流体编辑 实体编辑的内容。
但是为了以后方便在场景中加入我的第一人称视角的游戏,所以我还是使他能够加载实体对象。也就是AddObject函数。
值得注意的是CSceneView文件中的 OnSetFocus函数
void CSceneView::OnSetFocus(CWnd* pOldWnd)
{
if (!m_pCamera)
{
CSceneDoc* pSceneDoc = (CSceneDoc*)GetDocument();
Ogre::Camera* pCamera = pSceneDoc->GetSceneManager()->createCamera(Ogre::StringConverter::toString(UINT(this)));
pCamera->setNearClipDistance(5);
pCamera->setFarClipDistance(10000);
Ogre::SceneNode* pNode = pSceneDoc->GetSceneManager()->getRootSceneNode()->createChildSceneNode();
pNode->setPosition(0,200,0);
pNode->attachObject(pCamera);
SetCamera(pCamera);
m_pRenderWindow->getViewport(0)->setBackgroundColour(pSceneDoc->GetBackgroundColour());
}
CRenderView::OnSetFocus(pOldWnd);
((CSceneDoc*)GetDocument())->SetActiveView(this);
}
只有使用这个函数才使得摄像机能够被创建了了。
.