Skip to content

Releases: OGRECave/ogre

v13.3.4

02 Apr 16:55
Compare
Choose a tag to compare
  • Dependencies: update zlib to 1.2.12 due to CVE-2018-25032
  • Docs: minor fixes

v13.3.3

27 Mar 18:04
Compare
Choose a tag to compare

What's Changed

  • Main
    • add plugin path separator on OSX too
    • Animation - correctly compute time index when time == end
    • apply cosmetic changes suggested by PVS-Studio
    • fix bugs detected by PVS-Studio
    • move shadow material initialisation to ShadowRenderer
    • SkyBox - construct box using a triangle strip
    • TextureUnitState - assert that sampler is valid
    • Root - allow calling openFileStream without a Root instance
    • InstanceBatchHW_VTF - assert that maxUsableWidth is correct
  • CMake
    • Dependencies: fix assimp in debug builds
    • Dependencies - use CONFIG mode for Qt according to CMP0086
    • set CMP0086 to NEW, as we dont rely on that
    • fix exported OGRE_PLUGIN_DIR
  • RTSS
    • normal_map - verify that referenced sampler exists & update docs
    • Delete default program processors
  • GL: allow geometry shaders via GL3.2 instead of EXT_geometry_shader4
  • Csharp: check for compiler presence on Linux
  • Docs
    • fix typos and merge text
    • LiSPSM - properly reference the papers
  • Samples
    • fix samples not loading on OSX
    • OpenCV - fix background being drawn on top

v13.3.2

11 Mar 18:13
Compare
Choose a tag to compare

What's Changed

  • Main
    • Material - add clone overload to correctly resolve char* parameter
    • Material - assert correct Listener behaviour in getBestTechnique
    • Material - slightly clean up clearBestTechniqueList
    • Material/ Technique - use macro to forward function calls to Pass
    • RenderQueue - simplify logic & early out in processVisibleObject
    • ShadowRenderer - correctly handle unsorted transparent casters
    • ShadowRenderer - do not require dummy empty lightList
  • CMake: resources.cfg - remove no longer used resource location
  • Bites: also scale button events on OSX
  • RTSS: PSSM3 - use projective space splits to allow reversed-Z
  • Vulkan: implement Reversed Depth mode
  • Docs: Pass - clarify when light clip planes are available
  • Samples
    • Browser - skip samples.cfg on static builds
    • fix Samples/ Tests exports
  • Tests
    • PlayPen - do not modify global material in LightClipTests
    • TestContext - get rid of plugin architecture/ tests.cfg

v13.3.1

17 Feb 12:58
Compare
Choose a tag to compare

What's Changed

  • CMake: respect OGRE_BIN_DIRECTORY for plugins on Windows
  • Docs
    • Add some more information on Shadow Mapping and some minor style corrections
    • scripts - add API samples for GpuProgram, Compositor and RTSS
  • Samples/ Docs: Shadows - modernize depth shadows sample
  • Tests: update gtest download URL

v13.3.0

12 Feb 21:13
Compare
Choose a tag to compare

Highlights

  • GL3+: improved performance by 10% when draw-call bound
  • Codec_Assimp: allow loading glTF2 meshes
  • RTSS: PBR material support
  • Improved Gamepad Support via Bites

What's Changed

  • Main
    • add PF_DEPTH24_STENCIL8
    • add type to GpuParamVariability
    • clarified WorkQueue request type values.
    • clean-up OGRE_ARCH_TYPE detection
    • deprecated RSC::getStencilBufferBitDepth
    • fixed memory usage calculation when cloning material (#2373)
    • Light - use point sized AABB to allow retrieval via SceneQuery
    • LodStrategyManager - forward declare MapIterator
    • log ExternalTextureSource error int ranslator instead of manager
    • Math - use std::log2 for Log2
    • Matrix3 - improve euler conversion documentation
    • Mesh - const correct _notifySkeleton
    • Rectangle2D
      • do not update bbox by default
      • set default positions & minor code cleanup
      • use infinite bbox by default
    • RenderWindow "border" param is not supported on Linux
    • ResourceGroupManager - unload Archive on removeResourceLocation
    • ResourceManager - provide common parseScript implementation
    • SceneManager
      • allow creating before RenderSystem init
      • disable normaliseNormals when there is no FFP
      • do not bind compute programs
      • move renderObjects to QueuedRenderableVisitor
      • we no longer have to re-issue texgen settings
      • modulative shadows - use autoconstants for shadow color
    • SceneNode - improve error message on duplicate object name
    • ScriptCompiler - unify OBJECTALLOCATIONERROR handling
    • ScriptTranslator - catch missing Particle Affectors/ Emitters
    • ShadowRenderer - move material definitons to script
    • simplify StaticGeometry::Region
    • Texture: call ManualResourceLoader as per Resource protocol
  • UnifiedShader
    • add FOG semantic
    • cover precision qualifiers
    • define mod() for HLSL
  • Media: drop unused Vulkan shaders
  • RTSS
    • CookTorrance - allow material level parametrisation
    • fix two-sided lighting on Vulkan
    • GLES - dont force highp precision on all shaders
    • gracefully handle shader compilation error
    • implement metallic-roughness PBR
    • merge FFPLib_Transform.{cg, hlsl}
    • simplify code by moving to shaderlib
  • Bites
    • ApplicationContextSDL - add gamecontrollerdb.txt support
    • ImGuiListener - add Gamepad support
  • CMake
    • clean up macro_log_feature calls
    • fix OpenGL build on OSX
    • rename FeatureSummary.cmake to avoid name clashes
    • treat minsizerel as release
    • Fix plugindir in OGRE pkgconfig files, fix OGRE-PCZ pkgconfig
    • Fix plugins not installed into OGRE_PLUGINS_PATH
    • Android: fix build with gradle 7
  • SWIG
    • sync ignores to deprecations
    • wrap MovableList
    • ImGui
      • enable passing ImTextureID
      • expose ImGuiStyle::Colors
      • set __version__ for Python
  • Assimp
    • apply some fixes to IO to make glTF importer work
    • Fix detection of assimp 5.1, upgrade bundled assimp, remove cmake workaround for CI (#2318)
    • AssimpLoader: optimize for fast loading by default
    • use normal and metal roughness maps if present
  • Terrain: GLSLES - only use highp precision where needed
  • Tools: create dummy skeletons - just as we create dummy materials
  • GL*
    • drop unused GLSLProgramCommon::extractLayoutQualifiers
    • HBL_NO_OVERWRITE does not imply DISCARD & update docs
  • GLSupport
    • EGL - fix restarting thread to GLES
    • GLX - fix selecting maximal supported context version
    • fix compilation on emscripten
  • GL3+
    • avoid conflict between OSX shader patching and UnifiedShader
    • clean up StateCache and unconditionally cache perf critical state
    • notify StateCache of VAO destruction
  • GL3+/ GLES2
    • enforce buffer discard with HBL_DISCARD
    • fix debug labelling of textures
  • GL: replace glew by glad, so we dont pull GLX & WGL any more
  • D3D9/ D3D11/ Cg: take target profile into account when caching shaders
  • D3D11: stop leaking D3D11DepthBuffer (#2357)
  • D3D9: use shared vertex/ fragment textures and deprecate binding_type
  • Metal
    • export metal device name
    • HardwareBuffer - clean up code
    • use PF_DEPTH24_STENCIL8 by default
  • Vulkan
    • Buffer - warn if user hits unimplemented codepath
    • enable RSC_VERTEX_TEXTURE_FETCH
    • export VulkanPlugin for static plugin loading
    • use persistent mapping for HBU_CPU_TO_GPU
  • Docs
    • correct External Texture Sources documentation
    • do not use deprecated *BufferSharedPtr for code appearing in docs
    • drop unused style.css
    • exclude private headers from API reference
    • improve InstanceManager documentation
    • improve particle-system documentation
    • License - better reference for Cuckoo font
    • update 13-Notes
  • Samples
    • add OpenCV ArUco sample
    • simplify ParticleGS Sample
    • Transparancy - check whether OIT is supported
    • Python: fix raw sample
    • Android: migrate to AndroidX

Development is funded by your contributions

If your company uses Ogre, consider supporting its development in return:

v13.2.4

13 Dec 00:24
Compare
Choose a tag to compare

What's Changed

Quick Fix for regression in v13.2.2, where OpenGL was no longer buildable on OSX

  • CMake: fix OpenGL build on OSX
  • GL3+: avoid conflict between OSX shader patching and UnifiedShader

v13.2.3

11 Dec 15:21
Compare
Choose a tag to compare

What's Changed

Quick Fix for regression in v13.2.0, where skeleton links are lost by OgreTools

  • Tools: create dummy skeletons - just as we create dummy materials

v13.2.2

09 Dec 02:31
Compare
Choose a tag to compare

What's Changed

  • Main
    • PixelFormat - use red channel when packing PF_A8 to match OpenGL
    • SceneManager - drop redundant calls to _setPolygonMode
    • ScriptTranslator - fix constant parameter parsing
    • shadow caster material should never receive shadows
    • Ogre.h - include OgreUnifiedHighLevelGpuProgram.h
  • CMake: clean up GL linking
  • Overlay: BorderRenderable - correctly follow parent PolygonModeOverride
  • GLSupport
    • clean-up VideoModes handling
    • Win32 - factor out switchMode
  • D3D9: Texture - fix generation of Cube mipmaps
  • Vulkan
    • add swizzling for PF_A8
    • enable PF_DEPTH32
    • Texture - fix mipmap generation for layerd textures
  • Docs
    • add fedora setup instructions (#2301)
    • improve SceneQuery documentation
    • Instancing - use real code snippets
  • Samples
    • Instancing - drop unused invShadowMapSize
    • VTFInstancing - clean up HLSL shaders
  • Tests: fix PlayPen_Distortion

Development is funded by your contributions

If your company uses Ogre, consider supporting its development in return:

v13.2.1

05 Dec 21:12
Compare
Choose a tag to compare

What's Changed

Highlight: PF_DEPTH support in D3D9

  • Main
    • Texture - fix loadImage after loadingstate changes
    • fixed build on old macOS
  • GLSupport
    • factor out common GLX & EGL X11-code
    • fix potential crash in EGLDisplay exception path
  • D3D11: allow PF_DEPTH as part of a MRT
  • GLES2: fix HardwareBuffer::readData
  • D3D9
    • add PF_DEPTH16 support via INTZ
    • do not call D3DXCheckTextureRequirements twice
    • Texture - streamline format selection
  • Samples: Compositors - use UnifiedShader for DOF on HLSL

Development is funded by your contributions

If your company uses Ogre, consider supporting its development in return:

v13.2.0

28 Nov 14:15
Compare
Choose a tag to compare

What's Changed

Highlight: Vulkan RenderSystem added

  • Main
    • Frustum - deprecate getProjectionMatrixRS
    • Mesh - drop mSkeletonName as it always matches mSkeleton
    • RenderSystemCapabilities - deprecate int&bool programConstantCount
    • RenderSystem - hard deprecate old StencilState API
    • ResourceGroupManager - move error checking to getResourceGroup
    • SceneManager - better GPU profiler grouping
    • ScriptTranslator - deprecate cull_software
    • ScriptTranslator - streamline parameter type parsing
    • ShadowRenderer - load spot_shadow_fade.dds ahead of time
    • Texture - ensure listeners are notified for manual textures too
    • TextureUnitState - drop reference to managed textures on unload
    • GpuProgramParams - dbg assert we dont write out of bounds
    • update zip/ miniz to 2.2.0
    • Use safe idiom for math constants.
    • allow instanced rendering w/o an instance buffer
    • Fix FTBFS on GCC 11
    • Media: drop obsolete HLMS shaders
    • remove windows defines from cross-platform code
  • Bites
    • ApplicationContext - add method to query the current DPI
    • Trays - disable transparent sorting to improve batching
  • UnifiedShader
    • add OGRE_UNIFORMS macro to toggle UBO usage
    • add row_major for Vulkan
    • correctly guard Vulkan specific macros
    • fix availability of semantic aliases
    • map ivecN to HLSL
    • add all TEXCOORDn defines
  • RTSS
    • allow targeting glslang
    • further refactor parameter writing
    • GLSL - enable binding samplers in shaders via UnifiedShader
    • GLSL - let UnifiedShader take care of gl_FragColor differences
    • GLSL - use separate program linkage when available
    • GLSL - Vulkan is strict regarding vertex attribute type
    • GLSL - we can safely use custom attribs for VES_COLOUR everywhere
    • GLSL - write params as UBOs when using SPIRV
    • GLSL - write uniform location when possible
    • merge GLSLESProgramProcessor into GLSLProgramProcessor
    • ProgramManager - use writer language as cache-file extension
    • refactor ProgramProcessor registration
    • refactor ProgramWriter registration
    • update ShadowPCF4 for Vulkan
    • use UnifiedShader sampler declarations with all ProgramWriters
    • write semantics with GLSL too - to be used as attribute locations
  • Overlay
    • fix missing bits for HiDPI support
    • Font - disable transparent sorting to improve batching
    • ImGui - use Vulkan friendly buffer management
    • revert our changes to utf8_decode that broke it
    • update imgui to 1.85
  • Terrain
    • avoid interrupting rendering for Vulkan compatibility
    • GLSL - add Vulkan support
    • use texture unit count instead of shader language as heurstic
  • GLSLang
    • correctly read alignment of UBOs
    • do not register if SPIRV is not supported
    • SPIRV-Tools dependancy is superfluous
    • UBO - fix wrong size and disable logical indexing
    • do not pad 1-element uniforms as per std140
    • use latest GLSL version to get all features
  • Vulkan
    • add new RenderSystem based on ogre-next version
    • currently classified as BETA
  • D3D*: drop unused createInternalResources overload
  • D3D11
    • allow using debug markers, regardless of Ogre instrumentation
    • HLSLProgram - destroy default buffer on unload
  • D3D9
    • HLSLProgram - set correct bufferSize when reading microcode
    • stop counting constants twice for parameter buffer size
  • GL*
    • drop superflous GLHardwarePixelBuffer indirection
    • RTT Preferred Mode is legacy GL specific
    • allow PF_DEPTH MRT on GL & GLES2 + small fix for GL3+
  • GL3+
    • allow binding samplers in shader
    • use BaseVertex variants for vertexStart instead of trashing VAO
  • Metal
    • drop superflous code-paths
    • finish DepthBuffer support
    • simplify uniform index offset handling
    • fix wrong VES_TANGENT location
  • Docs
    • BuildingOgre - add Vulkan requirements
    • BuildingOgre - update dependancy list
    • improve cmake part of bootstrap tutorial
    • improve instancing section
    • Manual - rework hardware buffers section
    • Manual - adapt some pages for new theme
    • move library descriptions from Tutorial1 to Setup
    • use doxygen awesome theme for readability & mobile support
    • add Metal and Vulkan to modules and remove GLSupport
  • Samples
    • Browser - fix drawing of Thumbnails
    • Browser: scale overlay on HiDPI displays
    • Instancing - drop check for specific shader languages
    • LightShafts - update for Vulkan
    • PBR - update for Vulkan
    • Skinning - make sure we query the correct scheme
    • TextureArray - update for Vulkan
    • use UnifiedShader for B&W compositor to get Vulkan support
    • Fresnel - port to UnifiedShader for Vulkan support
    • implement DoF compositor
    • ShaderSystem - move InstancedViewports code to that SRS
  • Tests
    • update gtest to 1.10
    • BillboardText - use non-ascii pangram to test utf8 decoding

Development is funded by your contributions

If your company uses Ogre, consider supporting its development in return: