Releases: OGRECave/ogre
Releases · OGRECave/ogre
v1.10.4
- Dependencies: build SDL2 on Windows for convenience
- API
- add FileSystemLayer::resolveBundlePath
- Bites: ApplicationContext - const correctness
- MovableObject - devirtualise methods not meant to be overridden
- OgreArchive: make accessor methods const - they dont change the archive
- OgreRenderable - devirtualise methods not meant to be overridden
- HLMS: fix typos and add const correctness and mark it BETA
- OgreMain: update stb image to 2.15
- Docs
- manual - merge enums with headers
- port Volume tutorial from wiki
- various Doxygen related fixes
- BuildingOgre: update dependency lists and fix formatting
- OgreRenderSystem: reorder and add missing miscParams
- Bugfixes
- OgreStreamSerialiser: switch back to SuperFastHash
- OgreStringConverter: fix parseSizeT for MSVC
- StringConverter: fix typo in parseInt and improve respective test
- fix clang 3.9 undefined-var-template warnings
- GLSLPreprocessor: workaround for macro expansion
- GLSupport: catch possible exception in ~EGLContext
- GLES2: fix MSAA discovery and propagation to RTT when RTT has no MSAA
- GLES2: multi-sampled FBO requires GLES3 at compile time for now
- GL3+ Fixed: incorrect GL internal format for PF_A2B10G10R10.
- GL: correctly check for NV_gpu_program4 instead of the doc extensions
- OGREConfig.cmake: do not add SDL2 libs/ include if they are -NOTFOUND
- CMake: ios.toolchain - silence warnings with newer CMake versions
- CMake: freeimage already handles EXR, so disable the plugin
- CMake: use absolute paths for downloading deps
- CMake: OGREConfig - collect all libraries for static build
- Python: install Bites and Overlay component bindings
- Python: clean up CMake and do not wrap C++98 compatibility symbol
- CI:
- run unit tests on Windows
- update to xcode 8.3
- Samples:
- fix ParticleGS with non GLSL RenderSystems
- Emscripten - fix for strict mode
- Tools: drop legacy blender exporters
- VTests: remove broken parsing of individual test results
- swig: wrap ParameterList
v1.10.3
- 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
v1.10.2
No longer a fork merged with bitbucket and removed custom branding.
As this involved a rebase, here is the proper diff to 1.10.1.
- New API
- GLSupport: export necessary AndroidEGLWindow API
- the RTSS shaders can be dumped at runtime using
ApplicationContext::setRTSSWriteShadersToDisk(true)
- add
MaterialManager::getDefaultMaterial()
to avoid hard-coding BaseWhite - OgreAny: extend API to be compatible with std::any
- introduce
OgreAssertDbg
macro that only fires in debug mode
- Faster Strings:
- StringConverter: drop locale support for faster parsing (always uses "C" locale)
- StringUtil: use strn(i)cmp for startsWith endsWith
- MurmurHash3 everywhere:
- RTSS: ShaderProgramManager - use MurmurHash3 instead of ad-hoc solution
- FastHash: use MurmurHash3_x86_32 internally instead of SuperFastHash
- OgrePass: clean up HashFuncs and default to MinGpuProgramChangeHashFunc
OGRE_RESOURCEMANAGER_STRICT
- makes ResourceManager strict for faster and easier operation:- resource names are case sensitive
- only indexed resources are found
- resource groups correspond to namespaces by default now
- many Ogre functions now require the group argument to remove ambiguity
- no unpredictable fallbacks to the global resource pool
- Samples/ Tests: run with
OGRE_RESOURCEMANAGER_STRICT
- add Ogre prefix to Internal and Autodetect group names
- deprecate OgreIteratorRange and Ogre*iterator
- access the vector directly using e.g.
Mesh::getSubMeshes()
instead ofMesh::getSubMeshIterator
- see the deprecation list for details
- access the vector directly using e.g.
- Platforms
- Fixed WinRT build - let SDL2 handle events
- fix compilation with MinGW
- OSX: autodetection instead of explicit macAPICocoaUseNSView parameter
- Bugfixes:
- OgreInstanceBatch: correct bounding radius calculations and material LOD
- OgreInstancedEntity scaling behavior should match OgreEntity scaling
- Bites: correct ifdef in AdvancedRenderControls
- OgreTechnique: do not crash if _compile called without a RenderSystem
- Dependencies.cmake: update zlib to 1.2.10 as zlib 1.2.8 is gone
- CMake: set CMAKE_BUILD_TYPE more robustly and remove obsolete checks
- Backported Display Refresh Rate bugfixes from from 2.1
- GLSL Preprocessor: fix incorrect Macro functions expansion with braces
- OgreMain: Hash/MurmurHash3.h -> OgreMurmurHash3.h to be consistent
- New Instancing: fix broken shadows in Sample
- ShadowVolumeExtrudeProgram: correctly set stencil shadow params for GLSL
- [D3D11] Fixed crash on rendering to texture due to the unsupported FSAA level
- GLES2: allow multisampled FBOs if supported
- OgreZip: throw on error to be consistent with FileSystemArchive
- Samples: reset frame statistics between sample runs
- OgrePass: clean up HashFuncs and default to MinGpuProgramChangeHashFunc
- Better Testing:
- Tests: port to gtest
- Tests: add regression test for InstancingEntity bounds
- Tests: allow building and running on android (see NDK docs how)
- Tests: use FileSystemLayer to resolve data and thus are distributable now
- Tests: fix startup on OSX
- Tests: add regression tests for GLSupport/ CPreprocessor
- Tests: correct mesh exporting and do not leave temporary files behind
- Other Changes:
- Sample Media is now in "General" group instead of "Popular"
- throw on
OgreAssert
in Release builds by default - Node - devirtualise methods not meant to be overridden
- SceneNode: devirtualise methods not meant to be overridden
- devirtualise internal only and final objects
- Changed allocation policies to use noalias & restrict optimizations
- OgreMath: replace slow and mostly unused asm_math.h by inline function calls
- ResourceGroupManager: avoid searching the same groups multiple times
- ResourceGroupManager: remove duplicate locks
- GLES2: drop GpuProgram indirection
- MSVC: remove obsolete Wd and pragma warning directives
- OgreMain: drop OgreHeaderPrefix/ Suffix
- OgreMain: use Ogre::String in PixelFormatDescriptions to avoid copy
- GL/GLES2: simplify StateCacheManager structure
- OgreScriptTranslator: print actual error description
- OgreArchiveManager: raise an error if readOnly flag does not match
- devirtualise internal only and final objects
v1.10.1
- CMake: replace Ogre*Prerequisites.h by according generate_export_headers
- CMake: respect QUIET flag
- GLES2: fix HW mipmaping with GLES3
- GLSLProgram: Fixed parsing of define strings like "..;DEFINEWITHOUTVALUE"
- GLSupport: add unified GLSLProgramCommon
- merge OgreConfig.h and OgreBuildSettings.h
- OgreBites: factored out InputListener interface from AppContext [API break]
- OgreBites: factor out AdvancedRenderControls from SdkSample
- OgreBuildSettings.h.in: simplify by using #cmakedefine01
- OgreIdString: replace NDEBUG usage by OGRE_DEBUG_MODE
- OgreSharedPtr: extend API to be compatible with std::shared_ptr
- Plugins: EXRCodec - fix cmake discovery and dll exports
- ResourceManager: const correct remove(const ResourcePtr&)
- Samples: Compositor - correctly unregister Listener (fixes SEGV)
- Samples: Deferred Shading - fix item identity exceptions