OGRE场景渲染
OGRE渲染流程
- Root调用StartRendering
- RenderSystem更新每个RenderTarget渲染对象
- 渲染对象激活对应Viewport,更新Viewport
- Viewport激活Camera,要求开始渲染
- ScenenManager对当前激活的Camera构建渲染队列
- RenderSystem对渲染队列进行渲染
步骤2-6循环直至渲染结束
渲染时序图
OGRE渲染类
SceneManager:场景管理类
RenderSystem:抽象基类,定义3D图形API的接口类,适配器模式,为底层图形API提供统一适配接口,使得OGRE渲染与平台无关
RenderTarget:抽象类,存放渲染结果的缓存
Viewport:视口类,对应camera得到的渲染结果
Camera:摄像机类
RenderQueue:渲染队列基类,管理可渲染对象队列,由Render QueueGroup组成
RenderQueueGroup:渲染队列组,可渲染对象按照材质文件的pass分组,每个组对应一个渲染优先级组实例RenderPriorityGroup
RenderPriorityGroup:可渲染对象优先级
QueueRenderableCollection:可渲染对象的底层容器,QueueRenderableVisitor和QueueRenderableCollection构成了访问者模式,即容器对象与遍历对象操作分离
类关系图:
llection构成了访问者模式,即容器对象与遍历对象操作分离
类关系图: