History: GhadamonNotes
Source of version: 14
Copy to clipboard
Welcome to the ChangeLog and Porting Notes for __OGRE 1.9.0 "Ghadamon"__ - currently available as Release Candidate 1
{maketoc}
!!ChangeLog
__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 Volume Rendering component with LOD. See [SoC2012+Volume+Rendering+with+LOD+aimed+at+terrain|GSoC 2012 Volume Rendering]
*Many Terrain improvements.See [SoC2012+Improve+and+Demo+the+Terrain+System|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 from 1.8, documentation fixes and updates and general code improvements including:
**[https://ogre3d.atlassian.net/browse/OGRE-2|OGRE-2] - OverlayComponent break linux build
**[https://ogre3d.atlassian.net/browse/OGRE-5|OGRE-5] - Hardware gamma corrected textures are not working with Nvidia cards (Windows)
**[https://ogre3d.atlassian.net/browse/OGRE-9|OGRE-9] - DFREEIMAGE_LIB prevents dynamic linking to FreeImage
**[https://ogre3d.atlassian.net/browse/OGRE-12|OGRE-12] - Lots of PixelFormat are missing corresponding DXGI_FORMAT in D3D10Mappings
**[https://ogre3d.atlassian.net/browse/OGRE-14|OGRE-14] - Bad image data for single-channel opacity maps
**[https://ogre3d.atlassian.net/browse/OGRE-16|OGRE-16] - Material alpha effect error
**[https://ogre3d.atlassian.net/browse/OGRE-21|OGRE-21] - RenderSystemCapabilitiesCreated event needs to be added to all render systems
**[https://ogre3d.atlassian.net/browse/OGRE-32|OGRE-32] - Bloom + Wireframe Issue
**[https://ogre3d.atlassian.net/browse/OGRE-37|OGRE-37] - shadow_receiver_vertex_program_ref in a material corrupts shadow behaviour for other materials
**[https://ogre3d.atlassian.net/browse/OGRE-40|OGRE-40] - Ogre fails to build with TBB on Linux
**[https://ogre3d.atlassian.net/browse/OGRE-44|OGRE-44] - Race condition
**[https://ogre3d.atlassian.net/browse/OGRE-45|OGRE-45] - Issues with building OGRE from src
**[https://ogre3d.atlassian.net/browse/OGRE-46|OGRE-46] - Cubemap with combinedUVW is sampled improperly (ogre 1.8, OpenGL ES 2.0, iOS4.3.3 iPod4)
**[https://ogre3d.atlassian.net/browse/OGRE-50|OGRE-50] - Problem with stencil shadows issued from a directional light
**[https://ogre3d.atlassian.net/browse/OGRE-53|OGRE-53] - FrameListener and Root::renderOneFrame() confusion
**[https://ogre3d.atlassian.net/browse/OGRE-56|OGRE-56] - MeshSerializerImpl::calcGeometrySize returns incorrect value
**[https://ogre3d.atlassian.net/browse/OGRE-64|OGRE-64] - Isometric surface sample broken for Mac OpenGL target
**[https://ogre3d.atlassian.net/browse/OGRE-65|OGRE-65] - Compositors interact poorly with uses of scene manager visibility flags
**[https://ogre3d.atlassian.net/browse/OGRE-67|OGRE-67] - Water sample causes buffer leaks on configuration change
**[https://ogre3d.atlassian.net/browse/OGRE-69|OGRE-69] - Scaled SceneNode's getWorldBoundingSphere() incorrect since 1.7
**[https://ogre3d.atlassian.net/browse/OGRE-70|OGRE-70] - OS X: CMake install does not install framework, FindOGRE fails
**[https://ogre3d.atlassian.net/browse/OGRE-74|OGRE-74] - Microcode caching broken when using GLSL shaders
**[https://ogre3d.atlassian.net/browse/OGRE-75|OGRE-75] - Render system config window crash on linux.
**[https://ogre3d.atlassian.net/browse/OGRE-76|OGRE-76] - Please consider using another font for samples
**[https://ogre3d.atlassian.net/browse/OGRE-78|OGRE-78] - "receive_shadows off" doesn't work with custom pixel and vertex shaders.
**[https://ogre3d.atlassian.net/browse/OGRE-84|OGRE-84] - Make iOS build simulator/device libs to separate locations
**[https://ogre3d.atlassian.net/browse/OGRE-87|OGRE-87] - Example framework updates for Overlay Component
**[https://ogre3d.atlassian.net/browse/OGRE-88|OGRE-88] - Applications not rendered on android 4.1 (asus eee pad) after system upgrade
**[https://ogre3d.atlassian.net/browse/OGRE-90|OGRE-90] - HTML.cfg.in does not handle spaces in directory name (also OUTPUT directory)
**[https://ogre3d.atlassian.net/browse/OGRE-91|OGRE-91] - Stack overflow in SceneManager::destroySceneNode
**[https://ogre3d.atlassian.net/browse/OGRE-93|OGRE-93] - GCC warning
**[https://ogre3d.atlassian.net/browse/OGRE-96|OGRE-96] - Direct3D9 RenderSystem cannot be built when Win8-SDK (or Visual Studio 2012) is installed.
**[https://ogre3d.atlassian.net/browse/OGRE-99|OGRE-99] - Little bug in SceneManager::_renderScene
**[https://ogre3d.atlassian.net/browse/OGRE-100|OGRE-100] - Switching render systems while a sample is still active crashes the application
**[https://ogre3d.atlassian.net/browse/OGRE-101|OGRE-101] - Hitting ESC in the BSP sample does not show the menu
**[https://ogre3d.atlassian.net/browse/OGRE-103|OGRE-103] - Some Compositor samples not working with OpenGL
**[https://ogre3d.atlassian.net/browse/OGRE-104|OGRE-104] - SSAO Sample doesn't work correctly in OpenGL
**[https://ogre3d.atlassian.net/browse/OGRE-105|OGRE-105] - Shader System Sample: Switching to PSSM3 shadows crashes the application
**[https://ogre3d.atlassian.net/browse/OGRE-106|OGRE-106] - Multi Light Sample doesn't start because of incorrect assumptions about render device
**[https://ogre3d.atlassian.net/browse/OGRE-107|OGRE-107] - Shadows Sample: Crash when switching to LiSPSM
**[https://ogre3d.atlassian.net/browse/OGRE-110|OGRE-110] - Material::getReceiveShadows() is ignored
**[https://ogre3d.atlassian.net/browse/OGRE-111|OGRE-111] - RenderQueueGroupMap sorting is broken
**[https://ogre3d.atlassian.net/browse/OGRE-112|OGRE-112] - Multi Light Sample do not work without CG plugin
**[https://ogre3d.atlassian.net/browse/OGRE-117|OGRE-117] - Debug builds of unit tests and samples do not use debug versions of libs
**[https://ogre3d.atlassian.net/browse/OGRE-119|OGRE-119] - [Papercut] TBB is broken in VS 2012
**[https://ogre3d.atlassian.net/browse/OGRE-120|OGRE-120] - DirectX9 make fails due changes in include path
**[https://ogre3d.atlassian.net/browse/OGRE-121|OGRE-121] - SampleBrowser_d crashes due to uninitialized GpuProgramManager singleton
**[https://ogre3d.atlassian.net/browse/OGRE-122|OGRE-122] - Broken compile: OgreWindowEventUtilities.h uses unknown type: RenderWindowList
**[https://ogre3d.atlassian.net/browse/OGRE-124|OGRE-124] - Matrix3::QDUDecomposition returns wrong value
**[https://ogre3d.atlassian.net/browse/OGRE-125|OGRE-125] - OGRE Root should take absolute paths as well.
**[https://ogre3d.atlassian.net/browse/OGRE-128|OGRE-128] - Direct3D9 rendersystem crash on WindowsXP
**[https://ogre3d.atlassian.net/browse/OGRE-129|OGRE-129] - Cannot build Ogre using clang with -stdlib=libc++ option on OS X
**[https://ogre3d.atlassian.net/browse/OGRE-131|OGRE-131] - Compiling error with POCO with thread support 2 on Ubuntu 12.04
**[https://ogre3d.atlassian.net/browse/OGRE-132|OGRE-132] - Missing OgreCommon.h include in 1.9
**[https://ogre3d.atlassian.net/browse/OGRE-133|OGRE-133] - Render subsystem GL3Plus is missing in FindOGRE.cmake
**[https://ogre3d.atlassian.net/browse/OGRE-137|OGRE-137] - Letters damage in TextArea with center alignment while font material has no filtering
**[https://ogre3d.atlassian.net/browse/OGRE-139|OGRE-139] - Cannot compile D3D11: Missing simultaneous render target count
**[https://ogre3d.atlassian.net/browse/OGRE-140|OGRE-140] - Material errors in SampleBrowser
**[https://ogre3d.atlassian.net/browse/OGRE-142|OGRE-142] - OgreHardwareVertexBuffer and many other places use 32-bit floats even when OGRE built to use 64-bit floats
**[https://ogre3d.atlassian.net/browse/OGRE-148|OGRE-148] - Build error in OgreD3D11Texture.h using MinGW
**[https://ogre3d.atlassian.net/browse/OGRE-151|OGRE-151] - Startup Crash when using GL3+ on Windows
!!Porting notes
*GPU_ATI has been renamed to GPU_AMD
*Rectangle class has been removed. It was only used in OverlayElement. RealRect already included the same functionality and can be used as a replacement.
*Minimum OS X version is now 10.6
*ProgressiveMesh class has been removed. Use ProgressiveMeshGenerator instead.
!!Annotated roadmap
* Android Port (Owner: [http://www.ogre3d.org/forums/memberlist.php?mode=viewprofile&u=6949|Wolfmanfx])
** Remove eclipse based android port __[[done]__
** 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 __[[done]__
*** Use android tool chain to compile OGRE as static lib __[[done]__
** Cleanup RTSS (Remove OgreStringSerialiser) __[[done]__
** Improve platform integration
*** Add Android log listener into OgreRoot __[[done]__
*** Disable Filesystem- / Zip- / EmbeddedZip- Archives on android __[[done]__
*** Resource system improvements
**** OgreAPKFileSystemArchive to handle file access inside the APK __[[done]__
**** OgreAPKZipArchive so we can handle zip files inside the APK (APK is also compressed using zip) __[[done]__
** Improve EGL support
*** Create concrete subclasses of EGL-Support/Window/Context __[[done]__
*** Handle context creation / configs inside OGRE __[[done]__
*** 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) __[[done]__
**** Recreation of Texture, Shader, HardwareVertexBuffer __[[done]__
**** Recreation of FBO's (not working atm)
** ETC1 texture codec
*** PKM support __[[done]__
*** KTX support
** Sample browser
*** Add touch input support __[[done]__
*** Build a APK file via CMake command line __[[done]__
*** Add rotation support __[[done]__
*** Fix / Enable more samples
**** Compositor not working
** Improve CPU/ vendor detection __[[done]__
** Add how to build it on Linux / OSX / Win32 __[[in progress]__
** Provide pre-compiled dependencies __[[done]__
** Fix our dependencies so the can compile against the android tool chain __[[done]__
* OgreMain
** Extract the overlays from OgreMain and transform it into a own overlay component __[[done]__
* RTSS
** Changed error handling of RTSS sub-render state parameter creation. Sub-render state now throws exception on errors __[[done]__
** Added 2 new demo samples: multiple lights and textured fog __[[done]__
* DirectX 11 render system
** Add tessellation shaders support. __[[done]__
** Add tessellation sample. __[[done]__
** Add dynamic linking support. __[[done]__
* Windows Metro style application (WinRT)
** Add support as a new platform (named WinRT). __[[done]__
** Create a WinRT project for the sample browser. __[[done]__
** Create a how to compile file. __[[done]__
** Get all existing samples to work with the D3D11 render system.
** Multi monitor\device support.
* OpenGL render system
** Add tessellation shaders support.
* Windows Phone 8 port - __[[waiting for the WP8 SDK release]__
!!Talks about it
* [http://www.ogre3d.org/forums/viewtopic.php?f=4&t=70522|Roadmap to 1.9 and 2.0 (forum thread)]