Ogre Usage        

Ogre Usage

A summary of the parts of Ogre used by Grit.

Features used from Ogre:

  • D3D9 and GL RenderSystems, RenderSystem API
  • OctreeSceneManager, MovableObject
  • PCSS depth shadow mapping
  • Mesh format (on disk)
  • Texture loading, Ogre::Image, DDS codec, Freeimage integration
  • Skeletal animation (disk format, CPU interpolation, transform concatenation, etc).

Outstanding problems

  • Need to switch to d3d11 and GL3 for better performance and new features
  • OctreeSceneManager slow, does not support occlusion volumes
  • PCSS depth shadow mapping appears to be buggy, shadow matrixes are wrong in some cases, shadows crawl too much with dynamic sun, need to render simplified meshes during cast phase, need to render without extraneous vertex data (normal etc)

Features not used from Ogre and reimplemented by Grit

  • Config
  • OIS (not actually Ogre but worth mentioning)
  • Entity (did not support emissive materials when deferred shading)
  • Script framework
  • Compositor framework
  • The particle frameworks and plugins
  • Resource manager or background resource loading
  • The overlay system
  • The paging stuff
  • Any of the high level instancing stuff

Features not used from Ogre because we don't need them

  • Any other scene manager (may consider PCZ in future)
  • Dynamic plugin loading
  • Fixed function pipeline
  • Any of the cellphone stuff
  • Stencil / primitive texture shadows, other shadow cameras than PCSS
  • Traditional lights (i.e. not deferred shading lights)
  • Heightmapped terrain support