Axiom To Ogre v1.8
◙ Not Started or Tested
◙ In Progress or Partially Implemented
◙ Implemented and Compatible ( See notes )
◙ Can't or Won't Implement
Welcome to the roadmap, ChangeLog and porting notes for OGRE 1.8.0 "Byatis"
"Byatis, the serpent-bearded, the god of forgetfulness, came with the Great Old Ones from the stars, called by obeisances made to his image, which was brought by the Deep Ones to Earth. He may be called by the touching of his image by a living being. His gaze brings darkness on the mind; and it is said that those who look upon his eye will be forced to walk to his clutches. He feasts upon those who stray to him, and from those upon whom he feasts he draws a part of their vitality."
- H.P. Lovecraft
- ◙ Terrain changes
- ◙ Terrain vertex data is now compressed by default, reducing the vertex size by 40% on the GPU
- ◙ Terrain data is saved in a compressed format (Deflate) resulting in smaller disk sizes (uncompressed data files are still supported)
- ◙ DeflateStream added
- ◙ Wraps any other stream to compress / decompress data via the deflate algorithm
- ◙ If given an uncompressed stream to load, automatically falls back on a passthrough read for easy compatibility
- ◙ Vertex normals can now be animated in morph and pose animation
- ◙ Normals can be included in vertex morph keyframes, and specified as part of reference poses
- ◙ Software, SSE and hardware (shader) pipelines supported
- ◙ Mesh format has been upgraded to support the new data
- ◙ Note: Animated normals are currently not compatible with stencil shadows because of the conflicting vertex structure requirements
- ◙ Versioned mesh writing
- ◙ MeshSerializer can now write all versions of .mesh back to Ogre 1.0 rather than only being able to write in the latest version format. This should make it easier for tool & exporter developers who can use the latest code but still support users on older versions
- ◙ OgreMeshUpgrader now accepts an optional -V parameter where you can specify the target version to write
- ◙ TerrainSceneManager has been removed. You should be using Components/Terrain now.
- ◙ DirectX 11 render system (d3d11)
- ◙ RT shader system support for shader model 4/5 with dynamic linking.
- ◙ Multi window support.
- ◙ Multi device support.
- ◙ Tessellation - support for new pipeline stages - Hull-Shader and Domain-Shader.
- ◙ Multithreaded Rendering - support for deferred rendering.
- ◙ Floating-point viewports.
- ◙ Some demos of the new features.
- ◙ New threading model
- ◙ No general thread safety on majority of classes except 'join points' - which is WorkQueue and handlers
- ◙ Task-based, data encapsulation (see new Terrain in 1.7)
- ◙ Default to processing all GPU interaction in one thread, but allow multi-threaded later where supported (e.g. Dx11)
- ◙ Greater support for localised data ownership for tasks
- ◙ World-assigned textures and shader parameters
- ◙ Support easier integration of texture data provided by the world depending on location (e.g. static shadow textures, environment maps)
- ◙ Also support shader parameters which vary according to world location (projection, fade params etc.)
- ◙ Loosely coupled, pluggable
- ◙ Skeletal animation bounding box updates
- ◙ One 'update' BB which covers the mesh at every animation point
- ◙ Dynamic AABB which updates based on bone extents, plus padding factor
- ◙ Sampler matching with Cg / HLSL
- Currently you need to use ': register(s0)' etc to match up samplers and texture_unit entries reliably. Allow the option of matching based on texture_unit name instead?
- ◙ RT shader system improvements
- ◙ Photoshop blending modes
- ◙ HLSL 4 support (for D3D10 and D3D11)
- ◙ OpenGL ES 2.x support