Axiom To Ogre v1.8 - Axiom : A 3D Rendering Engine in C#

Axiom To Ogre v1.8

From Axiom

Jump to: navigation, search
 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

Porting notes

TerrainSceneManager has been removed. You should be using Components/Terrain now.

Annotated roadmap

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
Powered by MediaWiki GNU Free Documentation License 1.2