OGRE framework

  1. Root是源头,提供配置文件,资源文件,日志文件,可包含一个或者多个RenderSystem
  2. RenderSystem是渲染系统抽象,可以是OpenGL,也可以是DirectX,可包含多个RenderTarget
  3. RenderTarget是渲染目标的抽象,可以是window的窗口,也可以是GTK的,当然也可以是wxWidgets的Canvas,还可以是Texture或者Memory。可以包含若干Viewport
  4. Viewport是渲染目标上的一部分区域,对应一个Camera和一个SceneManager
  5. Camera是对视景体的抽象,对应一个Viewport和一个SceneManager
  6. SceneManager是对SceneNode管理方式的抽象,可以是层次管理,Octree管理,或者BSP管理,可以包含多个SceneNode和一个RenderQueue
  7. SceneNode是Node的子类,是可以自包含的. Node封装了旋转平移缩放操作。SceneNode包含了MovableObject
  8. Entity是MovableObject的子类,包含了若干SubEntity
  9. SubEntity是Renderable的子类,包含了实际的渲染数据
  10. RenderQueue包含了RenderQueueGroup, 后者包含了RenderPriorityGroup, 后者包含了QueueRenderableCollection, 后者包含了Renderable.
  11. 综上,RenderTarget提供了渲染的目的地,RenderSystem提供了渲染的方式,SceneManager通过SceneNode和RenderQueue对场景进行了组织,Entity和SubEntity提供了最终的渲染数据,当然,与此同时SceneManager对Viewport,Camera,Light进行了管理
posted @ 2013-01-27 14:59  sourcedigger  阅读(200)  评论(0编辑  收藏  举报