1.核心Update驱动在Sample工程所写的ILTClientShell内
2.CClientShell是引擎内部的ClientShell概念,它的Update驱动了客户代码Sample的IClientShell的Update.
3.Render方法入口在客户代码的Update内
4.客户代码使用ILTClient向引擎下达渲染指令,ILTClient通过使用RenderStruct向渲染引擎下达渲染指令(立即完成模式).
2.LT使用C接口手法,赋值函数指针到RenderStruct的函数成员指针变量,试图避开虚接口的消耗.
6.主要渲染入口RenderCamera(ltClientShell.cpp) -> cis_RenderCamera(winclientde_impl.cpp) -> CClientMgr::Render -> d3d_RenderScene-> d3d_FullDrawScene -> 建立渲染队列-> d3d_FlushObjectQueues -> 分类别渲染各个方面的实体 -> d3d_DrawSolidModels(模型渲染) -> (drawModel.cpp) -> RenderPiece ......真是又臭又长.
7.模型骨骼变换在渲染代码里搞,DX真是方便啊(但很没个性),OpenGL就不得不写Shader了,ModelInstance -> GetRenderingTransforms -> TransformMaker,分工很细.