- Core changes
- OgreFont: default to ASCII instead of Latin1
- OgreMain: deprecate getErrorDescription
- OgrePixelFormat: deprecate PF_A4L4
- SceneManager: except if trying use FFP technique on RS without support
- GpuProgramManager: add strict mode
- OgreSharedPtr: replace staticCast usages by static_pointer_cast
- RenderSystemCapabilities: introduce CAPS_CATEGORY_COMMON_3
- ResourceGroupListener: do not require implementing any methods
- Bugfixes
- CompositorInstance: fix crash when MRT constructor failed
- Correction of EXP and LOG operations on Quaternions.
- SceneManager: clean up own shadow materials on destruction
- SimpleRenderable: respect mRenderQueuePriority
- OgreD3D9Texture: also generate mipmaps for NPOT textures
- OgreQuaternion: Norm should take the square root
- All GL Render Systems:
- consistent handling of PF_DEPTH
- consistently print all extensions on a single line
- fix swizzling for luminance formats
- generate mipmaps after blitting level 0 and remove software path
- introduce RSC_DEBUG to simplify checks
- map GL_RGB8 to PF_R8G8B8 instead of PF_X8R8G8B8 to be consistent
- GL3Plus
- add glsl450 shader profile
- disable PBOs for texture uploading (performance warning)
- explicitly mark unsupported formats to get warnings for misses
- fix glDebugMessageInsert usage and spam by beginProfileEvent
- fix GL_DEBUG_OUTPUT mode
- update gl3w to latest upstream using pre 4.5 GL/glcorearb.h
- GLES2:
- allow compressed 3D textures also when using the extension
- allow enabling of array texture support at runtime
- allow pure depth/ stencil FBOs on Android
- declare glsl300es/ glsl310es/ glsl320es shader profiles
- do no exclude classes from compilation in GLES2 mode
- drop gles2w as GLES3 is backward compatible
- except if unimplemented path is used
- explicitly mark unsupported formats to get warnings for misses
- glLabelObjectEXT must be called after glBindBuffer
- HardwarePixelBuffer - unify GLES2/3 upload paths
- iOS - guard SSO RSC declaration instead of every usage site
- remove unused header
- replace EXT by gl3core functions at runtime
- skip unprefixed extensions on emscripten for consistency
- support GL_ANGLE_instanced_arrays
- use RSC_VERTEX_BUFFER_INSTANCE_DATA instead of ext string
- fix PF_BYTE_LA
- fix loading compressed DDS mipmaps
- RTSS
- add strict mode
- assert that FunctionInvocation parameters are not NULL
- deprecate looking up materials by name to speed up things
- listen for Material removed events and remove according techniques
- Samples
- SampleBrowser: do not drop all RTShader techniques on sample unload. This broke loading any RTSS using sample.
- AndroidJNI - port to ApplicationContext
- DeferredShading - make it compatible with the RTSS
- Emscripten - allow using STRICT_MODE
- Terrain - check for capability instead of RS name
- use gles300es profile instead of compile option for checking
- move android JNI sample to Samples dir
- Python: allow simple sample to run with RTSS
- Tests
- add Quaternion::Norm test
- update for FFP usage exceptions
- stop using SharedPtr to std containers. They are managed already
- PlayPen_BlitSubTextures: allocate matching format so GLES2 can pass
- Other Changes:
- Bites: ApplicationContext - do not require android_native_app_glue
- HLMS: stop using StringVectorPtr [minor API break]
- D3D9: replace getErrorDescription by DXGetErrorDescription
- CI
- Android - build JNI sample
- update to visual studio 2017
- CMake
- detect all required headers in one run
- factor out copy_assets_to_android_proj
- remove OGRE_USE_BOOST option
- Docs
- changelog - use more markdown for formatting and add 1.10 stub
- port Deferred Shading Tutorial to Doxygen
- update 1.10 Notes