Skip to content

Releases: OGRECave/ogre

v14.2.4

14 Apr 21:53
Compare
Choose a tag to compare
  • Main: Log - spell out %T as MinGW does not support %T
  • Bites: fix building without imgui
  • Dependencies: update assimp to 5.4.0
  • DotScene: Add support for LT_RECTLIGHT (#3074)
  • Property: range loop refactoring
  • MeshUpgrader
    • Add option to print version
    • Log packing of normals and tangents
  • Docs: fix typos (#3072)

v14.2.3

28 Mar 17:42
Compare
Choose a tag to compare
  • Main
    • Material - fix technique loading regression introduced in v14.2.1
    • ScriptTranslator - report if texture is re-declared with different settings
    • ShadowRenderer - check that tech and pass exists
    • Technique - allow compiling simple techniques without RS
  • GL3+: fix getClosestGLImageInternalFormat (#3065)
  • GL: Update ps_1_4.cpp (#3066)
  • MeshLOD: range loop refactoring (#3064)
  • Samples: Character - use InputListenerCain for event propagation

v14.2.2

07 Mar 13:46
Compare
Choose a tag to compare

this is a fixup for v14.2.1 to restore language binding support with SWIG 4.2.1

changes:

  • SWIG: fix typed enums in Csharp
  • SWIG: ignore getPropertyName

v14.2.1

05 Mar 22:57
Compare
Choose a tag to compare
  • Main
    • GpuProgramManager - bump Microcode cache version
    • Material - ensure supported techniques are refreshed on reload
  • SWIG: correctly wrap time_t
  • Bullet: DebugDrawer - fix typo in line color conversion
  • D3D11: Revert "removed unecssary null ptr checks + changed NULL to nullptr"
  • Samples: Media - remove unused files
  • Tests: make sure Trays are not shown when samples are run as Tests

v14.2.0

25 Feb 22:56
Compare
Choose a tag to compare

Highlights

  • Bites: added ImGui based config dialog
  • Tools: expose vertex cache optimizer in MeshUpgrader
  • various bugfixes and performance optimizations

What's Changed

  • Main
    • add SceneNode destroyChildAndObject etc convenience methods (#2963)
    • ControllerManager - use std::vector for ControllerList
    • copyMatchingNamedConstantsFrom - switch to release assert
    • deprecate RSC_POINT_EXTENDED_PARAMETERS
    • fix spelling error in MOT_FRUSTRUM (#2943)
    • GpuProgramManager - improve missing shared_params error message
    • GpuProgramParameters - fix edge cases for params of invalid logicalIndex or single float size
    • GpuProgramTranslator - skip params on programs that failed to load
    • inline Math::UnitRandom as it is on the hot path for particle emission
    • Log - use put_time for timestamp formatting
    • ParticleSystem - add profiling instrumentation
    • ProfileInstance - simplify logResults
    • ResourceManager::remove - check whether we created the resource
    • RSC - domain and hull programs always come together
    • SceneManager - add Static Geometry collection access (#2987)
    • SceneManager - dont bind compute programs. They are dispatched differently
    • ScriptTranslator - unify ID to GpuProgramType translation
    • SimpleSpline - make coeffs static and simplify constructor
    • simplify ParticleSystemTranslator
    • SubEntity - provide correct bone matrices for binding pose
    • Technique
      • also check RSC_WIDE_LINES for compatibility
      • check RSC_POINT_SPRITES availability
      • do not add superfluous newline to compileErrors
      • try to catch user missing a program type early on
      • also check TEX_TYPE compatibility in programmable passes
    • VertexCacheProfiler - add average cache miss ratio metric
    • workaround any_cast on iOS by using strcmp
    • WorkQueue - move WorkerThreadCount to interface
    • fix compilation with double
    • fix emscripten build on apple
    • removed unecssary null ptr checks + changed NULL to nullptr
  • CMake
    • bump required version to 3.13
    • check for pugixml before enabling dependent options
    • fix ios toolchain for cmake 3.28
    • let CMake decide on the xcode attributes
  • Dependencies
    • update Assimp to version 5.3.1
    • update freetype to version 2.13.2
    • update pugixml to version 1.14
    • update SDL2 to 2.28.5
    • update imgui to 1.90.4
    • update zlib and switch to github mirror (#3031)
    • update bundled stb_truetype to version 1.26
  • SWIG
    • fix building with swig 4.2.0
    • ignore some deprecated functions
    • use argument_fail for consistent type error reporting
  • RTSS
    • also check if the src technique is supported
    • cloneShaderBasedTechniques - ensure src material is loaded
    • GLSLProgramWriter - skip gl_PointSize in Fragment Shader
    • remove empty function stubs
    • unify writeProgramDependencies
    • use same variable name for vs out and ps in
  • Overlay
    • add workaround for whitespace advance when using stbtt
    • Container - update children first as notifyParent may call initialise on them
    • Font
      • drop obsolete character_spacer StringInterface
      • use antialias_colour by default and deprecate the off state
    • FontManager - drop unimplemented methods
    • ImGui
      • also clean font texture and material
      • implement renderer configuration dialog
      • wrap PlotHistogram, PlotLines for python
      • improve error message in addFont
    • ProfileSessionListener - fix crash in finializeSession
    • store zorder as ushort instead of ulong
    • use runtime assert to check zorder range
  • Bites
    • allow force disabling native ConfigDialog
    • ApplicationContext
      • add convenience functions to bring up ImGui
      • add runRenderingSettingsDialog
      • const correct getFSLayer
      • deprecate ApplicationContext::reconfigure
    • ImGuiInputListener - silently ignore events if context dissapeared
    • InputListenerChain - forward frameRendered events and add empty() method
    • range loop refactoring (#3013)
  • MeshLOD
    • fix not using CacheList when we should
    • LodOutputProviderMesh - correctly assign indexStart
    • range loop refactoring (#3016, #3024, #3037, #3014)
  • Bullet: add basic documentation
  • Assimp: fix version printing. revision is the git hash
  • RsImageCodec: fix build with latest Rust toolchain
  • GLSLang
    • check that a valid UBO name is used
    • compile as std17, to allow using recent Vulkan SDKs
  • D3D11
    • do not set any PointSize related RSC as it is unsupported
    • HLSL - drop logical indexing as it makes no sense
    • HLSL - give up on custom alignment logic
    • range loop refactoring (#2972)
    • Texture - src image attributes should not be overwritten
  • D3D9: drop unused _setSrcAttributes
  • GLSupport
    • add leading whitespace to FSAA options
    • const correct GLSLPreprocessor
    • range loop refactoring (#2968)
  • GL3Plus
    • alias CS UBO to VS UBO as both wont be present at the same time
    • do not crash if nonexistant shared_params are referenced
  • GL: const correctness for ps_1_4 testCompile
  • Vulkan: correctly check for RSC_POINT_SPRITES
  • GLES2: turn on normalization for VET_INT_10_10_10_2_NORM
  • Tools: MeshUpgrader
    • add optvtxcache flag to optimize vertex cache
    • more robust argument number check
  • Docs
    • actually link to the last two API references
    • fix copydoc usage in material-scripts.md
    • fix formatting of Changelog
    • list mesh tool parameters in manual
    • slightly improve the Shadow Mapping tutorial
    • update 14-Notes
    • update required compilers
  • Samples
    • Browser
      • use InputListenerChain
      • use ImGui based renderer config dialog
    • Sample/ SdkSample
      • do not duplicate FrameListener API
      • remove superfluous boilerplate methods
      • drop unused WindowEventListener methods
      • register input directly with context
      • expose ApplicationContext to Samples
      • take care of trays internally
      • use InputListenerChain for clear input propagation
      • move input related stuff to SdkSample
    • range loop refactoring (#2993)
    • PNTriangles - use requireMaterial
  • Tests
    • convert BillboardTextureCoords VTest to Unit Test
    • TestContext - port to runRenderingSettingsDialog

Development is funded by your contributions

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

v14.1.2

31 Oct 14:53
Compare
Choose a tag to compare
  • SWIG: wrap CompositorChain::getCompositor & CompositorInstanceList

v14.1.1

26 Oct 19:08
Compare
Choose a tag to compare
  • Main: remove some deprecation warnings
  • Overlay: Font - handle premult alpha via antialias_colour in material
  • RTSS: switch to a unified program processor
  • Terrain: range loop factoring (#2945)
  • MeshLod: silence memcpy warning on GCC
  • Android: update to AGP 7.4.2 to work with latest android studio
  • GL*: range loop refactoring (#2948)
  • Metal: GpuProgram - entrypoint cannot be main & some robustness
  • Vulkan: range loop refactoring (#2947, #2959)
  • Docs: document OgreImGUIOverlay

v14.1.0

12 Sep 22:19
3f0a656
Compare
Choose a tag to compare

Highlights

  • Main: added support for rectangular area lights
  • Overlay: correctly load space width from font
  • RTSS: handle multiple shadow casting lights

What's Changed

  • Main
    • add ACT_MATERIAL_LOD_INDEX
    • add support for rectangular area lights
    • Entity - drop unused mMaterialLodFactorTransformed
    • fix processMainThreadTasks() waiting logic
    • Material LOD should work regardless of OGRE_NO_MESHLOD
    • Mesh/ SubMesh - add convenience resetVertexData & createVertexData
    • move mMaterialLodIndex to Renderable
    • ParticleSystem - do not track Affectors and Emitters in Factories
    • ShadowCamera - treat rectlights as spotlights
  • CMake
    • CMAKE_CL_64 is deprecated and only works with MSVC (#2922)
    • update zlib to version 1.3 and use https instead of http URL (#2921)
  • RTSS
    • add support for rectangular area lights
    • allow creating local array variables
    • PSSM - fix parsing parameters from script
    • PSSM - correctly handle color shadows when PSSM is off
    • PSSM - use shared, script-defined shadow sampler
    • range loop refactoring (#2929, #2931, #2934, #2937)
    • ShadowMapping - handle multiple shadow casting lights
  • Overlay
    • correctly load space width from font
    • ImGui - respect ogre default codepoint range
    • range loop refactoring (#2919)
    • TextArea - draw missing space & deprecate space_width property
    • update to imgui 1.89.8
  • SWIG
    • ImGui - correctly wrap Checkbox
    • ImGui - enable float[2] float[3] float[4] paramters via ImVec4
    • Python
      • auto convert Ogre.Degree to Radian parameter
      • workaround issue with cmake & manylinux (#2938)
      • full sequence protocol for Vector, Quaternion and ColourValue
  • Terrain: range loop refactoring (#2940)
  • Overlay/ Bites: range loop refactoring (#2908)
  • GLSupport: OSX - throw on broken createNewWindow code path
  • Octree - drop unused _alertVisibleObjects
  • Assimp
    • fix animations bone handle (#2930)
    • we must use an index buffer due to the triangulate step
  • Docs
    • 14-Notes - mention CollisionWorld
    • fix out-of-date Dear ImGui link
    • update 14 notes
    • update basic tutorial2
  • Samples
    • add RectLight sample
    • Shadows - use the RTSS to generate depth shadow shaders
    • switch to multi- shadowlight RTSS shaders where applicable

Development is funded by your contributions

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

v14.0.1

18 Jul 22:35
Compare
Choose a tag to compare
  • Main
    • Entity - use correct material LOD idx bounds
    • fix warnings with OGRE_NO_MESHLOD
    • range loop refactoring (#2894)
    • ScriptTranslator - warn on deprecated lod_strategy names
  • MeshLOD: fix build without precompiled headers
  • Cg: define OGRE_VERTEX_SHADER for OgreUnifiedShader
  • Tools, Tests, Samples: fix build without MeshLOD
  • Docs
    • clarify using Overlays from .overlay files
    • clean up lod_strategy formatting
    • do not use the deprecated "asm" syntax
    • expand API documentation for getByName (#2893)
    • fix shadow tutorial code example (#2892)
    • list possible lod_strategy values and document lod_values fallback
    • update scripting manual (#2895)
  • Samples
    • clean up Isosurf
    • IsoSurf - also use unified VS & FS for Cg
    • IsoSurf - merge HLSL and GLSL VS & FS

v14.0.0

08 Jul 16:04
Compare
Choose a tag to compare

Highlights

  • switched WorkQueue to a Task-based API
  • There is a render queue dedicated to Transparent objects
  • RTSS can handle light type changes without shader recompilation

See New and Noteworthy for a detailed explanation

What's Changed

  • Main
    • add OGRE_DEPRECATED to getAnimationStateIterator
    • allow parallel install of multiple versions via versioned OGRE dir
    • be slightly more strict regarding HardwareBufferUsage
    • AnimationState - make _setBlendMaskData private
    • BillboardChain - slightly clean up API
    • BillboardSet - drop deprecated getTextureCoords
    • clean up internal AnimableObject API
    • clean up RenderSystemCapabilities API
    • clean up VertexBoneAssignment definition
    • CompositorInstance - fix auto-sorting custom render passes
    • CompositorInstance - improve render_queue error message
    • DefaultDebugDrawer - add setBoneAxesSize()
    • DeflateStream can throw in close() > compressFinal()
    • devirtualise functions that would bypass virtual dispatch
    • factor out SceneMgrQueuedRenderableVisitor::renderTransparents
    • Frustum - drop now superfluous getProjectionMatrixRS
    • fix element count of ACT_TIME_0_*
    • fix ResourceGroupManager shutdown crash (#2859)
    • generate compile error when using IsNaN with fast math
    • GpuProgramParameters - do not set variability in clearAutoConstant
    • GpuProgramParameters - assert correct autoconstant type
    • hardcode builtin controller values and functions to float
    • HardwareBufferManager - cleanup VertexBufferCopy API
    • HardwareBufferManager - use private inheritance
    • HardwareVertex/IndexBuffer - use uint32 to store counts
    • HardwareBuffer - bring back reduced isSystemMemory
    • it is actually safe to default copy IndexData
    • introduce MOT_* as a replacement for now hidden FACTORY_TYPE_NAME
    • Light - convert spotlight angle animable values to Radian type
    • LiSPSMShadowCameraSetup::create - actually forward the params
    • make "Stereo Mode" RS Option a boolean & get rid of StereoModeType
    • make parameters const ref where applicable
    • Math: enable Vector3 -> Vector4 conversion for generic types
    • ManualObject - speed up copyTempVertexToBuffer
    • MeshManager - use object space bones by default
    • Mesh - try to detect improper use instead of crashing
    • move custom RSC loading out of Root
    • move render queue split configuration to ShadowRenderer
    • move RSC compatibility check to useCustomRenderSystemCapabilities
    • move SPFM_DELETE_T to OgreDeprecated.h
    • MOT_* strings for all MovableObjects (#2842)
    • ParticleEmitter - emit a single particle on first update
    • ParticleSystemManager - do not inherit from ScriptLoader
    • pass camera name as renderQueueStarted "invocation"
    • pass entity's transform to DebugDrawer::drawBone()
    • Pose - always store data float and int
    • Pose and Morph weights are always float
    • Profiler - clean up GPUEvent API, that was forwarding to RenderSys
    • put transparent objects on a separate render queue
    • RenderSystem
      • make createRenderSystemCapabilities protected
      • mManualBlendColours is only needed for FFP
      • use arrays for GPT_ related fields
      • clean up global instancing API call typos & naming
    • replace AnyNumeric by specialized methods in NumericAnimationTrack
    • replace PrefabType enum by the string equivalents
    • ResourceBackgroundQueue - port to new WorkQueue API
    • ResourceBackgroundQueue - refactor to use std::future
    • Resource - call prepareResource() before loading an unprepared manual resource
    • RSC_MRT_DIFFERENT_BIT_DEPTHS is D3D9 specific
    • SceneManager
      • fix docs, all movable objects auto-detach
      • make createSceneNode non-virtual
      • make more of the internal API private
      • _setPass - drop unused evenIfSuppressed
      • report derived material in renderdoc
    • SceneQueryListener - make consuming WorldFragment optional
    • SceneQuery - move most of WorldFragment API to BSP SceneManager
    • ScriptCompiler - fix _fireEvent doxygen comment
    • ShadowRenderer - factor out deriveTextureShadowPass
    • setBonesUseObjectSpace - use the passed value
    • simplify scene manager factory registration
    • Skeleton - convert _dumpContents to operator<<
    • slightly refactor RenderPriorityGroup
    • StaticGeometry - convert dump() to operator<<
    • SkyManager and ShadowRenderer need dllexport for mingw
    • slightly clean up TextureUnitState
    • type safety for GpuProgramParameters::getAutoConstantDefinition
    • Texture - make parts of the API private
    • Technique - avoid deadlock when shadow_*_material refers to self
    • use ad-hoc hashing instead of HashedVector
    • use identity for *VIEWPROJ_MATRIX if textureProjector is NULL
    • VertexElement - use typed enums to reduce storage size
    • VertexData - hide advanced reorganiseBuffers
    • WorkQueue
      • rename response queue to main-thread queue
      • replace request/ response by task-based API
      • fix race condition
    • C++11 updates
      • range loop refactoring (#2790, #2821, #2824, #2834, #2845)
      • add final annotation where applicable
      • improve code readability by using make_unique
    • made private
      • builtin movableobject factories
      • lightsForShadowTextureLess, lightLess, materialLess
      • NumericSolver
      • OGRE_SERIALIZER_VALIDATE_CHUNKSIZE
      • ShadowCasterSceneQueryListener
      • TempBlendedBufferInfo
      • UnifiedHighLevelGpuProgram
      • VertexDeclaration - hide vertexElementLess
      • DefaultHardware{Vertex,Index}Buffer
      • FrameTimeControllerValue - hide FrameListener
    • removed
      • Animable::DEGREE type - Degree auto converts to Radian
      • deprecated methods with low impact
      • deprecated normalise_normals pass property
      • deprecated RenderSystem API
      • getDisplayMonitorCount API
      • obsolete TextureUnitState API
      • OrientationMode API
      • PreApplyTextureAliasesScriptCompilerEvent
      • remains of SubMesh texture aliases
      • some hard-deprecated methods
      • support for putting tangents into texcoord bindings
      • TBB support
      • TAM_UNKNOWN and ACT_UNKNOWN
      • unused RenderSystemContext
      • VectorBase::operator=
      • SimpleRenderable - drop mParentSceneManager
      • GpuProgram - drop uses_adjacency_information
      • CompositorManager - drop empty initialise method
      • ImageCodec - drop deprecated ImageData based codepaths
      • RenderSystem - drop deprecated DepthBuffer API
      • RenderTarget - drop support for "DISPLAYNAME" custom attribute
  • Bites: StaticPluginLoader - dont forget to shutdown the codecs
  • UnifiedShader: apply USE_OGRE_FROM_FUTURE
  • CMake
    • SWIG - use CMP0078 NEW
    • Use all available processor cores to build dependencies
    • Dependencies: update freetype, SDL and Android NDK (#2827)
    • Dependencies: fix cross-compiling on apple
    • only enable PVRTC on iOS by default
    • Delete CTestConfig.cmake
  • RTSS
    • add default SRS first instead of last
    • allow using constants in At operand
    • cook torrance - forward surface alpha
    • Do not add the gl_PerVertex block when writing the shader.
    • do not split the light count by type
    • GLSLProgramWriter - use param semantic to determine attribute name
    • only require a single parameter for light_count
    • simplify FFPFog SRS
    • SubRenderState - add Any based setParameter overload
    • use dynamic light types for FFP shaders too
    • replace trivial FFP_Transform with builtin calls
    • drop hard deprecated methods
    • drop useless SPC_* enums
    • Media - drop FFPLib_Common
    • Media - all shaders are unified, drop the GLSL subdir
    • clean up Prerequisites.h
    • allow blacklisting TUS from FFP texturing
    • GLSLES - move default precision definition to GL3Support
    • IBL - ensure envmap is used as cubic texture
    • NormalMap
      • add new texture_unit level script format
      • fix shadergen for object space tangents
      • parallax texcoord should also affect normalmap lookup
      • Parallax fix and steep occlusion mapping (#2873)
    • hide
      • HardwareSkinning SRS and make factory config methods static
      • remaining FFP_LIB_* defines
      • as much of FFPTexturing as possible
      • FFPTransform
      • ProgramProcessor API
      • LayeredBlending - internal enums
  • Terrain
    • make TerrainMaterialGenerator::Profile optional
    • port to new WorkQueue API
    • reduce metadata verbosity
  • Overlay
    • update imgui to 1.89.7
    • Imgui: python - strip duplicate prefix for ImGuiSomething_FlagName flags
  • Bullet
    • split out CollisionWorld to allow collision detection only
    • wrap dynamics world to expose inheritance
  • Assimp
    • set emissive to 0 when using an emissive map
    • support loading embedded textures
  • MeshLodGenerator
    • collapse lines
    • factor out InputProvider differences
    • factor out InputProvider duplication
    • factor out OutputProvider differences
    • factor out OutputProvider duplication
    • get rid of OutputProviderCompressed*
    • initialize both options to previous behavior
    • input lines
    • make helper functions static
    • move compression into OutputProvider base class
    • output lines
    • prevent breaking lines
    • prevent punching holes
    • retain render operation types for buffered input
    • simplify LodIndexBuffer
    • use HardwareBuffers
    • hide concrete input/ output p...
Read more