Skip to content

@paroj paroj released this Apr 30, 2019 · 22 commits to master since this release

  • 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 triggering shader generation & add test for this
    • allow using PSSM3 SRS for normal depth shadow mapping too
    • Colour - drop useless stage flags to simplify code
    • const correctness for updateGpuProgramsParams
    • correct and simplify FunctionInvocation Operand comparison + test
    • correctly apply specular normalisation before addition
    • disable hardware PCF for now as it has issues on e.g. Intel
    • drop deprecated functions
    • drop deprecated functions
    • drop SGX_TransformPosition and one SGX_TransformNormal overload
    • drop specular mapping support in normalmapping SRS
    • FFPRenderStateBuilder - just use constructor & destructor
    • FFPTexturing - simplify setTextureUnit preconditions
    • fix PSSM shader for GLSLES
    • fix resolving params with autoConstantIntData != 0
    • fix SGX_ModulateScalar fallout
    • GLSL - factor out getGL3CompatDefines
    • hide SGMaterialSerializerListener implementation
    • Lighting - clean up internal API
    • Lighting - drop unused uniform surface parameters
    • Lighting - simplify code by using ACT_NORMAL_MATRIX
    • Lighting - simplify shaders by using inout semantics
    • Lighting - there will never be specular input for per pixel lights
    • lighting - use the autoparam data source to feed data
    • make code testable and add basic shadergen test
    • make resolve* funcs never return NULL and drop respective checks
    • merge per-pixel and normal-map lighting
    • merge remaining parts of glsl & glsles RTShaderLib
    • move acquirePrograms/ releasePrograms to TargetRenderState
    • move bindUniformParameters to TargetRenderState
    • move CPU program creation to TargetRenderState
    • move example SRS shaders into Samples/Media
    • move getCustomFFPSubState to FFPRenderStateBuilder
    • move UserObjectBinding management to TargetRenderState
    • Operand - delay null check until FunctionInvocation
    • PerPixel - directional lights must not unset viewpos request
    • properly use FunctionAtom base class
    • PSSM3 - fix fallout in parameter resolve check
    • PSSM3 - fix hardware PCF and auto enable it for PF_DEPTH
    • PSSM3 - speed up shader code & use hardware PCF if available
    • refactor NormalMapLighting
    • RenderState - use std::unique_ptr for aggregation & slight cleanup
    • replace FFP_FUNC_ADD/MODULATE/SUBTRACT by BinaryOpAtom
    • ~SGTechnique - fix use after free
    • ShaderGenerator - hide listener adapters
    • ShaderGenerator - manage aggregated classes using std::unique_ptr
    • simplify FFPRenderStateBuilder and default to per-pixel lighting
    • simplify Operand::OpMask enum and use strict typing for it
    • slightly simplify Lighting parameter resolution
    • Texturing - mPSOutDiffuse always contains the "current" value
    • Texturing - remove superficial assignment to temporary
    • update PSSM3 split point documentation
    • use dynamic_cast instead of getType() String comparison
    • use Vector3i for lightCount
  • MeshLOD

    • Let Lod0Stripifier use Mesh::getHardwareBufferManager() for buffer creation
    • MeshLodGenerator: wrong assertions removed
  • Media

    • drop the unused old instancing shaders
    • factor out top level "core" Media folder
    • fix mrttestfp_quad.glsl after stdquad refactoring
    • inherit border attributes in SdkTrays.overlay
    • merge GLSL / GLSL150 StdQuad_vp and dependent compositors
    • merge some HLSL and Cg programs in HLSL_Cg
    • unify DepthShadowmap* programs as GLSL120
    • unify GLSLES and GLSL120 shaders as GLSL where possible
    • unify SwizzleGP.glsl, fixing the GL2 version
    • PSSM: unify shaders and assume window depth instead of NDC depth on GL
  • Overlay

    • do not call _notifyViewport on adding elements
    • fix crash when tasking out of full screen
    • fix fallout introduced by the new ScriptTranslator
    • hide OgreOverlayElementCommands.h
    • Overlays - use "new" Script Compiler introduced in OGRE 1.6
    • use shadowbuffer to avoid stall caused by VBO mapping (#1162)
  • Terrain

    • force checkQuadIntersection inline and make it private
    • MaterialGenerator - actually disable normal maps if requested
    • move helper shader code to filesystem
    • slightly clean up TerrainMaterialGeneratorA
    • speed up calculateHeightDeltas
    • TerrainGroup - add loadLegacyTerrain for 1.7 style terrain.cfg
    • use #include directive to append TerrainHelpers
    • use non-linear depth for depth shadows
  • GLSupport

    • add "contentScalingFactor" option to scale Android 3D buffer (#1033)
    • drop unused ErrorHandlerFunc abstraction
    • GLX - drop broken window icon loading code
    • move getPass*States override to GL
    • move legacy EXT_geometry_shader4 functionality to GL
    • OSX - eliminate confusing variable name
    • unify implementations as GLDepthBufferCommon
    • CPreprocessor: skip duplicate strlen call
  • D3D11:

    • allow D3D11DeviceResource to create and destroy self or other D3D11DeviceResources in notifyDeviceLost/Restored handlers
    • D3D11HardwarePixelBuffer: Create staging buffer with only single subresource
    • D3D11VertexDeclaration - add useful information to exception
    • Dead code removed (offset was always zero - the only reason why there were no cr
    • Rename D3D11Texture::getTexture() => getSrvView()
    • 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
  • GL*

    • simplify createMultiRenderTarget - only supported with FBOs
    • Revert "GL*: do not needlessly bind zero texture"
    • allow MRT with different formats if supported
    • DepthBuffer - drop unused mMultiSampleQuality field
    • fix FBO format logging
    • GL3+/ GLES2: simplify RTT Manager as only FBOs are supported
    • GLES2/ GL3+: disable separable programs by default
  • GLES2:

    • EAGL2Window: derive from GLRenderTarget as required
    • Fix crash when opening GLES2 Mali emulator
    • auto insert precision qualifier into fragment shaders
  • GL3+

    • bump minimal required OpenGL context to 3.3
    • do not implicitly dispatch compute during _render
  • D3D9: Texture - remove unused mCubeFaceNames

  • GL

    • actually throw on invalid outputOperationType
    • do not cache programs containing geometry shaders
    • fix GLArbGpuProgram::loadFromSource exception code & message
    • fix warning flood with Copy & PBuffer RTT
  • FreeImageCodec/ STBICodec: make methods public (#1047)

  • Docs

    • differentiate between the profiler instance and instrumentation
    • fix ogre 1.12 refactoring warnings
    • fix several doxygen warnings
    • fix wrong auto param type in samples
    • improve preprocessor_defines documentation
    • improve "setup" Tutorial
    • manual - improve shadows section
    • port basictutorial3 to doxygen & adapt Terrain sample accordingly
    • reorganize GLSL legacy feature documentation
    • several fixes for 1.11 refactoring
    • slight corrections for Compositor Scripts
    • specify what "compatibility with older cards" exactly means
    • update Entity documentation formatting and references
    • update profiler documentation for remotery support
    • update RTSS sequence diagrams and description
    • use new Ogre logo
    • Tip for install via MSVC without Visual Studio
  • Samples

    • drop DualQuaternion_Common.hlsl
    • Instancing - fix remaining HLSL techniques and merge with Cg
    • Instancing - use RTSS instead of custom shader for ground plane
    • NewInstancing - fix depth shadows on all RenderSystems
    • Python - drop deprecated ApplicationContext parameter
    • Terrain - use RTSS for depth shadows
    • TexturedFog - fix errors with strict mode
  • Tests

    • add Matrix3SVD test
    • add SplitBaseFilename tests
    • add TransformBaseArrayLoading test
    • fix PlayPen_DepthShadowMap and port it to RTSS
    • drop superficial calls to buildTangentVectors on knot.mesh
    • fix PlayPen_ManualObject2D
    • reset RTSS after each test to avoid state leaking
  • Tools: update MeshUpgrader and XMLSerializer for SubMesh changes

Assets 2
You can’t perform that action at this time.