Skip to content

Releases: OGRECave/ogre

v1.10.4

23 Apr 23:51
Compare
Choose a tag to compare
  • 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

28 Mar 23:20
Compare
Choose a tag to compare
v1.10.3 Pre-release
Pre-release
  • 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

12 Feb 16:05
Compare
Choose a tag to compare
v1.10.2 Pre-release
Pre-release

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 of Mesh::getSubMeshIterator
    • see the deprecation list for details
  • 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

30 Dec 23:24
Compare
Choose a tag to compare
v1.10.1 Pre-release
Pre-release
  • 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

v1.10.0

22 Dec 00:59
Compare
Choose a tag to compare
v1.10.0 Pre-release
Pre-release

v1.9.1

24 Nov 13:31
Compare
Choose a tag to compare