Skip to content

Releases: OGRECave/ogre

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:

v13.1.1

16 Oct 01:04
Compare
Choose a tag to compare

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:

v13.1.0

09 Oct 20:15
Compare
Choose a tag to compare

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:

v13.0.1

04 Sep 10:12
Compare
Choose a tag to compare
  • 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:

v13.0.0

14 Aug 14:07
Compare
Choose a tag to compare

The versioning scheme changed with this release. This is the successor to Ogre 1.12 and the porting efforts are comparable with porting from 1.11 to 1.12.

  • Main
    • move
      • deprecated std wrappers into OgreDeprecated.h
      • SceneType enum to OgreDeprecated.h
      • StaticCache to Deflate, which is the only consumer
      • StaticFaceGroup to BSP plugin
    • hide
      • implementations of built-in image codecs
      • macros of OgreDynLib.h
      • OGRE_LOG_THRESHOLD
      • OgreMeshFileFormat.h
      • OgreSearchOps.h
      • ParamCommand classes
      • private parts
      • RadixSort
      • stroto*_l internal aliases
    • drop
      • "Custom Render Queues" support
      • deprecated SceneLoader API
      • identifiers for compilers gone long ago
      • long-standing hard deprecations
      • most of texture_alias API
      • ParticleIterator
      • some deprecated functions with low impact
      • _StringBase & _StringStreamBase indirection
      • subroutine API in favor of specialization constants
      • support for TEX_TYPE_2D_RECT
    • Compositor
      • avoid evaluating Techniques twice
      • CompositorChain - correct clearBuffers value for "input previous"
      • drop read_back_as_texture option
      • fix auto clear colour and use it in "scene previous"
      • improve error reporting
      • throw on compositor not found
      • CompositorPass - group data by type
      • simplify RSStencilOperation
    • SceneManager
      • createLight - add convenience param to specify Type
      • default to PF_BYTE_RGBA for shadow textures
      • factor out ShadowTextureListener
      • getDebugDrawer should be const
      • SceneNode - drop deprecated WireBox field
      • change SceneNode::setDirection TS_LOCAL > TS_PARENT
    • StaticGeometry
      • allow swapping material at runtime
      • assert that we get an indexBuffer
      • minor code cleanup
      • use more robust prepareForShadowVolume
      • use the entity material and not the mesh one
      • fix StaticGeometry not casting shadows
    • InstanceManager
      • assert that technique is supported
      • unshare LODs as well (#2000)
      • Make sure cloned vertex data is deleted.
    • ShadowRenderer
      • also consider lightmask in shadow visibilitymask
      • check whether pass is actually programmable
      • drop unused fields
      • ensure shadow caster material is not a receiver
      • handle dynamically changing receivers
    • Root
      • catch bad config options in restoreConfig
      • drop createRenderWindows
    • Image
      • consistently use uint32 for dimensions
      • drop unsupported Filter enum values
    • TRect
      • add asserts to merge & intersect
      • clarify that rects extend downwards.
    • Particle & Billboard
      • store packed colour to safe memory
      • reduce memory footprint
    • ParticleEmitter
      • provide default _getEmissionCount
      • add burst mode
    • UnifiedGpuProgram
      • add final annotation
      • drop priorisation support
    • GpuProgramParams
      • drop RenderSystemData
      • use unified constant storage
    • GpuSharedParameters
      • batched up & download
      • drop unused fields
      • use sized int for version field
    • FileSystemLayer
      • do not change paths already pointing inside snap
      • also look relative to lib for configs on Linux
    • add API for exporting scene hierarchy + dotscene implementation
    • add copy of miniz/ zip
    • alias deprecated caps to RSC_VERTEX_PROGRAM
    • always use MovableObjectFactory::destroyInstance
    • Capabilities - drop deprecated and generally supported caps
    • catch empty GpuProgram sourceFile
    • Codec - drop deprecated parts and move the rest to ImageCodec
    • consistently use float for depth and uint16 for stencil values
    • convert guarded ERR_INVALIDPARAMS to OgreAssert
    • DDSCodec - disable mips instead of decompressing
    • DefaultDebugDrawer -Skip bounding boxes that are infinite.
    • DepthBuffer - simplify API
    • Disable vptr checks for Singleton constructor (#2032)
    • Export ScriptTranslatorManager (#2031)
    • factor out GLSL_GL3Support include and use it in RTSS
    • fix texture_unit name setting
    • Frustum - stop inheriting from Renderable
    • GpuNamedConstants - drop generateConstantDefinitionArrayEntries
    • GpuProgram - const correctness fixes
    • HardwareBufferManager - stop superfluos Buffer tracking
    • HardwarePixelBuffer - unify SliceTRT handling
    • HL GpuProgram - make populateParameterNames final
    • Log::Stream should only be movable as per STL streams
    • make custom int types forward to stdint.h
    • make HighLevelGpuProgramPtr an alias for GpuProgramPtr
    • make log of RSC_AUTOMIPMAP_COMPRESSED descriptive
    • make remaining createImpl overrides private
    • make STL usage more specific, by slimming down OgreStdHeaders.h
    • Material - drop needless pointer indirection
    • MaterialSerializer - do not export RTSS techniques by default
    • Math - add missing limits include (#2051)
    • Math - Use Möller-Trumbore ray-triangle intersection algorithm
    • merge HighLevel & GpuProgramManager
    • Node - drop DebugRenderable
    • OgreAssert - behave like standard assert and print expression
    • ParticleSystem - use vector instead of list to collect Particles
    • Particle - always use own dimensions
    • Pass - drop shadow_*_program_ref API
    • Pass - inline trivial accessors & use float for storage
    • PixelFormat - inline alias functions and improve docs
    • Prefabs - drop no longer needed Prefab_Axes
    • Rect - use int32 as base type for MSVC/ GCC consistency
    • RenderQueueGroup - drop unused argument from constructor
    • RenderSystem - make setStencilState the primary stencil API
    • RenderTarget - drop ColourDepth property
    • RenderTarget - drop unused StatFlags enum
    • RenderWindow - setFullscreen & reposition are optional
    • replace HardwareUniformBuffer by plain HardwareBuffer
    • replace zzip & libz with zip/ miniz
    • ResourceBackgroundQueue - hide details
    • Resource - clarify unprepareImpl documentation
    • ResourceGroupManager - replace WorldGeometry by CustomStage
    • ResourceManager - const correctness
    • ResourceManager - fix compilation in legacy mode
    • ScriptTranslator - catch invalid material references in compositor
    • ScriptTranslator - fix applyTextureAliases fallback
    • ShadowCameraSetupFocused - make some members private
    • ShadowCaster - simplify getShadowVolumeRenderableList API
    • Simplify DefaultHardwareBuffer creation
    • simplify & inline getElement(N) helper functions
    • Skeleton - fix addLinkedSkeletonAnimationSource
    • Skeleton - make mAnimationsList available to derived classes
    • slightly clean up TextureUnitState
    • slightly refactor FocusedShadowCameraSetup
    • StreamSerialiser - improve error reporting with OgreAssert
    • StringInterface - add SimpleParamCommand template
    • StringInterface - directly use name instead of ParameterDef
    • StringUtil::normalizeFilePath - default to keep case
    • Texture - allow manually overriding image mips
    • TextureManager - add removeAllNamedSamplers
    • unify ShadowRenderable implementations
    • unify SharedPtr typedef names as Ptr
    • use int in TextureUnitState::getTextureDimensions
    • use typed enums and update field order to reduce padding
    • use unnamed SceneNodes as possible
    • UtilSSE - assert correct stride in softwareVertexMorph
    • VertexElementType - make VET_COLOUR* an alias for VET_UBYTE4_NORM
    • Viewport - disable clearBuffers if clearEveryFrame is off
    • reduce availability of iteratorwrapper by using forward declarations
    • rename Media/ShadowVolume to Media/Main
    • Mark public shader functions with @public-api
  • Bites
    • ApplicationContext - drop platform shader discovery heuristics
    • ApplicationContext - skip resource location check on emscripten
    • Trays - ensure Font is loaded before using it
    • Trays - ensure glyph info is loaded
  • RTSS
    • add WBOIT SRS and extend Transparency Sample
    • allow injecting data via local variables (PSSM, Lighting, Texture)
    • allow passing SPC_TANGENT_OBJECT_SPACE to FS
    • auto param data can only be float/ uint32
    • be greedy about lights to avoid shader trashing
    • decouple normal-mapping from lighting stage
    • drop Cg support
    • drop deprecated functions
    • FFPFog - use autoconstants
    • fix use of non-unit light direction when scaling is present
    • Fog - follow the preAddToRenderState protocol
    • GLSL - check that sampler is used before binding
    • GLSL - dont flag optimized away texture samplers
    • hide default shader writers and processors
    • hide FFP SRS that can be used with generic API only
    • hide HardwareSkinning implementations
    • hide lighting renderstates
    • make shader libs and entry-points private
    • merge FFPLib_Texturing
    • move TextureAtlas SRS to samples
    • move unrelated shaders to Samples
    • ProgramManager - drop superfluous cast
    • PSSM3 - add support for colour shadows
    • remove unused iterator leftovers
    • ShaderProgram - only support one "main" function
    • Shadows - use shadow2D instead of texture for HLSL compatibility
    • slightly refactor Operand writing
    • Texturing - only sample texture if necessary
    • UniformParameter::bind - paramsPtr cannot be null
    • UniformParameter - do not duplicate GpuConstantDefinition queries
    • UniformParameter - uint8 is sufficient to sto...
Read more

v1.12.13

14 Aug 13:13
Compare
Choose a tag to compare
  • Main
    • Instances Make sure cloned vertex data is deleted.
    • add API for exporting scene hierarchy + dotscene implementation
    • catch empty GpuProgram sourceFile
    • CompositorChain - correct clearBuffers value for "input previous"
    • Compositor - fix auto clear colour and use it in "scene previous"
    • DDSCodec - disable mips instead of decompressing
    • DefaultDebugDrawer -Skip bounding boxes that are infinite.
    • Disable vptr checks for Singleton constructor (#2032)
    • Export ScriptTranslatorManager (#2031)
    • FileSystemLayer - also look relative to lib for configs on Linux
    • FileSystemLayer - do not change paths already pointing inside snap
    • fix StaticGeometry not casting shadows
    • InstanceManager - unshare LODs as well (#2000)
    • make log of RSC_AUTOMIPMAP_COMPRESSED descriptive
    • MaterialSerializer - do not export RTSS techniques by default
    • ParticleEmitter - new take on burst mode
    • PixelFormat - inline alias functions and improve docs
    • Root - catch bad config options in restoreConfig
    • SceneManager::createLight - add convenience param to specify Type
    • ScriptTranslator - catch invalid material references in compositor
    • ShadowRenderer - also consider lightmask in shadow visibilitymask
    • ShadowRenderer - ensure shadow caster material is not a receiver
    • Skeleton - fix addLinkedSkeletonAnimationSource
    • StaticGeometry - assert that we get an indexBuffer
    • StaticGeometry - use more robust prepareForShadowVolume
    • TextureManager - add removeAllNamedSamplers
    • TRect - add asserts to merge & intersect
    • TRect - clarify that rects extend downwards.
    • Viewport - disable clearBuffers if clearEveryFrame is off
  • Bites: ApplicationContext - skip resource location check on emscripten
  • Overlay: Font - Texture must be removed to allow reloading
  • CMake: proper fix for building SampleBrowser bundle
  • RTSS
    • be greedy about lights to avoid shader trashing
    • fix use of non-unit light direction when scaling is present
    • Shadows - use shadow2D instead of texture for HLSL compatibility
  • SWIG
    • add %template for CameraMap
    • enable director for OverlayElementFactory
    • Python: dont try to use strings as sequences
  • Terrain
    • Delete plane when shutting down.
    • fix dynamic shadows not working in LOD1
    • Return early if rect doesn't match node.
  • DotScene
    • DotScene - fix DTD and add test
    • implement export
  • D3D11: HLSLProgram - avoid leaking mSerStrings
  • GL*: GLSL - warn if there is a default value, that we would overwrite
  • GLSupport
    • Android - use finaliseWindow as well
    • CPreprocessor - add basic concatenation support
    • EGL - search maximal supported context version like GLX
    • EGL - try harder to find a suitable default display
    • fix compilation with Android NDK 20+
    • GLX - select maximal supported context version
  • Docs
    • fix ColourInterpolator Affector formatting
    • improve _createRenderWindow miscParam docs
    • improve & regroup Compositor script docs
    • RTSS - mention shader generation control & update init sample code
    • setColourOperationEx note no longer applies to D3D9+
    • StencilState - improve & unify compositor script reference
    • use RenderDoc images in Deferred Tutorial
  • Samples: DeferredShading - disable RTSS lights if we dont need them

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

v1.12.12

21 Apr 19:18
be8c2a2
Compare
Choose a tag to compare

highlight: node animation support in DotScene Plugin

  • Main
    • add SceneNode::loadChildren
    • ArchiveManager - use consistent wording in messages
    • CompositionPass - avoid compiling material twice
    • Compositor
      • allow creating cubemaps
      • allow overriding camera in render_scene
      • allow referencing specific cubemap slices
    • DDSCodec - make DDS constants static
    • deprecate unused includeOverlays parameter in _renderScene
    • Exception - avoid referencing dangling strings
    • FileSystemLayer
      • also look in XDG_DATA_HOME for configs
      • also look relative to dll for configs on Windows
      • also look relative to dylib for configs on OSX
      • simplify getConfigFilePath
    • Frustum - fix description of getNearClipDistance (#1901)
    • HardwareBufferManager - assert that this is the correct manager
    • InstanceManager - fixed invalid EdgeData after unshareVertices
    • Log - replace setLogDetail by setMinLogLevel
    • make resource lookup robust to reloaction on Linux
    • move shared FOURCC macro to internal header
    • ResourceGroupListener - drop unused worldGeometryPrepare* methods
    • Root - use actual stack instead of mSceneManagerStack
    • SceneManager - improve error messages at compositor resolution
    • SceneManager - preserve the previous material scheme
    • ScriptCompiler - allow abstract compositor target sections
    • ScriptCompiler - simplify toggling AST debug output
    • slightly simplify SceneManager::_renderScene
    • TangentSpaceCalc - prevent leaking buffer lock
    • UnifiedProgram - forward compile errors & handle res not found
    • build fix on NetBSD: remove #ifdef FreeBSD (#1911)
  • Bites
    • add OGRE_BITES_STATIC_PLUGINS CMake option to skip plugins.cfg
    • Android - fix crash on surface recreation
    • Android - properly parse RenderSystem ConfigOptions
    • print which resources.cfg is being parsed
    • warn about non-existant locations in resources.cfg
  • RTSS
    • fix AlphaTest shaders for GLES2
    • GLSL - explicitly bind output buffer location if possible
    • handle BuildDstTechnique flag inside SGTechnique
    • log program names when caching to disk to aid debugging
    • ProgramWriter - the only program we ever write is main
    • PSSM - avoid scalar swizzling for compatibility
    • simplify handling of HLSL targets
    • Texturing - also override texture type for cubic reflection
  • Overlay:
    • add setVisible to OgreOverlay and OgreOverlayElement
    • Element - inline trivial accessors
    • improve BorderPanelOverlayElement documentation
    • Revert "[OGRE-155] TextAreaOverlayElement: fix for mSpaceWidth field getting stuck with wrong value in certain cases."
  • Terrain
    • add SWIG bindings for CSharp
    • TerrainGroup - deprecate getTerrainIterator
  • SWIG
    • allow iterating over SceneNodes
    • Fixed output params of suggestTangengtVectorBuildParams (#1928)
    • instantiate GpuProgramParametersPtr
    • instantiate SplitPointList (#1927)
    • wrap MovableObjectMap
  • Csharp: forward operator overloads on Vector for convenience
  • Python
    • weakly link libpython to allow relocation
    • add build system for python wheels
  • CMake
    • also install dependencies on OSX
    • Dependencies - update SDL2 to 2.0.14
    • fix Framework linking with recent CMake & Xcode
    • fix PrecompiledHeader.cmake for old CMake versions (#1942)
    • make InstallDependencies available on all platforms
    • make OGRE_BIN_DIRECTORY configurable
    • respect user CMAKE_INSTALL_RPATH
    • use relative paths in resources.cfg on OSX
    • Revert "allow/ fix static build of python component"
  • Plugins: export Plugin classes for direct linkage
  • DotSceneLoader
    • correct angle parsing (#1902)
    • Add DotScene usage scenarios (#1892)
  • ParticleFX: TextureAnimator - fix speed calculation
  • D3D9
    • fix auto HardwareBuffer management
    • fix wrong cast in createBuffer
    • HardwareBuffer - fix comparison that turned into assignment
    • reduce dependance on d3d9x
  • GL
    • disable unused GLU include
    • HardwareBuffer - fix readData and destruction
  • GLSupport
    • EGL - catch client extension failure on android
    • EGL - Emscripten does not support PBuffers
    • EGL - export "Content Scaling Factor" on Android
    • fix wrong VERSION value on OSX/GL3+
    • OSX - only contentScaling 1 and 2 is supported
  • Tools: MeshUpgrader
    • Fix some formatting regarding console output (#1946)
    • Fix some input prompts and logname (#1940)
    • set log file path (#1948)
    • Throw an exception if the material name is empty (#1934)
    • Tidy up whitespaces (#1938)
  • Docs:
    • correct documentation of OgreOverlayElement
    • 1.12 Notes - add noteworthy post 1.12.0 additions
    • Add section about empty Material Names (#1944)
    • BuildingOgre - fix target names for OSX which is case-sensitive
    • document "Content Scaling Factor" RenderSystem Option
    • fix typo in InstanceManager (#1906)
    • format corrections in "iteration" section (#1897)
    • improve PixelBuffer and Texture parts
    • Light - correct some erroneous wording and apply consistency. (#1909)
    • RenderQueueListener fix formatting
    • small typo in the description of setStencilBufferParams (#1904)
    • improve override documentation
  • Samples
    • add Java sample
    • Android - fix TextureOES sample
    • Compositor - update blacklist
    • CSM - correct capabilities check
    • CubeMap - port to new compositor functionality
    • Deferred - drop unused "profiles" parameter
    • enable LightShafts for GLES2
    • factor out requireMaterial/ use it to check compatibility
    • Fresnel - port to compositors
    • PBR - allow shader upgrading on GL3+/OSX
    • Python - simplify bootstrap sample

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

v1.12.11

13 Feb 01:56
Compare
Choose a tag to compare

highlights: new Software RenderSystem and headless mode on Linux

  • Main
    • DefaultHardwareVertexBuffer - correctly set used BufferMgr
    • fix getCastsShadows when inherting from MovableObject + Renderable
    • fix inconsistently named PF_RG8
    • fix warning in RenderQueueGroup::merge
    • ShadowRenderer - fix culling not propagated to RTSS passes
    • Image - fix getData() const overload
    • add Ogre::to_string(..) alias for unified access to such functions
    • add simplified Material::clone overload
    • AutoConstantEntry - clean up storage type
    • Camera - allow to sort by depth and not by distance
    • Compositor - allow referencing global textures again
    • DDSCodec - implement writing PF_FLOAT16_R
    • GpuProgramParams - only set variability if requestedSize > 0
    • GpuProgramParams - simplify two-param AutoConst overloads
    • GpuProgramParams - use templated _writeRawConstant & update docs
    • GpuProgramParams - use templates instead of copy & paste
    • HardwareBuffer - allow acting as facade for real implementation
    • HardwarePixelBuffer - consider depth in size computatiuon
    • minor code cleanup around _getProgramByName
    • Node - inline some trivial setter overloads
    • Particle - implement sprite sheet texture animation
    • ParticleSystem - fix autoupdate of AABB
    • ParticleSystem - fix setMaterialName lookup
    • ParticleSystem - forward shadow casting flag to renderer
    • ParticleSystem - logError instead of assert on null material
    • RenderSystem - add "VSync Interval" as common option
    • RenderSystem - do not require validateConfigOptions
    • RenderSystem - provide default *TexelOffset implementations
    • RenderSystem - unified derived depth bias update
    • use RenderWindow::resize to react to size change instead of querying
    • replace "depth" by "distance" to match the computations
    • ScriptTranslator - avoid multiple lookups for translateProgramRef
    • ScriptTranslator - flag unexpected parameter
    • ShadowCameraFocused - receiverBB should be intersected with
    • unify fsaaHint documentation
    • unify null material logging
    • unify PixelBuffer locking between rendersystems
    • Animation - deprecate IteratorWrapper based access
    • deprecate RenderTarget::Impl
    • RenderQueueGroup - deprecate getIterator
    • GpuProgramParams - deprecate setConstantFromTime
    • fix spelling errors reported by lintian
  • CMake
    • allow/ fix static build of python component
    • clean-up feature summary
    • GL* - prevent exporting OgreGLSupport for linking
    • use OGRE_LIB_DIRECTORY when determining OGRE_PLUGIN_PATH for OGREConfig.cmake
    • use PATH_VARS in configure_package_config_file
    • Bites - only add D3D include_directories when needed
  • RTSS
    • assert that we have a sceneManager in synchronizeWithLightSettings
    • provide overloads taking material directly instead of by name
    • PSSM3 - cast shadows on "lighting_enabled false" surfaces
    • ShaderGenerator - do not index SceneManagers by name
  • Overlay
    • OverlayContainer - drop wrong cast
    • OverlayElement - warn if we are about to change the material
    • TextArea - ensure glyphinfo is loaded/ avoid superfluos lookups
  • Bites
    • ApplicationContextBase - catch if no RenderSystems are available
    • Input - add Gamepad support
    • make GLXConfigDialog optional, relaxing the Xaw dependency
    • StaticPluginLoader - add Assimp and TinyRenderSystem
  • SWIG
    • add Vector.setitem and missing NodeObjectMap
    • wrap ParticleSystemRenderer
    • Python - enable implicit conversion from float to Radian
  • Volume: TextureSource - skip GPU round-trip and allow different formats
  • Assimp: respect resource group when creating material
  • STBICodec: encodeToFile - improve error message
  • UnifiedShader: add texture2DLod
  • Tiny: implement Software Renderer
  • D3D*
    • drop superfluous MinGWSupport headers
    • fix braindead CSAA naming and mode selection
  • GL*
    • clean up display frequency configOption handling
    • immediately parse vendor instead of caching string
  • D3D11: turn D3D11_CREATE_DEVICE_DEBUG into runtime option
  • GL3Plus: turn GL_DEBUG_OUTPUT into runtime option and improve msg format
  • D3D9
    • port to delegate buffer API
    • RenderSystem - remove fields duplicated from RenderWindow
    • use staging buffer instead of downgrading all manual textures
  • GL
    • gl.h and glext.h are unused (#1841)
    • port to delegate buffer API
  • GLSupport
    • correctly request 3.0+ core context
    • EGL - also query client extensions
    • EGL - provide PBuffer based Window for transparent fallback
    • EGL - Window do not require methods only used on X11
    • resurrect EGLRenderTexture
    • X11EGLWindow - fix shadowing warnings
    • GLX - recover from more XRandR failure cases
  • Docs
    • add missing copyright statements
    • add grouping to BillboardSet documentation
    • Bites - fix doxygen grouping
    • CodingStandards - add SPDX-License-Identifier
    • describe the camera coordinate system
    • drop references to AGP memory
    • improve Scripts part
    • improve WinRT build instructions
    • Manual - improve SceneManager overview
    • manual - unify GPU Program docs below Scripts
    • slightly overhaul basictutorials
    • Tutorial3 - reference texture splatting wikipedia article
    • unify ParticleFX and particle script docs
    • update and reference RenderSystem::setConfigOption
    • update RTSS docs
  • Samples
    • Emscripten - fix build
    • fix reference to a non existing object in filament.material
    • Python - fix crash at shutdown
    • VolumeTerrain - store data as half-float to reduce SDK size
  • PlayPenTests
    • fix missing BSP scene manager RTSS registration
    • fix Overlay material warning
    • port some tests to UnifiedShader

v1.12.10

13 Dec 23:13
Compare
Choose a tag to compare

highlight: native GLES2 support on Windows via WGL

  • Main
    • add & improve error messages on missing materials
    • add OGRE_MIN_VERSION convenience macro
    • Any - deprecate operator<<
    • deprecate dummy operator<< that only exist due to Ogre::Any deficiency
    • move handling of missing RSC_POINT_SPRITES support to RTSS
    • BillboardSet - fix removeBillboard
    • BillboardSet - refactor vertex generation
    • BillboardSet - simplify ActiveBillboards handling
    • ParticleEmitter - ensure uniform distribution of emitter direction
    • ColourValue - add conversion for native-endian byte formats
    • ColourValue - inline comparison operators
    • DefaultDebugDrawer - fix Frustum drawing
    • DefaultSphereSceneQuery - use scaled & cached WorldBoundingSphere
    • drop wrong PFF_HASALPHA for PF_DXT1
    • Entity - make SchemeHardwareAnimMap a vector
    • HighLevelGpuProgram - set lineFilename support explicitly
    • make Image class more versatile
    • Image - add casting getData
    • Image - add create for 2-phase allocation
    • Image - only re-allocate buffer if needed
    • Image - simplify combineTwoImagesAsRGBA
    • Image - simplify encoding paths
    • Image - simplify resize & scale using create
    • Image::FILTER_LINEAR/ BILINEAR is identical
    • inline several hot methods
    • MovableObject - factor out getBoundingRadiusScaled
    • MovableObject - make getVisibilityFlags getQueryFlags virtual
    • MovablePlane - use static BOX_NULL
    • ParticleSystem - tell renderer about bounding box
    • BillboardParticleRenderer - export setTextureStacksAndSlices
    • Pass - inhibit _dirtyHash if being deleted
    • Pass - inhibit recompile if being deleted
    • PixelUtil - bulkPixelConversion use production assert
    • PSSM Camera Setup - skip custom culling frustum (#1781)
    • RadixSort - add iterator based overload
    • RenderSystem - backport RSC_DEPTH_CLAMP from next
    • RenderSystem - document setConfigOption
    • RenderSystem - provide default thread registration functions
    • SceneLoaderManager - forward groupName to Codec implementations
    • SceneManager - do not cull texture shadow casting lights
    • SceneManager - fix crash in manualRender(Renderable*)
    • ShadowRenderer - assert that a custom caster material has passes
    • ShadowRenderer - simplify visibility test
    • simplify several AABB computations
    • StringConverter::parse - keep value unchanged on error
    • unify baseVertexPointerToElement into templated implementation
    • VertexBufferBinding - inline hasInstanceData
    • VES - alias DIFFUSE/ SPECULAR to COLOUR1/2
    • enable AutoParams for RenderToVertexBuffer shaders
    • fix build with OGRE_CONFIG_DOUBLE
    • Math - float is always sufficient for trigonometric functions
    • Quaternion - always use float storage
    • deprecate obsolete compute_group_dimensions
    • drop usage of deprecated RenderSystemCapabilities
    • deprecate getDisplayMonitorCount
    • deprecate RSC_INFINITE_FAR_PLANE
    • deprecate RSC_VERTEX_FORMAT_UBYTE4
    • drop remains of Symbian OS detection
  • CMake
    • Dependencies - always use static build, if we build our own deps
    • DirectX11 - fix discovery when using MINGW and having W10SDK
  • RTSS
    • correctly handle SPS_BLEND_INDICES & drop workaround
    • implement FFPRenderStateBuilder as TargetRenderState::link
    • move resolveColourStageFlags fixup method to TargetRenderState
    • Program - add convenience resolveParameter overload
    • RenderState - add stringvector link overload
    • RenderState - drop template in generic funcs
    • ShaderFunction - refactor resolve*Parameter
    • SubRenderState - add generic setParameter
    • swap resolveLocalParameter arguments for consistency
    • transfer TargetRenderState ownership to Pass
  • Bites
    • OSXConfigDialog - use new ogre logo and a tighter layout
    • Trays - fix broken mouse-wheel handling & update SampleBrowser
  • UnifiedShader: inital metal support
  • ParticleFX: simplify colour related computations
  • Overlay
    • update imgui to 1.79
    • ImGuiOverlay - avoid recreating buffers at every draw call
    • ImGuiOverlay - fix off-by-one in strncpy
    • Font - implement simple writing to BillboardSet
    • Font - fix tight glyph packing. Obsoleting character_spacer cfg
    • suppress warnings in imgui
  • SWIG
    • Add cast from OverlayElement to PanelOverlayElement and TextAreaOverlayElement (#1741)
    • Added cast from OverlayElement to OverlayContainer
  • AssimpCodec
    • fixes for getScale function
    • add support for point- and line-list meshes
  • DotSceneLoader: attach loaded TerrainGroup to rootNode as UserAny
  • D3D11
    • drop unused mSceneAlpha* members
    • fix HBL_DISCARDed HBU_GPU_ONLY buffers not being updated
    • fix reinterpretGSForStreamOut
    • fully disable rasterization with streamout
    • HardwarePixelBuffer - correct HBU check
    • log selected device feature level
    • fix RenderTargetView for Texture3D
  • D3D*: use common Ogre implementation for #include handling
  • GL3+: drop unused scratch buffer implementation
  • GL
    • GLSLLinkProgram::activate - drop pre-use glGetError
    • TextureBuffer::blit - disable HW FBO blit again to fix PG Impostors
  • GLSupport
    • GLX - simplify context creation and re-enable fallback
    • Win32 - use CreateContextAttribs
  • Metal:
    • add alpha to coverage support
    • enable runtime #include support through Ogre
    • Hardware*Buffer - also update shadow buffer in copyData
    • implement _setPolygonMode
  • Terrain
    • factor out TerrainTransforms.glsl
    • improve getPointTransform API
    • LayerBlendMap - use Image for storage
    • move uv multiplication from vertex into fragment shader
    • replace more raw malloc calls by Ogre::Image
    • use Image for CPU staging buffers
    • use RTSS shaders for depth shadows
    • use RTSS shaders for Fog & Lighting
    • QuadTreeNode - deprecate getAABB
    • QuadTreeNode - use private inheritance instead of aggregation
  • Docs
    • improve building instructions
    • improve PixelFormat documentation
    • make sure Assimp and FreeImage show up in Plugins
    • Manual - clean up Particle System Attributes
    • Manual - improve introduction
    • Terrain - add method grouping
  • Samples
    • CSM - add back required Cg caster program
    • Instancing - fix VTF techniques after TerrainHelpers refactor
    • ParticleGS - finish D3D11 implementation
    • ParticleGS - refactor display shaders to use VS radius
    • ParticleGS - simplify Generate material
    • ParticleGS - fix HLSL shader
    • Python - slight cleanup
    • RTSS - drop superfluous checks after resolve*Parameter
    • update terrain sample and tutorial
    • Water - render "circles" using BillboardSet
  • Tests
    • add Image.Resize test
    • avoid loading plugins
    • add BillboardText test