Skip to content

Releases: OGRECave/ogre

v1.12.7

12 Jun 16:48
Compare
Choose a tag to compare
  • Main
    • PixelCountLodStrategy - fix wrong estimation of boundingArea
    • respect element count for ACT_FOG_COLOUR
    • ScriptTranslator - revert to legacy "alpha" keyword translation
    • allow constructing Box from TRect
    • provide some builtin defines for shaders
    • BillboardSet - clean up setTextureCoords API
    • Compositor - avoid needless Texture lookups by name
    • convert SkyRenderer to SceneManager::Listener
    • split SkyRenderer into Plane, Box and Dome classes
    • correctly return getDefaultParameters by const reference
    • InstanceBatchVTF - assert the correct texture format
    • Light - clarify shadowFarDistance vs. shadowFarClipDistance
    • ManualObject - inline hot methods to speed up dynamic creation
    • ManualObject - slightly clean up API
    • Pose - add mutable vertex access for offline tools
    • Root::loadPlugins - log Exception as error
    • ShadowCaster - de-virtualise hasEdgeList
    • slightly clean-up MeshLod code
    • ImageCodec - fix missing include
    • Only include <sys/sysctl.h> for iOS
    • VertexElementType - deprecate VET_COLOUR*
    • RenderSystem - deprecate getColourVertexElementType
    • add deprecation message to OgreIteratorWrappers.h
    • Camera - add missing deprecation markers
    • deprecate remaining texture_alias functions
    • SceneNode - deprecate some bounding box related functions
    • Light - _deriveShadowFarClipDistance deprecate Camera* param
    • add OGRE_IGNORE_DEPRECATED macros to allow using deprecated API
    • add Renderable::DEFAULT_PRIORITY for use instead of the define
  • CMake
    • clean-up swig lookup & add quiet flag for optional dependencies
    • Fix OSX platform libs
    • Use the right variable to determine if Qt was found
  • RTSS
    • Fog - drop redundant computations and simplify code
    • PSSM3 shadows - correctly handle sampling behind far plane
    • PSSM3 shadows - add debug mode, visualizing the shadow splits
  • Overlay
    • ImGui - drop D3D9 colour conversion, by using correct VET
    • ImGuiOverlay - update API to avoid NewFrame/ EndFrame mismatch
    • make OverlaySystem a Singleton
    • OverlayContainer - deprecate getChildIterator
  • Terrain
    • avoid needless Texture lookups by name
    • CompositeMap - fix ortho window size
    • enable vertex compression with GLSL
    • fix specular lighting computation with GLSL
    • GLSL - fix construction of the TBN matrix
    • ShaderHelper - fix and simplify lighting calculation
    • simplify Composite-Map Scene
    • use Rect::intersect where applicable
  • Tools
    • XMLConverter & MeshUpgrader add -byte option to use ubyte4_norm
    • XMLConverter - use VET_COLOUR resolution in OgreMain
    • XMLSerializer - respect colour channel order at exporting to XML
  • SWIG
    • drop deprecated IteratorWrapper instances
    • flatnested is only needed with python
    • wrap PixelCountLodStrategy
  • RenderSystem:
    • use default destroyVertexDeclarationImpl everywhere
  • D3D11
    • clear shader reflection data to fix reloading
    • D3D11HLSLProgram - remove unused and broken setShaderMacros
    • port to Sampler object. Enables caching of ID3D11SamplerState
  • Metal: backport to Ogre 1.12 from ogre-next v2-1
  • Docs
    • Frustum - remove reference to non-existing method
    • improve doxygen module association of Main
    • port meshlod tutorial from wiki
    • Tutorial3 - mention the composite map explicitly
    • PCZSceneManager - convert documentation to proper Doxygen
  • Samples
    • Browser - only refresh carousel geometry when needed
    • PBR - Added example how to use filament shaders
    • ImGui - avoid unmatched NewFrame if Window becomes inactive
    • ImGui - drop mControls from input chain. It is not created yet
    • MeshLOD - the displayed value is the pixel count, not distance
    • port CSM Shadows Sample
    • resurrect PCZTestApp and convert it to SdkSample
    • Shadows - fix crash due to accessing NULL mCameraMan
    • Terrain - drop D3D11 workaround for vertex compression
    • Triplanar Texturing - fix reference to deleted textures

Note: imgui is not included - workaround

v1.12.6

25 Apr 23:14
Compare
Choose a tag to compare
  • Main
    • allow overriding PluginFolder with OGRE_PLUGIN_DIR env variable
    • make ResourceHandle size_t to avoid using 64bit atomics on 32bit
    • deinline non performance-critical methods to improve compile speed
    • EmbeddedZipArchiveFactory - prevent leaking Archives
    • GpuSharedParameters - Fixed param offset calculation
    • Fix build on FreeBSD.
    • add riscv64 as 64bit architecture
    • Skeleton - do import in prepare() to allow background loading
    • Texture - allow different PixelFormat for different cubemap faces
    • Texture - allow generally reinterpreting luminance as alpha
    • provide default implementations for ResourceLoadingListener
    • RenderSystem - fix FunctionInvocation leak
    • RenderSystem - require implementation of setColourBlendState
    • RenderSystem - use Ogre::Rect to represent scissor & viewport rect
    • ScriptTranslator - flag invalid pixelformats
    • ShadowRenderer - forward visibility flags (#1511)
    • Android: APKFileSystemArchive - properly set stream name to filename
    • Fixes compilation error C2338 when building with double precision (#1505)
    • improve wording of old mesh format warning
    • MeshManager - silence warnings in MeshBuildParams initialization
    • RenderSystem - hard-deprecate non-atomic _setDepthBufferParams
    • Texture - deprecate treatLuminanceAsAlpha
    • deprecate ParticleIterator
    • deprecate Skeleton::LinkedSkeletonAnimSourceIterator
    • ResourceGroupManager - deprecate getResourceManagerIterator
    • factor out Math::lookRotation
    • factor out StencilState struct & use it to simplify code
    • move findShadowCastersForLight to ShadowRenderer
    • move RenderSystemCapabilies logging to Root
    • Node & SceneNode - define private & use protected API
    • Resource - define private & use protected API
    • SceneManager - factor out resolveShadowTexture
    • refactor Codec API
    • unify RenderSystem::reinitialise
    • Zip - replace deprecated std::bind2nd with a lambda
  • RTSS
    • log source material name if shader compilation fails
    • PSSM - fix ambient passes receiving shadows
    • Transform - disable instancing on GLES2 devices
  • Bites
    • add Qt implementation of ApplicationContext
    • fix discarded mouse motion events on OSX
    • OSXConfigDialog - use dynamic config options list
    • OSX - scale input according to content scaling factor
  • CMake
    • Fix definition of OGRE_PLUGIN_DIR in OGREConfig.cmake on Windows
    • Dependencies - switch to stable zzip release
    • Replace FindSDL2.cmake by sdl2-config.cmake (#1530)
    • drop extra win libs with SDL2 linking
    • drop remains of OGRE_SDK_BUILD
    • iOS - fix warnings, resources, instructions
    • OSX - clean up framework linking
    • OSX - fix linking against the Ogre Frameworks
    • silence SWIG warnings with recent cmake
    • slightly clean up build option handling
  • Docs:
    • clarify Image::getSize and HardwarePixelBuffer::lock
    • doxygen - fixed remaining issues or added workarounds
    • move config file description to setup tutorial
    • update links on mainpage and use local licensebutton copy
    • Add vcpkg installation instructions
    • FileSystemLayer - fix locations in documentation
  • DotSceneLoader - fix compilation w/o Terrain, fix crash on parse error
  • SWIG
    • enable ResourceLoadingListener
    • Overlay - make createOverlayElement actually useful
    • extend Matrix3, Matrix4 and Affine3 by non member operator overloads
  • Terrain
    • ShaderHelper - simplify generateVertexProgramSource
    • TerrainMaterialGenerator - deprecate getDescription
  • D3D*: use common _beginFrame
  • GL*
    • HardwarePixelBuffer - drop unused mFace member
    • simplify scissor test handling
  • GL3Plus:
    • improve OSX shader hot-patching
    • fix "WARNING: Could not find vertex shader attribute ..."
  • GL
    • add ConfigOption to disable FFP
  • GLES2
    • iOS - suppress attribute warnings
  • GLSupport
    • EGL - fix currentGLContext support
    • OSX - correctly set Window visible to receive updates
    • added macro recursion feature to GLSLPreprocessor
  • Samples
    • simplify directory structure and build
    • simplify Sample info handling
    • unify SdkSample and VisualTest API in Sample
    • Browser - add OGREDEPS to RPATH on OSX
    • Browser - disentangle main and android_main
    • Browser - fix superficial link on OSX
    • Browser - move iOS specific parts to SampleBrowser_iOS
    • BSP - fix accessing CameraMan before it is created
    • correctly mark GLSL300ES shaders as such
    • drop unused Cocoa NIB files
    • LightShafts - multiply out alpha, as we use additive blending
    • LightShafts - use standard depth texture & spotlight params
    • OSX - correctly set rpath for browser
    • Terrain - replace proprietary nvidia textures by cc0textures
  • XMLConverter
    • correctly warn about dropped flags
    • fix unitialised colourElementType
    • handle meshes with bad material references
  • CI: enable Qt in SDK build and switch to relwithdebinfo

Note: imgui is not included - workaround

v1.12.5

16 Feb 20:00
Compare
Choose a tag to compare

Note: imgui is not included - workaround

  • Main
    • Box - introduce getSize & getOrigin convenience functions
    • deprecate Codec::dataType()
    • deprecate HardwareUniformBuffer methods
    • deprecate multiple map iterator wrapper accessors
    • deprecate Renderable::RenderSystemData
    • deprecate shadow_caster_*_program_ref for shadow_caster_material
    • deprecate texture_alias in favor of script variables
    • deprecate RSC_VERTEX_PROGRAM & RSC_FRAGMENT_PROGRAM
    • make RSC_ATOMIC_COUNTERS an alias for RSC_READ_WRITE_BUFFERS
    • StringConverter - deprecate converting ColourBufferType
    • Entity - replace @copydoc comments by explicit override annotation
    • Frustum - introduce Corners typedef for Vector3[8]
    • GpuProgram - correctly do parameter creation in postLoadImpl
    • GpuProgramParameters - parse index instead of using dummy entries
    • GpuProgramParams - avoid dirty flag on download & unify error msgs
    • GpuProgram - skip loadImpl and postLoadImpl on compile error
    • HardwarePixelBuffer::blit - rewrite with blitToMemory
    • HighLevelGpuProgram - fix line numbers when handling #include
    • HW BufferManager - provide default impl for non essential buffers
    • InstanceBatchShader - make performance warning actually a warning
    • merge HW Uniform and Counter Buffers
    • refactor RenderSystemCapabilities logging
    • ScriptTranslator - flag invalid properties inside shared_params
    • ScriptTranslator - universally use Error::getDescription
    • ShadowCaster - deprecate getShadowVolumeRenderableIterator
    • ShadowRenderer - make sure render system specific sampler is used
    • StaticGeometry - deprecate Iterator based API
    • Texture - assert that we are not loading an empty image
    • Fixed possible crash in the addImpl() method of the ResourceManager class
    • compatibility with musl libc
  • CMake
    • request legacy GL discovery mode
    • samples should be only installed when they are also built
    • deprecate the HLMS component
    • Android - only derive activity label if EXTRA_ACTIVITIES exist
    • use standard (cmake 3.16+) PCH paths if possible
  • Bindings:
    • Added overloaded addition, subtraction, multiplication and division.
    • Added template for ConfigOptionMap
    • Changed Swig SharedPtr to Ogre SharedPtr.
    • CSharp: compile C# dll instead of installing source files
    • Fixed memory management for SceneManager::createRayQuery, added RayTestResult as a SWIG type.
    • Void Pointer and casting of MovableObject (#1413)
    • SWIG: allow building Overlay bindings without imgui
    • Java: suppress new warnings in build
  • RTSS
    • allow InTexcoord parameters of arbitrary type
    • correctly reset default shadow receiver material
    • DualQuaternionSkinning - fix interplay with projective texturing
    • fix bug with single pass parallax mapping & adapt sample
    • fix vertex output compacting
    • GBuffer - change TL_DEPTH_NORMAL to TL_NORMAL_VIEWDEPTH
    • GL - implement SPC_POSITION_PROJECTIVE_SPACE FS input
    • GLSL - legacy GLSL should be only use when targeting <= GLSL120
    • GLSL - use #include instead of shader attachment
    • GLSL Writer - get rid of wrong and unneeded cast
    • implement GBuffer output SubRenderState
    • implement hardware instancing support
    • implement parallax mapping and use it in respective sample
    • NormalMapLighting - do not transform normal if there are no lights
    • Program - create entry point in constructor
    • PSSM3 - fix scalar on GLSL swizzling which requires GLSL420
    • ScriptTranslator - log error when encountering unknown parameter
    • TextureAtlas - drop #extension as it does not work with #include
  • Terrain: fix wrong light direction of composite map
  • GLSupport
    • drop unused GLSLProgramCommon::isSkeletalAnimationIncluded
    • GLSLProgramManagerCommon - drop needless GL type indirection
    • GLSLProgramManagerCommon - drop unused shared param parsing
  • GL*
    • further unify GLSLProgramManagerCommon
    • further unify GLSLShaderCommon
    • allow matrix types in texcoord semantic
    • GLSLProgram - store member shaders as array in GLSLProgramCommon
    • GLSLShaderCommon - drop the loadFromSource -> compile indirection
  • D3D11/ D3D9/ Cg: set entry point to "main" by default
  • D3D11
    • prevent DefaultHardwareVertex/Index/UniformBuffer creation
    • VertexDeclaration - be specific which semantic index is missing
  • GL3Plus/ GLES2
    • fix loading monolithic programs from microcode cache
    • attach uniform blocks to shared params for CPU <> GPU sync
    • factor out new linkSeparable() API for SSO
  • GL3Plus
    • clean up blitFromTexture
    • clean up GLSLProgramManager::extractUniformsFromProgram
    • fix linking of spirv SSOs
    • fix RenderToVertexBuffer with monolithic shaders
    • HardwareBuffer::lock - use more appropriate error message
    • merge UBO and SSBO classes
    • SSO - expose uniform locations through param_indexed
    • TextureBuffer::download - fix crash when dest type differs
    • unify microcode read/ write like in GLES2
  • GL/GL3+:
    • deprecate the "attach" mechanism in favor of #include
    • enable hardware texture blit, verified working
  • GLES2: implement limited hardware texture blit w/o scaling
  • D3D9: do not spam unsupported HLSL targets & correct VTF format check
  • BSPSceneManager
    • fire RenderSingleObject, so RTSS passes are updated
    • make BspLevel Renderable to use standard rendering path
  • Tools: MeshUpgrader - allow two SubMeshes reference the same Material
  • Docs
    • Compositor - document quad_normals pass attribute
    • fixed several doxygen errors
    • Manual - improve formatting of "Parameter specification"
    • Material - document the interplay of TUS and Sampler
    • Resource Management - include data retrieval in diagram
    • Tutorials - update deferred shading resource links
    • update regarding shadow_caster_material
  • Samples
    • Compositor - HDR merge GLSL and GLSLES shaders
    • Deferred Shading - merge GLSL and GLSLES shaders
    • Deferred Shading - use HLSL instead of Cg for D3D11 compat
    • Deferred - SSAO use standard instead of custom data sources
    • drop white.bmp that was only used as a placeholder
    • fixup for wrong matrix construction in last commit
    • GLSL - fix several errors discovered by strict SSO checking
    • Instancing - fix shadow casting and matrix types with GLSL
    • Instancing - user better lighting setup
    • Instancing - use RNG from std and make output consistent
    • Instancing - use RTSS for accurate shader based technique
    • ParticleGS - use point sprites with GLSL
    • port DeferredShading to RTSS
    • Shadows - convert to the "standard" PSSM/shadow_caster material
    • Shadows - simplify setup by properly using integrated shadows
    • SkeletalAnimation - set hardware skinning parameters via script
    • SSAO - fix RTSS material initialisation
    • SSAO - port to gbuffer RTSS stage
    • BSP - replace chiopteraDM by OpenArena oa_rpg3dm2
    • BSP - drop quakemap.cfg indirection for Android compatibility
    • AtomicCounters - finish the sample and drop obsolete code
  • Tests
    • convert ImageCombine PlayPen to Unit test
    • fix additive offset mapping test
    • test resource loading listener discarding only element in group
    • VTests: PlayPen_BlitSubTextures - use hardware blit path

v1.12.4

23 Dec 17:56
Compare
Choose a tag to compare

Note: imgui is not included - workaround

  • Main
    • Compile Remotery.c as cpp-file
    • Fixed wrong material name in ManualObjectSection
    • InstanceBatch: Initialize frame number in constructor.
    • Revert "OgreResourceBackgroundQueue: disable when OGRE_THREAD_SUPPORT == 3"
    • remaining fixes for OGRE_CONFIG_DOUBLE
    • add converting constructors to Matrix4 and Affine3 + Test
    • AutoParamDataSource - use Vector4f, when float precision is enough
    • Camera - add #ifdef NODELESS_POSITIONING
    • Camera - simplify with nodeless positioning enabled
    • deprecate AtomicScalar
    • deprecate OgreVector2.h, OgreVector3.h and OgreVector4.h
    • fixed inability to properly parse 'import "longQuotedFilename"'
    • further reorder fields to reduce padding
    • GpuProgram - add safePrepare to account for throwing overloads
    • GpuProgram - move reading from file to prepare
    • GpuProgramParams - use typed overloads for Vector4 float & double
    • Lexer - do not repeat the filename in each ScriptToken
    • Light - add #ifdef NODELESS_POSITIONING
    • make sure directional lights are always sorted in front
    • make TransfromBase compatible when T is not Real
    • merge HighLevelGpuProgram::loadHighLevel with GpuProgram::loadImpl
    • move CmdPreprocessorDefines to HighLevelGpuProgram
    • replace in memory spot_shadow_fade.png by on disk .dds file
    • Resource::calculateSize - use sizeof(*this)
    • SceneManager - move destroyShadowTextures to clearScene
    • ScriptCompiler - avoid vector of SharedPtr
    • ScriptCompiler - deprecate unused internal API
    • ScriptCompiler - throw error on invalid import statements
    • ScriptLexer - get rid of Ptr to vector antipattern
    • ScriptLexer - only record lexeme when type is not sufficient
    • ScriptParser - factor out unquoted function
    • ScriptTranslator - unify GpuProgram translation
    • ShadowRenderer - bind shadow texture to correct Pass with RTSS
    • ShadowRenderer - fix spot shadow fade with the RTSS
    • slightly refactor shadowrenderer
    • switch internal HighLevelGpuProgramFactory API to GpuProgram*
    • TextureManager - assert that total texture size is not zero
    • UnifiedHighLevelProgram - allow delegating to low-level programs
    • Node - make getLocalAxes more numerically stable
    • Matrix3 - make several functions inline for re-use and refactor
  • Bites
    • add keypad key support for Dear ImGui.
    • map Dear ImGui to SDL_TEXTINPUT for correct text character processing.
    • Move check for Xaw to Bites.
  • CMake
    • expose OGRE_NODELESS_POSITIONING
    • disable imgui, if it is not found out and add nodeless to summary
    • Make OGRE_BUILD_TESTS depend on Ogre Bites.
    • RTTS - drop separation between core and ext shaders
  • Overlays
    • imgui - correctly handle RGB > BGR conversion for D3D9
    • restore script loading hack to allow re-loading groups
  • RTSS
    • FFPLib - add missing FFP_Transform variant
    • fix linear skinning shaders and replace existing sample by them
    • HarwareSkinning - only include light calculations when needed
    • LinearSkinning - add missing normal transformation
    • make hardware skinning work with GLES3+
    • properly handle uniform arrays of non square matrices
    • Texturing - switch back to inspecting srcPass
    • Texturing - use ACT_TEXTURE_VIEWPROJ_MATRIX for projection matrix
    • use the RTSS to generate Hardware Skinning shadow caster shaders
    • use uint4 for BLENDINDICES for HLSL4 compatibility
  • D3D9/ D3D11: allow background shader compilation in prepare()
  • D3D11
    • HLSL - drop shared_ptr juggling and remove according hack in Main
    • make sure PF_RGB correctly falls back to PF_XRGB instead of RGBA
    • Switched ID3D11DeviceContext::ClearState and ID3D11DeviceContext::Flush as recommend by Microsoft.
  • D3D9: retain monitorIndex of the "Rendering Device" config option
  • GL*
    • delete background contexts before destroying the HBM
    • fix uploading sampler array uniforms
    • Non-square matrices are always row-major in Ogre with no
      conversion, so force off transposition.
  • GL
    • explicitly convert matrices to float for OGRE_CONFIG_DOUBLE
    • fix crash & error due to type mismatch
    • get rid of GLSLGpuProgram and consolidate GLSL code in GLSupport
  • GLSupport
    • add the 'externalGLControl' option to Cocoa render windows
    • factor out common GLWindow class
    • move background context registration to GLRenderSystemCommon
  • Docs: add background resource loading tutorial
    • Basic Tutorial 2 - use additive lighting
    • improve VTF section
    • manual - improve GPU Program documentation
    • Manual - slightly improve Shadows section
    • Manual: document GLSL non-square matrix translation behavior
    • RTSS - add hardware_skinning section
    • update License.md - added pugixml, dropped nedmalloc
  • Samples
    • add clarifying comment when using the ImGuiOverlay() in custom apps (#1333)
    • Do not build demo installer when SampleBrowser is disabled
    • BumpMapping - use HLSL instead of Cg
    • clean up Shadows sample
    • do not build imgui sample, if it is disabled
    • drop obsolete HadwareSkinning materials & shaders
    • enable Fresnel Sample for D3D11 by using HLSL instead of Cg
    • fix depth shadow caster for HLSL4
    • OffsetMapping - finalize cleanup and fix multilight setting
    • OffsetMapping - use HLSL instead of Cg and simplify material
    • Browser - improve UI layout on Mobile
  • Tests
    • PlayPen - port to nodeless positioning by using helper class
    • unify glow shaders

v1.12.3

06 Nov 10:02
Compare
Choose a tag to compare

  • Main
    • allow reading zip archives from unicode paths
    • Compositor - allow setting auto clear colour from script
    • deprecate QuadMaterialMap typedef
    • deprecate TEX_TYPE_2D_RECT
    • deprecate _writeRawConstant(size_t, Real, size_t count)
    • fix GpuParameters not being updated if preRender returns false
    • make reverse-Z a ConfigOption and check compatibility in GL3Plus
    • Pass - setPointSpritesEnabled. Check for RSC_POINT_SPRITES
    • properly handle MRT depth attachments
    • removed extra unlock, which caused assert failure. (#1273)
    • SkyRenderer - correctly apply orientation to SkyBox
    • TextureUnitState::setTextureName - do not reset the TextureType
    • Added support for 32 bit floating point depth buffer (#1290)
    • Provide copy and assign ctors where needed.
    • Fixed exit from Matrix3::SingularValueDecomposition when reaching max iteration count
  • CMake
    • add dotscene plugin and imgui support to feature summary
    • enable unicode path support on MSVC by default
  • Bites
    • ApplicationContext - implement destroying windows
    • Input - specify return value and add InputListenerChain
  • Overlay
    • allow injecting derived Overlay classes
    • merge ogre-imgui into Overlay & Bites
    • Implemented pixel ratio for HiDPI
  • RTSS
    • HLSL use SM4 sampling functions if available
    • PSSM3 - fix shader generation for depth textures with HLSL
    • PSSM3 - fix depth texture, no split with reversed depth with GLSL
  • Terrain
    • generate SM4 compatible shaders
    • fix shadows with reversed-z & depth textures
  • Docs
    • improve Compositor script documentation
    • fix a bunch of doxygen warnings
    • Install Linux docs in /usr/share/doc/OGRE
    • add reversed depth tutorial
  • GL*
    • drop unneeded calls to glReadBuffer
    • Texture - keep driver default parameters for initial upload to avoid stalls
  • GL3+
    • allow FBOs with depth and non-depth texture attachments
    • Reverse depth buffer implementation for OpenGL3+
    • fix leak when a program object is created but one already exists
  • GL3+/ GLES2: fix handling of PF_A8 textures & add test
  • D3D11 & GL3+: consider reversed-Z for texture compare & texture border
  • GL: remove some version checks - we globally require GL 1.5
  • GLSupport:
    • EGL - fix emscripten build
    • EGL - use the standard FSAA name on Emscripten & Android
    • GLSLPreprocessor: fixup #elif support + test
    • GLSLPreprocessor: use std::forward_list instead of ad-hoc solution
    • Android: export viewport scale through getViewPointToPixelScale
    • Android - query ANativeWindow instead of EGL for window size
  • D3D11
    • drop RSC_POINT_SPRITES, which is not supported
    • use precise depth format mappings that we have now
    • add reversed-Z support
  • D3D9 & D3D11: ps_2_x & vs_2_x are not HLSL profiles
  • Samples
    • add Imgui demo
    • introduce HLSL_SM4Support.hlsl to unify Cg/ HLSL4 shaders
    • clean up Example_Basic.{cg, hlsl} mess
    • Browser - make sure Trays are not tiny on Android
    • Context - use isCurrentSamplePaused to make code more readable
    • drop Sample::getRequiredRenderSystem
    • ShowUV - fix varying matching in GLSL shaders
    • SkyBox materials must not use normals - D3D11 is picky here
    • SSAO - merge Cg & HLSL post processing shaders
    • fix depth shadow caster for HLSL4
  • Tests:
    • make PlayPen_VertexTexture compatible with D3D11
    • fix MinGW build
    • PlayPen_DepthShadowMap - add normals to satisfy D3D11

v1.12.2

15 Sep 12:51
Compare
Choose a tag to compare

  • Main:
    • DefaultHardwareBufferManager - fix order of destruction
    • deprecate getMovableObjectFactoryIterator
    • deprecate RenderSystem::bindGpuProgramPassIterationParameters
    • deprecate SceneManager::getMovableObjectIterator
    • factor out internal _openFileStream method
    • Frustum - correct extent computation for customProjMatrix
    • remove logging from Exception constructor altogether
    • TRect - add operator==
    • use the idiomatic addElement().getSize() chaining for VertexDeclarations
  • CMake
    • disable precompiled headers on MinGW
    • export unicode paths option on MSVC
  • Csharp: install source files for easier consumption and fix build
  • D3D9: implement bindGpuProgramPassIterationParameters by general means
  • GLSupport
    • EGL - add HWgamma support
    • EGL - correctly handle windowMovedOrResized with parent win
    • implement the 'currentGLContext' parameter for cocoa windows on macOS
    • unify EGL/ GLX debug output
  • GL3+
    • support loading SPIRV shaders
    • update glcorearb.h to OpenGL 4.6
  • GL*
    • GLSL - some code simplification
    • GpuProgram - implement pass iteration params binding using mask
    • unify uniform block handling in GLSupport
  • Plugins
    • add DotSceneLoader plugin
    • STB image - update to latest upstream
  • XMLConverter
    • replace tinyxml by pugixml
    • simplify code
  • Samples
    • add volumetric light shafts sample
    • avoid SampleBrowser swallowing sample input events
    • Tutorials - Added CXX 11 as it does not build without it
  • Tests
    • fix gtest discovery when built locally
    • test Camera::setCustomProjectionMatrix
    • update gtest and build it like the rest of the deps
  • Docs
    • update dependencies and document cmake options
    • use aliases to annotate shader specific pass parameters
    • update "Binding vertex attributes" section

v1.12.1

25 Jun 09:49
Compare
Choose a tag to compare

  • Main
    • add optimized PF_R8 scaling & conversion
    • add overloads for MaterialPtr ManualObject
    • improve Singleton documentation
    • properly export RenderOperation
    • Texture - also unset TU_AUTOMIPMAP when mNumMipmaps == 0
    • update SSE2NEON to fix softwareVertexSkinning
    • use general softwareVertexSkinning implementation instead of NEON
    • Add missing nullptr_t constructor for SharedPtr
    • Do not replace existing entries in ResourceGroup index
    • use std::map::emplace instead of std::map::insert to simplify code
    • OgreETCCodec: KTX container: add support for a subset of ASTC textures
    • OgrePixelFormat: fix obvious typo in computing astc_slice_size()
  • XMLConverter
    • do not attempt to create "" named materials
    • use Listener to keep material references for mesh2xml
  • CMake
    • Android - fix installation of core resources
    • Android - port build to gradle
  • SWIG: export VertexElementList and ignore some deprecated stuff
  • Overlay
    • fix TextArea Font and material change
    • Add _setMaterial method to Font
  • Bites: Trays - allow interacting with widgets using the system cursor
  • Terrain: use material group for composite map
  • D3D11: Replaced the use of getCustomAttribute() methods by new D3D11RenderTarget interface (#1212)
  • D3D9: fix uninitialised memory in lighting
  • GLSupport: [OSX] Avoid leaking and over releasing of mGLContext and mGLPixelFormat - always store retained, always release. Initialize mGLPixelFormat in externalGLContext case too. Cleanup.
  • GL3+
    • correct building shader programs when compute shader is present
    • Make GLSL part of GL3Plus private implementation (#1188)
  • GLES2: fix PixelFormat assert and compilation with GLStateCache
  • GLES2/ GL3+: use compile time assert in PixelFormat
  • RTSS: add missing forward declare
  • Samples
    • AndroidJNI - properly request Camera permissions
    • correct path for AndroidJNI samples
  • Test correct resource location priority
  • Docs:
    • clarify light-related SceneManager comments
    • improve documentation of ManualResourceLoader
    • improve RTSS documentation
    • update building instructions for android

v1.12.0

30 Apr 17:27
Compare
Choose a tag to compare

  • Main
    • add ACT camera world position for camera relative rendering
    • add DefaultTextureManager and NullTexture for software fallbacks
    • add PF_DEPTH32 and map it in GL3+
    • add proper deprecation notes for legacy HardwareBufferLockGuard
    • add SSE2NEON for NEON SIMD support
    • Any - throw std::bad_cast instead of InvalidParametersException
    • append "_d" in DynLib instead of getConfigFilePath
    • assert instead of segfaulting if volume materials are unavailable
    • CompositionTechnique - except if texture name is not unique
    • Compositor - factor out resolveTexReference
    • CompositorManager - stop using ptr to std::vector antipattern
    • Compositor - reuse common methods of CompositorInstance & use uint
    • correctly handle the case of identityView && cameraRelative
    • correctly mark DebugRenderable for export
    • define a common OGRE_TOKEN_PASTE macro for LINE concat
    • DepthBuffer - make FSAA API consistent with RTT API
    • _destroySceneNode - fix destroying last item in mSceneNodes
    • disambiguate ResourceManager overloads
    • drop deprecated RenderSystem API
    • drop deprecations with low impact
    • drop DIRECTXMATH support now that we have NEON everywhere
    • drop RSC_CUBEMAPPING by bumping required D3D9 feature level to 9.1
    • drop support for separateUV
    • drop useless RSC_COMPLETE_TEXTURE_BINDING
    • DynLib - fix WinRT build
    • Entity - use vector based storage for child objects
    • factor out OGRE_BUILD_* settings to OgreComponents.h
    • factor out ShadowVolumeExtrudePrograms to filesystem
    • FileSystemLayer - do not force the Ogre subdir upon consumers
    • fix android build without Zip
    • fix building without ZIP
    • fix combinedUVW for separate images & deprecate separateUV setting
    • fix default texture filtering value set to the value other than FO_NONE for TE_EXTERNAL_OES and TEX_TYPE_2D_RECT
    • fix integer overflow when num threads and use a sane limit of 2
    • fix segfault when set_texture_alias arguments are missing
    • GpuProgramManager - provide default noop loadImpl
    • HardwareBufferLockGuard - assert that buffer is not null
    • hide OgreParticleEmitterCommands.h
    • hide OgrePrefabFactory
    • hide ShadowTextureManager
    • HighLevelGpuProgram - fix #line directive filename refrencing
    • HighLevelGpuProgram - unify preprocessor define parsing
    • implement ACT_NORMAL_MATRIX
    • install new OgreComponents.h
    • introduce Vector4f and use it to store attenuation
    • ManualObjectSection - factor out convertToSubMesh
    • MaterialManager - fix leak of mDefaultSettings passes
    • MaterialSerializer - fix writing texture_unit section + tests
    • Math - factor out common makePerspectiveMatrix
    • Matrix4 - make converting constructors explicit
    • Mesh - make default constructor match createOrRetrieve
    • MeshManager - load prefabs only on demand
    • MeshManager - move ManualResourceLoader API into separate class
    • move auto window creation logic from RenderSystem to Root
    • move DisplayMode from Profiler to Overlays
    • move more code from SceneManager to ShadowRenderer
    • Node - deprecate getChildIterator
    • Node - use PrefabFactory to create DebugRenderable
    • OptimisedUtil - log ticks instead of requiring a breakpoint
    • OptimizedUtil - fix compilation with DO_PROFILE
    • parametrize TransformBase to make it universally usable
    • ParticleEmitter - add asserts to catch invalid velocity values
    • Pass - fix wrong assignment of attenuation parameters
    • PixelFormat - move byte aliases to end to fix big endian build
    • PlatformInformation - NEON does not depend on a specific CPU arch
    • Profile - add remotery support
    • Profile - avoid allocations for event names, fill swapBuffers hole
    • Profiler - clear the whole hierarchy when enabled mid-frame
    • Profiler - ignore mEnabled with Remotery
    • Profiler - make Profile RAII helper inline
    • Quaternion - inline several trivial member functions
    • reduce private SceneManager API usage in ShadowRender
    • RenderSystem - add back some deprecated internal API
    • RenderSystem - drop advanced TextureUnit settings
    • RenderSystem - drop obsolete hasAnisotropicMipMapFilter
    • RenderSystem - fix _setProjectionMatrix fallback code
    • RenderSystem - pass FFP params through GpuProgramParameters
    • RenderTarget::writeContentsToTimestampedFile - use ISO 8601 order
    • replace some useless comments by "override" keyword
    • ResourceGroupManager - allow disabling throwing in openResource
    • Root - fix auto creation of Window
    • SceneManager - allow to disable throwing in getSceneNode
    • SceneManager - also use fog_override values for auto fog_params
    • SceneManager - convert _TYPE_MASK members to enum
    • SceneManager - deprecate SceneType & fix some deprecation warnings
    • SceneManager - deprecate shadow config iterator access
    • SceneManager - fix finite and infinite extrusion params pointers
    • ScriptCompiler - drop useless CE_UNSUPPORTEDBYRENDERSYSTEM
    • ScriptCompiler - hide abstract bases from OverlayTranslator
    • Script - fully deprecate single argument cubic_texture
    • ScriptTranslator::getConstantType - catch unsupported types
    • ShadowCameraSetup - add static create() to accommodate bindings
    • ShadowRenderer - do not pool depth for PF_DEPTH
    • simplify AxisAlignedBox
    • slightly speed up TextureUnitState::recalcTextureMatrix
    • String - fix doxygen inline comment
    • SubEntity - move trivial getters to header to allow inlining
    • SubMesh - store MaterialPtr instead of material name
    • Texture - add native layer array support
    • Texture - fix fallout from layer array refactor
    • Texture::getBuffer - return by const ref
    • Texture - slightly refactor code and avoid errors on corner cases
    • TextureUnitState - deprecate isCubic() & is3D()
    • TextureUnitState - drop useless binding types
    • TextureUnitState - fix fallout after using NULL frame for blank
    • TextureUnitState - refactor setAnimatedTextureName
    • Timer - use fixed width uint64_t for time duration
    • turn some #if OGRE_PROFILING into runtime options
    • TUS - fix one more instance of NULL for blank & add tests
    • use Matrix3x4f TransformBase typedef in InstancedEntity
    • Vector3 - return IDENTITY in getRotationTo for zero-sized vectors (#1045)
    • ZipArchive - improve zzip error messages
    • Unify enum TextureUsage between v1.11 and v2.1 (TU_NOTSHADERRESOURCE => TU_NOT_SRV, +TU_UAV, +TU_UAV_NOT_SRV)
    • use exception safe buffer unlocking everywhere
    • move OgreUTFString to Overlay component, get rid of no longer needed OGRE_UNICODE_SUPPORT
    • spare the Quaternion coversion when we only need a Matrix3
    • stop using deprecated setCubicTexture internally
    • Support PixelBox::getSubVolume with slice granularity for compressed textures - no need for relaxed checks
    • Math: Matrix3 - Increase precision of SVD decomposition
    • SceneManager: O(1) complexity for destroySceneNode()
    • SceneManager: restore log(N) complexity for named node lookup
    • SIMDHelper: drop unused __mm_rsqrt_nr_ps
    • Ensure that requesting partial copy of compressed texture will lead to exception rather than silent data corruption. Partial copy is implemented in Ogre v2.1
    • Fixed for Emscripten/Webassembly port to work again
    • Fixed Matrix3::SingularValueDecomposition for bidiagonal matrices
    • fix negative particle size when scale affector decrease size
    • parse #include directive in GLSL shaders
    • VTF instancing with HLSL (#1167)
    • remove superficial OgreExport to fix MinGW build
  • Bites
    • add workaround for swig crashing on ApplicationContext
    • ApplicationContext - add fallback locations for RTSS media
    • ApplicationContext - default to "Ogre3D" as appName
    • ApplicationContext - update fallback internal media locations
    • ApplicationContext - windows must be destroyed in reverse order
    • correctly update director flags after ApplicationContext rename
    • disable ConfigDialog on MinGW until we have resolved #1064
    • extract ApplicationContextBase to allow multiple implementations
    • generate Shaders for all registered RTSS schemes
    • put RTShaderLib paths in resources.cfg instead of guessing them
    • SWIG - correctly handle OgreComponents.h
    • Trays - ensure window update on first call
    • Trays - fix jumping Slider handle
    • TraysManager - limit progress bar update rate to 4fps
  • SWIG
    • add repr to Affine3
    • fix MSVC builds of Python, Csharp and Java
    • fix MSVC CI build
    • fix wrapping of Billboard{Set, Chain} that also derive from MO
    • make VectorBase* available for wrapepd Vector* classes
    • Python: organize all modules in parent Ogre package
    • Java: add install targets
  • CMake
    • Bites - issue a warning if SDL2 was not found
    • drop obsolete Android Toochain - we use the one shipped with NDK
    • set CMP0068 and default CMAKE_OSX_ARCHITECTURES to x86_64
    • silence warning about deprecated swig_add_module
    • WinRT - drop support for WindowsPhone and old MSVC
    • -Wno-inconsistent-missing-override, so we can incrementally add them
    • Fix the CMAKE_MAKE_PROGRAM variable is not set in 3rd party libraries#
    • FreeImageCodec: fix error message when FreeImage_LIBRARIES is empty
  • RTSS
    • add FFPLib_AlphaTest.cg, accidentally dropped in refactoring
    • add material serializer test
    • add templated createSubRenderState overload
    • allow manually trigger...
Read more

v1.11.6

01 May 12:09
Compare
Choose a tag to compare

  • Main
    • fix building without ZIP
    • fix combinedUVW for separate images & deprecate separateUV setting
    • fix default texture filtering value set to the value other than FO_NONE for TE_EXTERNAL_OES and TEX_TYPE_2D_RECT
    • fix integer overflow when num threads and use a sane limit of 2
    • fix segfault when set_texture_alias arguments are missing
    • Fixed Matrix3::SingularValueDecomposition for bidiagonal matrices
    • fix negative particle size when scale affector decrease size
    • MaterialManager - fix leak of mDefaultSettings passes
    • SceneManager - fix finite and infinite extrusion params pointers
    • add ACT camera world position for camera relative rendering
    • add PF_DEPTH32 and map it in GL3+
    • add proper deprecation notes for legacy HardwareBufferLockGuard
    • add SSE2NEON for NEON SIMD support
    • correctly handle the case of identityView && cameraRelative
    • correctly mark DebugRenderable for export
    • DepthBuffer - make FSAA API consistent with RTT API
    • disambiguate ResourceManager overloads
    • drop DIRECTXMATH support now that we have NEON everywhere
    • Mesh - make default constructor match createOrRetrieve
    • Node - deprecate getChildIterator
    • OptimisedUtil - log ticks instead of requiring a breakpoint
    • OptimizedUtil - fix compilation with DO_PROFILE
    • ParticleEmitter - add asserts to catch invalid velocity values
    • PixelFormat - move byte aliases to end to fix big endian build
    • PlatformInformation - NEON does not depend on a specific CPU arch
    • Quaternion - inline several trivial member functions
    • ResourceGroupManager - allow disabling throwing in openResource
    • SceneManager - allow to disable throwing in getSceneNode
    • SceneManager - deprecate shadow config iterator access
    • Script - fully deprecate single argument cubic_texture
    • ScriptTranslator::getConstantType - catch unsupported types
    • ShadowCameraSetup - add static create() to accommodate bindings
    • ShadowRenderer - do not pool depth for PF_DEPTH
    • simplify AxisAlignedBox
    • slightly speed up TextureUnitState::recalcTextureMatrix
    • Texture - add native layer array support
    • Texture - slightly refactor code and avoid errors on corner cases
    • TextureUnitState - deprecate isCubic() & is3D()
    • TextureUnitState - refactor setAnimatedTextureName
    • Vector3 - return IDENTITY in getRotationTo for zero-sized vectors (#1045)
    • ZipArchive - improve zzip error messages
    • Matrix3 - Increase precision of SVD decomposition
    • SceneManager: O(1) complexity for destroySceneNode()
    • SceneManager: restore log(N) complexity for named node lookup
    • SIMDHelper: drop unused __mm_rsqrt_nr_ps
    • spare the Quaternion coversion when we only need a Matrix3
    • stop using deprecated setCubicTexture internally
    • Support PixelBox::getSubVolume with slice granularity for compressed textures - no need for relaxed checks
    • VTF instancing with HLSL (#1167)
    • parse #include directive in GLSL shaders
  • CMake
    • Bites - issue a warning if SDL2 was not found
    • set CMP0068 and default CMAKE_OSX_ARCHITECTURES to x86_64
    • Fix the CMAKE_MAKE_PROGRAM variable is not set in 3rd party libraries
    • FreeImageCodec: fix error message when FreeImage_LIBRARIES is empty
  • Bites
    • disable ConfigDialog on MinGW until we have resolved #1064
    • generate Shaders for all registered RTSS schemes
    • Trays - ensure window update on first call
    • Trays - fix jumping Slider handle
    • TraysManager - limit progress bar update rate to 4fps
    • use exception safe buffer unlocking everywhere
    • Ensure that requesting partial copy of compressed texture will lead to exception rather than silent data corruption. Partial copy is implemented in Ogre v2.1
  • RTSS
    • add FFPLib_AlphaTest.cg, accidentally dropped in refactoring
    • add templated createSubRenderState overload
    • correctly apply specular normalisation before addition
    • fix resolving params with autoConstantIntData != 0
    • merge remaining parts of glsl & glsles RTShaderLib
    • ~SGTechnique - fix use after free
    • update PSSM3 split point documentation
  • Terrain
    • MaterialGenerator - actually disable normal maps if requested
    • TerrainGroup - add loadLegacyTerrain for 1.7 style terrain.cfg
  • SWIG
    • add repr to Affine3
    • fix MSVC builds of Python, Csharp and Java
    • fix MSVC CI build
    • fix wrapping of Billboard{Set, Chain} that also derive from MO
    • make VectorBase* available for wrapepd Vector* classes
    • Java: add install targets
  • Media: drop the unused old instancing shaders
  • Overlay: fix crash when tasking out of full screen
  • GLSupport
    • "contentScalingFactor" option to scale Android back buffer (#1033)
    • move getPass*States override to GL
    • CPreprocessor: skip duplicate strlen call
  • GLES2
    • EAGL2Window: derive from GLRenderTarget as required
    • Fix crash when opening GLES2 Mali emulator
  • GL*
    • allow MRT with different formats if supported
    • fix FBO format logging
    • Revert "GL*: do not needlessly bind zero texture"
  • GL
    • do not cache programs containing geometry shaders
    • fix GLArbGpuProgram::loadFromSource exception code & message
    • fix warning flood with Copy & PBuffer RTT
  • D3D11:
    • allow D3D11DeviceResource to create and destroy self or other D3D11DeviceResources in notifyDeviceLost/Restored handlers
    • D3D11HardwarePixelBuffer: Create staging buffer with only single subresource, ret immediately after usage
    • D3D11VertexDeclaration - add useful information to exception
    • Dead code removed (offset was always zero)
    • Restored the ability to differentiate between identically named adapters
    • Reuse field declared in the base class (mLockBox => mLockedBox)
    • We need to clean only one texture slot as there is only one depth texture (stored in mDSTResView) even for D3D11MultiRenderTarget
  • Docs
    • manual - improve shadows section
    • slight corrections for Compositor Scripts
  • Samples
    • Python - drop deprecated ApplicationContext parameter
    • TexturedFog - fix errors with strict mode
  • Tests
    • add Matrix3SVD test
    • VTests: drop superficial calls to buildTangentVectors on knot.mesh

v1.11.5

20 Dec 21:52
Compare
Choose a tag to compare

  • Main
    • AnimationStateControllerValue - add create() and addTime option
    • Controller - add static ::create() member to Function & Value
    • DeflateStream - Avoid assert when read is satisfied by cache
    • DeflateStream - call destroy[ZStream] in close()
    • Fixed memory leak in MemoryDataStream.
    • fix various warnings/ issues discovered by clang analyzer
    • GpuProgramParametersSharedPtr -> const GpuProgramParametersPtr&
    • handle empty resources - throw in RGM and return false in Archive
    • Math - deprecate intersects(.. list ..)
    • Math - move simple function definitions to header
    • Math - typedef RayTestResult and inline some ::intersect funcs
    • Node::DebugRenderable - draw over existing geometry
    • Plane - move all definitions to header to allow inlining
    • RESOURCE_GROUP_NAMEs should be the same regardless of STRICT_MODE
    • Root - fix shutdown() after oneTimePostWindowInit() was called
    • TextureUnitState::setBlank - restore pre 1.11 semantics
    • unify handling of blank textures
  • CMake
    • Dependencies - switch to upstream zzip
    • install swig interfaces for consumption by external modules
  • RTSS
    • add option to use energy preserving blinn-phong reflectance
    • ShaderProgram - allow preprocessor defines
  • Bites
    • ApplicationContext - add public getFSLayer
    • ApplicationContext - call Root::saveConfig() after shutdown()
    • CameraMan - add setPivotOffset for manual offset control
    • Input - corrected the SDLK_PAGEDOWN value (#989)
    • Input - forward MouseButtonEvent::clicks
    • OgreCameraMan - allow disabling fixed camera yaw
    • add hacky workaround for black window on OSX
  • Terrain
    • checkQuadIntersection - drop superficial normalization
    • speed up getHeightAtTerrainPosition
  • SWIG
    • add C# bindings component
    • wrap AnimationStateMap
    • wrap Ogre::TRect
    • wrap RaySceneQueryResult
    • wrap RenderTarget::FrameStats
  • Python: add version module version number
  • GL*: fix various issues discovered by clang analyzer
  • GLSupport: fix GLXWindow::resize for non-toplevel windows
  • D3D11: also use _getTextureBindFlags for 3D textures
  • GLES2: fix building with hlsl2glsl
  • D3D9
    • do not crash when moving window to the second screen
    • drop actually unsupported RSC_AUTOMIPMAP_COMPRESSED
    • we must use TU_DYNAMIC for mipmap generation on D3D9Ex
  • Docs: Manual - improve references/ formatting in Animation chapter
  • Samples
    • Android - merge both samples into single project/ directory
    • correct (lower) shader requirements of terrain related samples
    • InstancedViewports - fix GLSL using preprocessor defines