OGRE Changelog

What's new in OGRE 1.9.0

Nov 26, 2013
  • Core Improvements:
  • OgreMain
  • Extract the overlays from OgreMain and transform it into a own overlay component
  • Progressive Mesh improvements and new Mesh LOD sample.
  • Loads of documentation updates
  • Added Mesh::mergeAdjacentTexcoords to collapse two adjacent texcoords into one (i.e. float2 texcoord0 & float2 texcoord1 become float4 texcoord0)
  • According to the documentation, the default SceneManager ambient light should be black, which is wasn't though.
  • SceneManager: updateSceneGraph should happen BEFORE prepareShadowTextures.
  • AtomicScalar operators should be returning their value. Only affects using GCC or Clang.
  • New class ProgressiveMeshGenerator to degenerate mesh detail at runtime.
  • Bug fix for Sphere::merge. Inaccurate results can occur if one sphere does not fully encompass the other.
  • New LOD strategies 'distance_box' and 'screen_ratio_pixel_count'. Details, see Ogre Manual.
  • SharedPtr moved to use atomics (related API change see below in the porting notes).
  • SubMesh has a new method: clone(const String& newName, Mesh *parentMesh) to perform deep copies of SubMesh objects. The second parameter is optional and can be used to reparent a SubMesh.
  • Removed Configfile::load(const String& filename, const String& resourceGroup, const String& separators, bool trimWhitespace) because it can easily be ambiguous. If you wish to load from a resource group, use the existing function loadFromResourceSystem. The arguments are identical to the removed function. See OGRE-175.
  • New Volume Rendering component with LOD. See GSoC 2012 Volume Rendering
  • Many Terrain improvements.See GSoC 2012 Terrain Improvements
  • RTSS
  • Changed error handling of RTSS sub-render state parameter creation. Sub-render state now throws exception on errors
  • Added 2 new demo samples: multiple lights and textured fog
  • CgProgramManager
  • Added support for high-level output profiles glslv/glslf/glslg and hlslv/hlslf (glslg not fully working yet)
  • Platform Support:
  • Android Port
  • Remove eclipse based android port
  • CMake based build support
  • Create find Ant / NDK packages (currently Ant and the NDK must be in the global path)
  • Generate android make files for the sample browser
  • Use android tool chain to compile OGRE as static lib
  • Cleanup RTSS (Remove OgreStringSerialiser)
  • Improve platform integration
  • Add Android log listener into OgreRoot
  • Disable Filesystem- / Zip- / EmbeddedZip- Archives on android
  • Resource system improvements
  • OgreAPKFileSystemArchive to handle file access inside the APK
  • OgreAPKZipArchive so we can handle zip files inside the APK (APK is also compressed using zip)
  • Improve EGL support
  • Create concrete subclasses of EGL-Support/Window/Context
  • Handle context creation / configs inside OGRE
  • Resource recreation / Handle it like DX device lost / restore
  • Add managed resource class which every resource derive from (only active on Android - handled via macros)
  • Recreation of Texture, Shader, HardwareVertexBuffer
  • ETC1 texture codec
  • PKM support
  • Sample browser
  • Add touch input support
  • Build a APK file via CMake command line
  • Add rotation support
  • Fix / Enable more samples
  • Compositor not working
  • Improve CPU/ vendor detection
  • Add how to build it on Linux / OSX / Win32
  • Provide pre-compiled dependencies
  • Fix our dependencies so the can compile against the android tool chain
  • Windows Metro style application (WinRT)
  • Add support as a new platform (named WinRT).
  • Create a WinRT project for the sample browser.
  • Create a how to compile file.
  • Get all existing samples to work with the D3D11 render system.
  • Multi monitor\device support.
  • Windows Phone 8 port.
  • OS X
  • Add a helper function to get a sandbox friendly temp file name for iOS and OS X.
  • Other fixes to file handling in response to App Store rules.
  • Support for building with libc++ on OS X.
  • Proper example of DisplayLink usage in the SampleBrowser.
  • Plugins and components are now built as frameworks.
  • Add escape key as a shortcut for Cancel. Fix crash when hitting cancel as well.
  • RenderSystems:
  • DirectX 11
  • Improvements from GSoC project.
  • Add tessellation shaders support.
  • Add tessellation sample.
  • Add dynamic linking support.
  • DirectX 9Ex support
  • Added OpenGL 3+ RenderSystem. Still marked as experimental and under heavy development.
  • OpenGL ES
  • GLES 2 terrain support.
  • OpenGL ES state and uniform caches.
  • Rewrote PVRTC codec, adding cube map, 3D and mipmap support. Only files created with PVRTexTool are supported now, not Apple's texturetool utility.
  • Experimental OpenGL ES 3.0 support.
  • GL RenderSystem
  • GLEW updated to 1.9.0.
  • Remove restriction that all GLSL programs have the same matrix order when linking.
  • Numerous other bug fixes, documentation fixes and updates and general code improvements.

New in OGRE 1.6.5 (Jan 11, 2010)

  • If Mesh::buildTangentVectors is called and causes vertex splits, and mesh had pose animation, make sure we fix up the poses too.
  • Change 0 -> NULL in Dx9 Present() call, user reported issue on Intel G33/G31 GPU allegedly resolved by this (illogical, but does no harm)
  • Fix a crash when trying to render a line list with stencil shadows enabled
  • Deal with Dx9 device lost for hardware occlusion queries better
  • Fix problem in OpenGL when mixing anisotropy levels in different texture units on the same pass
  • Fix Win x64 RTC issues with timer
  • Fix bug in HLSL with 3x4 matrix arrays
  • Culling fixes for InstancedGeometry
  • Prevent GLX ConfigDialog from creating empty dropdown elements which cause a crash when clicked on.
  • Fix straggling texture unit state bug with multiple contexts in GL.
  • PF_L8 is not likely to be a valid render target format on many cards, use PF_X8R8G8B8 as is the default for non-depth shadows.
  • Documentation updates