距上一篇博文已经很久了,倒不是悠闲地过了两三星期,过去的这段时间都满课,而且我认为前面的章节没有看好看仔细,因此回去看了,把讲解过的源码都看了一次。好了,闲话不说了。
这篇博文标题是GameHost框架阅读,但实际上是结合了第六章中cMyHost的源码来阅读的。cGameHost对CD3DApplication类中的重要函数进行了重写,而cMyHost也对cGameHost的函数进行了重写。下面是第六章的主要函数执行过程,包括cMyHost和cGameHost。排版问题实在没法解决,只能用编号来解决了。
<1>CD3DApplication::Create
<1.1>cMyHost::OneTimeSceneInit <1.2>CD3DApplication::Initialize3DEnvironment
<1.1.1>cGameHost::OneTimeSceneInit <1.2.1>cMyHost::InitDeviceObjects
<1.2.2>cMyHost::RestoreDeviceObjects
<1.1.1.1>displayManager.initialize <1.2.1.1>cGameHost::InitDeviceObjects
<1.2.2.1>cGameHost::RestoreDeviceObjects
<1.1.1.1.1>cDisplayManager::registerDeviceResources
<1.2.1.1.1>displayManager.createDeviceResources
<1.2.2.1.1>displayManager.restoreDeviceResources
<2>CD3DApplication::Run
<2.1>CD3DApplication::MsgProc <2.2>CD3DApplication::Render3DEnvironment
<2.1.1>WM_PAINT,cGameHost::Render" <2.2.1>cGameHost::FrameMove
<2.1.1.1>cMyHost::renderScene <2.1.1.2>displayManager.processRenderQueue
<2.2.1.1>cMyHost::updateScene <2.2.1.2>cGameHost::Render <2.2.1.3>CD3DApplication::UpdateStats
<2.1.1.1.1>quadTree.buildSearchResults <2.1.1.1.2>cSceneObject::render
<2.2.1.1.1>cGameHost::updateScene
本文解析了GameHost框架的实现原理,重点介绍了cMyHost和cGameHost类对CD3DApplication类函数的重写过程,并详细展示了从初始化到运行各阶段的函数调用流程。
1594

被折叠的 条评论
为什么被折叠?



