ogre

scene-oriented, flexible 3D engine (C++, Python, C#, Java)

MIT License

Downloads
2K
Stars
3.8K
Committers
239

Bot releases are visible (Hide)

ogre - v13.5.1

Published by paroj almost 2 years ago

  • Main
    • fix compilation for Real=double
    • RenderSystem - skip FFP texture settings when FFP is not supported
    • range loop refactoring
  • CMake
    • fix incomplete zlib update
    • only install samples.cfg, when installing the the samples
    • only reference sample resources, when we build the samples
  • RTSS
    • FFPTexturing - do not needlessly pass texture matrix
    • FFPTexturing - thoroughly validate tex coord settings
  • BSPSceneManager: Q3Shader - fix TEXGEN_ENVIRONMENT mapping
  • D3D11: improve error message for missing VertexElement
  • GL: match D3D9 on ENV_PLANAR behavior
  • Docs
    • improve cubic texture description in ogre script
    • improve env_map documentation
ogre - v13.5.0

Published by paroj almost 2 years ago

Highlights

  • Implement Automatic Instancing
  • Add support for GPU bone to world transform
  • Non shadow-casting lights and PSSM integration
  • Use Vulkan Memory Allocator

What's Changed

  • Main
    • add option to use object space bones
    • AnimationState - use plain vector for BlendMask
    • AnimationTrack - add sanity assert for pose animation
    • DefaultDebugDrawer
      • fix scale being applied twice to axes
      • skip drawing root scene node
    • ETCCodec - fix crash when loading PKM files
    • fix LightAttenuationValue (#2569)
    • Image - make trivial getters inline
    • implement automatic SubMesh batching (SceneManager/ GpuProgram)
    • inject GlobalInstancingDeclaration in SceneManager instead of RS
    • InstanceBatchHW_VTF - range loop refactoring (#2612)
    • Instancing - do not override getNumWorldTransforms if not needed
    • make some error messages more specific
    • Math
      • assert that isNaN is potentially working
      • float is always sufficient to generate a random number
    • move OGRE_MAX_NUM_BONES to OgreConfig.h
    • Pass - hide _getBlendFlags
    • PixelBox - initialise all members
    • PixelFormat - fix wrong PF_ETC2_RGBA8 size calulations
    • PixelUtil - do not widen to size_t on return
    • RenderSystem - provide default dummy video modes
    • RibbonTrail - validate TrailLength
    • SceneManager - inline mWorldGeometryRenderQueue accessors
    • ShadowRenderer - do not create Materials that were never used
    • use diffuse alpha in DERIVED_AMBIENT_LIGHT_COLOUR
    • Zip - correctly forward filename to opened datastream
    • drop unused pieces of InstancedGeometry
    • get rid of internal SPFM_DELETE_T usages
    • correctly handle self-assignment for various classes
    • port compressed format loaders to new Codec API
    • add AbstractNode::getString convenience method
    • annotate code with override
    • range-for loop refactoring (#2545, #2546, #2547, #2549, #2577, #2583, #2594, #2605, #2608, #2617, #2623, #2627, #2572)
    • refactoring and some style fixing (#2580, #2543)
    • use make_shared with StringVector & FileInfoList
    • deprecate Image::getFileExtFromMagic
    • deprecate Math::calculateTangentSpaceVector
    • fully deprecate normalise_normals
    • call createMicrocode statically
    • BillboardChain - deprecate setDynamic in favour of setAutoUpdate
  • RTSS
    • add compatibility with automatic instancing
    • add flag for highp interpolation
    • add RenderState::getSubRenderState helper
    • always match VS to PS interface
    • CookTorrance
      • allow injecting UV coords
      • correct ambient and shadows
      • do not depend on PSSM for shadowFactor handling
      • use linear gamma & add PSSM_DEBUG
    • DualQuaternion - move more code to shader
    • fix transparency when using TVC_EMISSIVE
    • get rid of now trivial FFPRenderStateBuilder
    • GLSLES - force highp to avoid precision mismatch between VP/ FP
    • GLSLProgramWriter - fix UniformBlock indentation
    • HW Skinning
      • avoid passing ViewProjMatrix
      • take advantage of object space bone setting in main
      • unify implementations
      • improve parameter parsing
    • LayeredBlending - add string based blendMode & sourceModifier API
    • LinearSkinning - move more code to shader
    • make available SRS types more discoverable & unify documentation
    • NormalMap - move more computations to shaderlib
    • NormalMap - we must normalise tangents & normals in VS
    • per-pixel lighting - fix using PSSM3 with non casting lights
    • RenderState - add helper to add template SRS by type
    • replace FFPLib_Common by BuiltinFunctionAtom
    • simplify SGX_ApplyShadowFactor_Diffuse
    • deprecate SGScriptTranslator::getString
    • drop superfluous addError calls when parsing scripts
  • Terrain
    • factor out TerrainSurface.glsl
    • fix flipped eyeDir vector
    • fix precision issues on GLES2
    • make sure lod1RenderState gets params with FFP
    • MaterialGenerator - deprecate layerDecl.elements
    • use updateParams flow for LOD1 technique
    • we must normalise the incoming normal for constructing TBN
  • CI
    • update NDK to latest LTS
    • update to macos-11
    • update windows build to vs19
    • PIP: enable Vulkan on Windows & Linux
  • CMake: Install pkgconfig file with mingw toolchain
  • Java: disable more warnings for SWIG
  • Overlay: BorderPanel - size computations should always be in float
  • GLES2: EAGL - dynamically use GLES3 if possible
  • GL*: factor out applyGlobalInstancingDeclaration
  • GLSupport: allow using pre-GLVND setups again
  • GLSLang
    • fix static linking against the plugin
    • ignore warnings in upstream headers
  • ParticleFX: hide all symbols
  • PCZSceneManager - fix clearScene by using parent impl
  • Vulkan
    • add PF_R5G6B5 support
    • avoid VK_FORMAT_D32_SFLOAT_S8_UINT
    • correctly handle PF_DEPTH24_STENCIL8
    • do not pull vulkan headers into plugin
    • port to Vulkan Memory Allocator
    • use float for depth values as others
  • STBICodec - port to new Codec API
  • EXRCodec: port to new Codec API
  • FreeImageCodec: port to new Codec API
  • Docs
    • add DotScene to Manual
    • add rationale for OGRE_MAX_NUM_BONES
    • fix some typos
    • high level programs - refactor to include Vulkan GLSL usage
    • improve AutoConstantType documentation/ formatting
    • improve Instancing documentation
    • Renderable - document new getBonesUseObjectSpace behaviour
    • Tutorials - simplify the boostrap code
    • use the new SRS_ RTSS constants in sample code
  • Samples
    • add automatic HW Instancing
    • Browser - globally enable object space bones for testing
    • Compositor DoF - fix shader for GLES2
    • Context - use initApp on iOS too
    • fix building sample browser on OSX
    • fix too close near plane
    • InstancedViewport - fix vertex attributes to work with Vulkan
    • Instancing - slight cleanup of technique handling
    • RTSS - correct specular for cook torrance & point light tweaks
    • RTSS - replace vertex lighting by cook torrance
    • SegmentedLights - params are already in world space
    • ShaderSystem - fix layered blending demo
    • Terrain - disable anisotropic filtering on Android
    • hardcode CFBundleVersion for iOS in Info.plist
  • Tests
    • add KTX loading test
    • add Light AnimableValue test
    • also test PKM and ASTC loading
    • Context - copy core media on iOS as well
    • move PVR file loading to unit tests and run them on Linux
    • PlayPen - disable anisotropic filtering
    • TestContext - replace ad-hoc parsing of Video-Mode

Development is funded by your contributions

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

ogre - v13.4.4

Published by paroj about 2 years ago

  • Main
    • some code cleanup (#2540, #2539)
    • clang-tidy to range-based for with some manual naming fixup
    • minor performance improvements
    • use make_shared where possible
  • GLSLang
    • correctly release delegate on destruction
    • fix linking and allow using Vulkan SDK on Ubuntu 22.04
  • Vulkan
    • correctly use getImageAspect everywhere
    • fix texAccessFlags in prepareForDownload
  • Docs: add Bullet component to Notes
ogre - v13.4.3

Published by paroj about 2 years ago

  • Main
    • refactor code to C++11 style (#2524, #2532, #2533, #2534)
    • slightly clean-up PixelFormat conversions
    • Texture - fix off by one in num mipmaps in convertToImage (#2519)
  • ParticleFX: ColourInterpolatorAffector - set particle colour on init
  • Dependencies: fix relwithdebinfo bullet build on msvc
  • pkgconfig: dont hardcode boost and freeimage lib names (#2525)
  • RTSS: NormalMap - use non-normalised post-interpolation values for TBN
  • Samples: Bullet - show cursor (#2523)
ogre - v13.4.2

Published by paroj over 2 years ago

  • Main
    • Root - run destructor on MaterialManager before GpuProgramManager
    • StaticGeometry - logError if Root SceneNode is transformed
    • WorkQueue - fix logging
    • WorkQueue - sync response processing time limit doc and code
  • Terrain: generate normal and composite map material in one go
  • RTSS: simplify ProgramManager
  • Java & CSharp: link only used components libraries
  • PCZSceneManager
    • fix scaling of portal radius
    • slightly clean-up readme
  • GLSupport: Win32 - fix building with QUAD_BUFFER_STEREO
  • Docs
    • update list of components using pugixml
    • Make libxrandr a requirement for Ubuntu
  • Samples
    • PCZTest - reduce PCZSceneNode usage
    • ShaderSystem - fix crash on shutdown
ogre - v13.4.1

Published by paroj over 2 years ago

  • Main: BillboardChain - fix orientation when there is only one camera
  • SDK: also ship bullet headers
  • CMake: make bullet component self-contained for consuming projects
  • Docs
    • drop superfluous remarks annotations
    • make inline images legible in dark mode too
ogre - v13.4.0

Published by paroj over 2 years ago

Highlights

  • Add Bullet component based on BtOgre
  • add VET_INT_10_10_10_2_NORM
  • add basic support for joystick devices

What's Changed

  • Main
    • add ControllerReal typedef
    • add top-level aliases for material schemes e.g. MSN_DEFAULT
    • AutoParamDataSource - use lookRotation to get spotlight matrix
    • BillboardChain::Element - width and texCoord should always be float
    • EdgeListBuilder - improve asserts in addIndexData
    • Entity - drop useless extractTempBufferInfo indirection
    • factor out VertexData::_cloneRemovingBlendData so it can be shared
    • fix delayed loading of shadow caster material & add test
    • fixed incorrect handling of samplers as constants
    • fix StaticGeometry::setRenderingDistance
    • FocusedShadowCameraSetup - drop special mLightFrustumCamera
    • FrameTimeControllerValue - inline trivial functions
    • GpuProgramParams - validate named constant count
    • GpuSharedParameters - use template to avoid code duplication
    • HardwareBufferManager - devirtualise methods called in destructor
    • InstanceBatchHW - use correct HBU_CPU_TO_GPU
    • LightClippingInfo - clipPlanesValid should be a bool
    • Light - fix OGRE_NODELESS_POSITIONING typo
    • Math - fix noisy compiler warnings (#2463)
    • Mesh
      • add UserObjectBindings & merge PrefabLoader + PrefabFactory
      • check skeleton by pointer instead of by name
      • default AutoBuildEdgeLists to false
      • slightly refactor softwareVertexBlend
    • ParticleSystemRenderer - correctly deprecate ParticleVisualData
    • replace deprecated std::binary_function by lambda
    • Resource - _fireLoadingComplete parameter is unused
    • SceneManager
      • inline _populateLightList overload
      • shadow casting lights can be != shadow textures
    • ScriptTranslator
      • catch invalid multiple target_output usages
      • deprecate bool symbol
      • factor out safeSetConstant
      • make caster_ref fallback technique-specific
    • ShadowCameraSetup
      • do not re-derive orientation when possible
      • use default method to get ShadowMappingMatrix
    • Serializer - slight cleanup
    • ShadowRenderer - const correct sortLightsAffectingFrustum
    • simplify GpuProgramManager::createImpl
    • TangentSpaceCalc - dont discard existing vertex data
    • TempBlendedBufferInfo - handle additional attributes in pos buffer
    • Texture - unify validation of number of requested mips
    • use new HBU_* names in headers to improve documentation
    • VertexData - implement convertVertexElement
    • VertexData - simplify reorganiseBuffers
    • VertexElement - deprecate convertColourValue
    • VertexElement - deprecate getBestColourVertexElementType
    • Viewport - inline trivial member functions
    • Viewport - use TRect to store dimensions
    • WorkQueue - simplify WorkerFunc
  • CMake
    • fix setting of OGRE_NODE_INHERIT_TRANSFORM option
    • let CMake autodetect OSX_SYSROOT
    • Dependencies: update to latest releases
    • Dependencies: make sure we capture our self-build SDL2 on Linux
    • pkg-config: match cmake regarding include paths
    • Don't use sse on non-x86 architectures (#2444)
  • RTSS
    • CookTorrance - respect transparency and ambient light
    • fix getAutoConstantIntData for array types
    • PBR - iterate lights in shader to avoid redundant computations
    • PSSM - move ApplyShadowFactor to lighting stages as it should be
  • Bites
    • add basic support for joystick devices
    • ImGuiInputListener - finish port to event-based IO
    • correct check if a gamecontrollerdb.txt is loaded
  • SWIG: wrap BillboardChainElement
  • Overlay: update ImGui to 1.87
  • Terrain: fix getCastsShadows always being true and change default
  • GL: GpuProgram - drop duplicated fields
  • Vulkan: correctly check for RSC_USER_CLIP_PLANES
  • Metal: fix crash on shutdown from mDefaultVP/FP outliving their creator
  • D3D*: port to common isCompatible() method
  • D3D11
    • D3D11DeviceResourceManager - improve assert message
    • HLSL - simplify IA reflection handling
  • PCZSceneManager: fix named node registration in createSceneNode override
  • Assimp
    • explicitly give GenSmoothNormals precendence
    • fix string comparison when walking bones
  • Samples
    • add Bullet sample
    • Browsers - fix overflow of samples carousel
    • Python - add google colab compatible ipy notebook
  • Tools
    • clean up help CLI help strings
    • make use of Ogre::Root to reduce boilerplate code
    • XMLConverter - drop VET_COLOUR* parsing from CLI
    • MeshUpgrader: add option to pack normals and tangents as int_10_10_10_2
    • AssimpConverter: include plugins in RPATH, so Codec_Assimp is found
  • Docs
    • correct channel order of metal roughness params
    • improve FrameTimeControllerValue documentation
    • improve Hardaware Buffers documentation
    • improve Plugin documentation
    • merge getUserObjectBindings descriptions
    • MeshTools - update documentation and add AssimpConverter
    • minor fixes
    • shadows - small formatting fix
  • Tests: test PF_A2R10G10B10 packing/ unpacking

Development is funded by your contributions

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

ogre - v13.3.4

Published by paroj over 2 years ago

  • Dependencies: update zlib to 1.2.12 due to CVE-2018-25032
  • Docs: minor fixes
ogre - v13.3.3

Published by paroj over 2 years ago

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
ogre - v13.3.2

Published by paroj over 2 years ago

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
ogre - v13.3.1

Published by paroj over 2 years ago

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
ogre - v13.3.0

Published by paroj over 2 years ago

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:

ogre - v13.2.4

Published by paroj almost 3 years ago

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
ogre - v13.2.3

Published by paroj almost 3 years ago

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
ogre - v13.2.2

Published by paroj almost 3 years ago

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:

ogre - v13.2.1

Published by paroj almost 3 years ago

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:

ogre - v13.2.0

Published by paroj almost 3 years ago

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:

ogre - v13.1.1

Published by paroj about 3 years ago

What's Changed

  • D3D11: drop superfluous ColourValue mapping
  • GL3Plus: fix usage of glObjectLabel
  • GLES2: clean-up glLabelObjectEXT usage
  • GLSLang
    • add local copy of gl_types.h as Vulkan SDK lacks it on Windows
    • allow compiling on Android
    • allow compiling on Windows

Development is funded by your contributions

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

ogre - v13.1.0

Published by paroj about 3 years ago

What's Changed

  • Main
    • add factory for Rectangle2D to allow auto memory management
    • add Rectangle2D to Ogre.h
    • Deprecated - drop duplicate definition of aligned_vector
    • ensure manual Textures have correct Resource load state
    • Entity - handle srcbuf == dstbuf in finalisePoseNormals
    • FactoryObj - provide default destroyInstance
    • HighLevelGpuProgram - make entry_point a common property
    • HighLevelGpuProgram - _resolveIncludes fix off-by-one #line number
    • MeshSerializer - simplify colour conversion logic
    • ParticleSystem::_expire - use idiomatic remove-erase
    • ParticleSystem - properly initialise bursting emitted emitters
    • ParticleSystem - we can assume emitters are not NULL
    • RenderSystem - factour out flipFrontFace
    • RenderWindow - provide default isClosed() implementation
    • SceneManagerFactory - provide default destroyInstance
    • SceneManager - inline aliases for destroyMovableObject
    • fix some warnings messages in android ndk r23 compilation
  • CMake
    • allow to control resource paths (#2199)
    • Allow to configure docs path
    • Fixed missing include in FindOpenGLES2.cmake
    • Enable OBJC and OBJCXX for apple build
  • RTSS
    • Fix implicit cast in shader (#2201)
    • implement two-sided lighting
    • PSSM - make PCF kernel configurable & fix reversed-z
    • PSSM - properly respect shadow far distance
  • Bites: Use Qt 6 for OgreBitesQt if present
  • UnifiedShader
    • add texture2DArray support and refactor respective sample
    • initial support for glslang
  • Overlay
    • BorderPanelOverlayElement - fix crash on device lost
    • fix compilation with imgui on mingw
  • D3D11: Sampler - fix mipFilter=FO_NONE translation
  • D3D9: Texture - do not recreate unloaded buffers
  • Metal: drop uneeded Discard and Staging buffer stubs
  • GL3Plus & GLES2: improve GL error logging
  • GLSupport: Fix build issue with libglvnd 1.3.4 (#2221)
  • GLSLang
    • fix parsing of UBO members and define VULKAN as appropriate
    • handle includes and defines
    • enable standard params & add vulkan support
  • Samples: fix build without terrain component
  • Docs: Particles - fix emitting emitter description and improve layout

Development is funded by your contributions

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

ogre - v13.0.1

Published by paroj about 3 years ago

  • Fix compiling errors with OGRE_CONFIG_DOUBLE
  • Main: FileSystemLayer - add missing include for OSX
  • Overlay: also link against zlib, when using freetype
  • Samples: EndlessWorld - fix AutoLOD toggle

Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:

Package Rankings
Top 9.55% on Proxy.golang.org
Top 13.21% on Pypi.org
Badges
Extracted from project README
GitHub release Downloads Join the chat at https://gitter.im/OGRECave/ogre Patreon CI Build Build status