ogre

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

MIT License

Downloads
2K
Stars
3.8K
Committers
239

Bot releases are hidden (Show)

ogre - v13.0.0

Published by paroj about 3 years ago

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 store elementsize
  • SWIG
    • add %template for CameraMap
    • consistently name containers _type_List and _type_Map
    • enable director for OverlayElementFactory
    • fix compilation with SWIG4.0
    • stdi.i is needed after recent sized int typdef changes
    • Python: dont try to use strings as sequences
  • Terrain
    • Delete plane when shutting down.
    • fix dynamic shadows not working in LOD1
    • make waitForDerivedProcesses public
    • MaterialGenerator - drop description field
    • QuadTreeNode - drop unused quadrant field
    • Return early if rect doesn't match node.
    • RTSS Transform - take advantage that Material is Terrain local
    • use RTSS to generate LOD1 technique
    • use uint for coordinates that must not be < 0
  • Overlay
    • Font
      • remove Texture to allow reloading
      • position glyphs using bearing and advance instead of width
    • ImGui
      • move into separate SWIG module
      • update to 1.83
    • hide builtin Element factories
    • hide ParamCommand classes
    • remove separation between templates and elements
    • typedef DisplayString to String and replace UTFString
    • use stb_truetype if freetype is not found
  • ParticleFX
    • hide all factory classes
    • ScaleAffector - add scale_range parameter
  • DotScene
    • export visibility for light & entity
    • implement export of entity local material
    • Add instancing support
    • fix DTD and add test
  • add GLSLang shader compiler plugin
  • Assimp: blacklist bsp loader found in recent versions
  • STBICodec: update stb image to 2.27
  • PCZSceneManager: register as listener instead of using inheritance
  • HLMS: drop the component
  • CI
    • run vtests on GL3+ for full RTSS coverage
    • run VTests using headless EGL
  • CMake
    • bump required version to 3.10
    • clean up dependencies discovery
    • default to OGRE_ASSERT_MODE 2
    • dont install additional find scripts
    • dont put patch in sovesion in accordance to semver
    • drop vcproj_userfile - not needed any more
    • proper fix for building SampleBrowser bundle
    • stop installing sample code
  • RenderSystems: make parentWindowHandle an alias to externalWindowHandle on all platforms
  • D3D*: drop unused "Backbuffer Count" option
  • D3D11
    • also support "OgreUniforms" as default cbuffer
    • drop non-standard HLSL defines
    • drop _renderUsingReadBackAsTexture
    • drop unused "Floating-point mode" option
    • HLSLProgram - align buffer memory & update params with one memcpy
    • HLSLProgram - avoid leaking mSerStrings
    • HLSLProgram - minor code cleanups
    • implement hardware shared_params
    • introduce CHECK_DEVICE_ERROR macro
    • reduce mSerStrings usage
  • D3D9
    • properly register assembly language support
    • rename "Multi device memory hint" > "Auto buffer management"
  • GL*
    • GLSL - warn if there is a default value, that we would overwrite
    • use getResourceLogName for better error reporting
  • 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
    • OSX - drop "hidden" global RS option
  • GL3+ & GLES2: simplify GLSLProgramFactory
  • GL3Plus
    • enable "Separate Shader Objects" by default
    • fix usage of UBOs for default params
    • implement UBO storage for non shared params
    • drop ABO support - SSBOs do the same with a less esoteric API
    • rename "spirv" to "gl_spirv" as it is indeed a different syntax
  • GLES2: Fixing warning in a deprecated String::toString case (#2054)
  • Metal: Program - fix physical index retrieval
  • Docs
    • add hardware shared_params section
    • fix ColourInterpolator Affector formatting
    • improve _createRenderWindow miscParam docs
    • improve & regroup Compositor script docs
    • improve stencil shadow algorithm documentation
    • Manual - add cross-platform shaders section and restructure RTSS
    • port static geometry tutorial from wiki
    • 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
    • AndoidJNI - update sample to show Input Event handling
    • Browser - use getRenderWindowDescription
    • clean-up Grass (static-geometry) sample
    • DeferredShading - disable RTSS lights if we dont need them
    • DeferredShading - exclusively use the RTSS for GBuffer shaders
    • fix B&W compositor for HLSL
    • move RTSS materials to sample media
    • simplify DeferredShading Demo
  • Tests
    • fix geometry shader test after resource lookup changes
    • move ogretestmap.zip to BSP resources
    • Terrain - extend to test (de)serialization
    • TextureShadowsCustomReceiverMat - use FFP API to avoid Cg
    • TextureShadows - use FFP API to avoid Cg
    • MeshUpgrader - clean up CLI options after colour simplification
  • VRMLConverter: fix warning messages about shadowing 'end' variable with std::ios::end stl variable (#2057)
  • VTests: also consider -rs option on initial run
  • VTests: fix StaticGeometry tests

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

ogre - v1.12.13

Published by paroj about 3 years ago

  • 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:

ogre - v1.12.12

Published by paroj over 3 years ago

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:

ogre - v1.12.11

Published by paroj over 3 years ago

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

ogre - v1.12.10

Published by paroj almost 4 years ago

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

ogre - v1.12.9

Published by paroj about 4 years ago

highlight: merge ogre-assimp as Codec_Assimp and OgreAssimpConverter Tool

  • Main
    • Any - enable implicit conversion constructor following std::any
    • Billboard - inline trivial getters & setters
    • BillboardParticleRenderer - inline facade methods
    • BillboardSet - avoid segfault if MaterialPtr is NULL
    • BillboardSet - inline and devirtualise trivial getters/ setters
    • BillboardSet - simplify per Billboard property handling
    • cleaned definition to fix build for macOS on ARM64
    • clean-up/ refactor HBU flags
    • Codec - refactor API to make it generally usable
    • Camera - use inherited mManager property instead of duplicating
    • deprecate ParticleVisualData
    • deprecate Root::convertColourValue
    • deprecate SceneLoaderManager API in favor of new Codec API
    • HighLevelGpuProgramManager::isLanguageSupported - add const
    • ManualObject - allow using transparent pass with detached MO
    • Mesh - introduce MeshCodec indirection to allow different formats
    • MovableObjectFactory - provide default destroyInstance impl
    • ParticleEmitter - use inherited Particle pos
    • ParticleSystem::clear - do not leak emitters into free list
    • ParticleSystem - set owner on creation instead of status change
    • ScriptTranslator - allow multi-language programs
    • Serializer - const correctness
    • ShadowRenderer - fix FT_MIP setting being overwritten
    • StringUtil.normalizeFilePath - properly handle absolute unix paths
    • Swig - extend PixelBox by method returning data as void pointer (#1674)
    • UnifiedShader - add texture1D alias for HLSL
    • use new HBU flags for code appearing in docs
    • Make resource paths relative to resources.cfg-location
    • use mesh provided HardwareBufferManager to create hardware buffers
    • unify debug drawing in the DefaultDebugDrawer class
  • Bites
    • use new logo in GLX config dialog
    • use new logo in Win32 config dialog
    • Add OGRE_CONFIG_DIR envvar
  • RTSS: AlphaTest - pass is a reserved keyword in HLSL
  • Overlay
    • Font - improve freetype related error messages
    • update imgui to 1.77
  • SWIG
    • enable imgui with C# and Java as well
    • export LogListener
    • Overlay - add workaround for setting DisplayString parameters
  • Terrain
    • simplify - blendmap format is always PF_BYTE_RGBA
    • use OgreUnifiedShader for shader generation
  • GL*: properly translate HBU setting
  • D3D11
    • HardwarePixelBuffer - properly use staging buffers
    • properly use HBU setting instead of abusing systemMemory flag
    • re-use shadow buffer for temporary staging
  • D3D9
    • auto-disable FFP fog, when fragment shader is present
    • drop D3DPOOL_MANAGED for buffers & discard HBU_DETAIL_DISCARDABLE
    • properly respect HBU_CPU_ONLY setting
  • Emscripten
    • avoid needless switchFullScreen call
    • load RenderSystem settings from ogre.cfg
    • Fixes issue preventing use of latest emscripten versions (#1698)
  • Docs
    • make sure per-component docs are correctly picked up by doxygen
    • manual - bring hardware buffer section up to date
    • merge cpp and manual docs of VertexData
    • RTSS - add note about automatic shader re-generation
  • Samples
    • ImGui - fix "NewFrameSanityChecks(): Assertion" again
    • merge GLSL150 and GLSLES shaders that all were GLSL100
    • PBS - use OgreUnifiedShader to make it HLSL compatible
    • redeclare Cg shaders as HLSL
    • SdkSample - use unique_ptr to manage mControls
  • Tests: allow RTSS to pass TextureShadowsTransparentCaster VTest
  • Tools: XMLConverter - createOrRetrieve Material

ogre - v1.12.8

Published by paroj about 4 years ago

  • Main
    • update ShadowTextureConfig with actually chosen texture format
    • add RSC_TEXTURE_2D_ARRAY and fix array texture detection/ handling
    • add OgreUnifiedShader.h and unify ShadowVolume shaders
    • HighLevelGpuProgram - correctly resolve #include in #include
    • pass native shader version to shaders as e.g. OGRE_HLSL=4
    • ShadowRenderer - improve default caster material for PF_DEPTH use
    • ShadowRenderer - handle dynamically changing RTSS caster materials
    • ASTCCodec - fix typo in validating blockDims
    • deprecate shadow_receiver_*_program_ref
    • document the current lighting and material model
    • fix RENDER_QUEUE_MAX being treated as RENDER_QUEUE_COUNT
    • HardwareBuffer - guard lock usage with runtime asserts
    • MaterialSerializer - escape special chars in material attributes
    • Material - turn isManual notice into warning
    • Pass - hard deprecate setShadow*Program
    • unify and deprecate RenderSystem::_createRenderWindows
    • unify RenderSystem::_createRenderWindow checks & log output
  • RTSS
    • include OgreUnifiedShader.h unconditionally
    • always write GLSL types - will be handled by UnifiedShader defines
    • HLSL - support Shadow & Array samplers
    • PSSM - slightly refactor shader invocation
    • PSSM - use 4 taps for HW PCF too, configurable split count
    • TextureAtlas - GLSLES compatibility
    • unify ShaderLib as GLSL and improve OgreUnifiedShader.h
    • use #include based dependency resolution for GLSLES as well
  • Bites: respect selected monitor, when creating SDL window
  • Overlay: use cmake to download imgui instead of git submodule
  • SWIG: add read access to elements of Matrix4 (#1608)
  • DotSceneLoader: appease unique_ptr destructor when building w/o Terrain
  • Tools: simplify argument parsing & use logError for error reporting
  • Python
    • allow using buffer types instead of raw pointers
    • allow using sequences instead of Vector and ColourValaue
  • D3D11 & D3D9
    • use sane fallback if no "target" is set
    • use sane fallback format for PF_DEPTH*
  • D3D11
    • fix HRESULT formatting in exception description
    • fix wrong d3dcompiler version, when compiled with MinGW 9.3
    • introduce OGRE_CHECK_DX_ERROR macro to reduce boilerplate code
    • PF_DEPTH texture support
    • reversed-depth fixes
  • Docs
    • add citation for Terrain LOD algorithm
    • disable inlining inherited members
    • fix Pass references in ACT_SURFACE_ALPHA_REJECTION_VALUE docstring
    • fix warnings uncovered by doxygen v1.8.17
    • hide friend compounds
    • hide ogre internal defines from function signatures
    • Manual - MeshUpgrades does LOD, not XMLConverter
    • move ComPtr to D3D11 module
    • specify unit of "rotate" in material scripts
    • use named member groups to improve readability
  • Emscripten
    • implement graceful degradation from WebGL2 to WebGL1
    • CMake: precompiled headers do not work on emscripten
  • GL*: use sane fallback format for PF_DEPTH*
  • GLES2
    • enable PF_DEPTH16 with WebGL2
    • ignore GL_OES_vertex_array_object on emscripten
  • GLSupport
    • make __VERSION__ available in preprocessor
    • CPreprocessor: forbid numerical defines
  • Samples
    • Browser - do not add Trays UI to Unit Tests
    • clean up Bumpmapping sample
    • Csharp - add Windows.Forms integration sample
    • Emscripten - add PSSM/shadow_caster material
    • LightShafts - port from Cg to OgreUnifiedShader
    • request PF_DEPTH for shadow mapping, where possible
    • ShaderSystem - fix LayeredBlending controls
  • Tests: clean up TextureShadowsTransparentCaster VTest

ogre - v1.12.7

Published by paroj over 4 years ago

  • 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

ogre - v1.12.6

Published by paroj over 4 years ago

  • 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

ogre - v1.12.5

Published by paroj over 4 years ago

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
ogre - v1.12.4

Published by paroj almost 5 years ago

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
ogre - v1.12.3

Published by paroj almost 5 years ago

  • 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
ogre - v1.12.2

Published by paroj about 5 years ago

  • 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
ogre - v1.12.1

Published by paroj over 5 years ago

  • 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
ogre - v1.11.6

Published by paroj over 5 years ago

  • 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
ogre - v1.12.0

Published by paroj over 5 years ago

  • 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

ogre - v1.11.5

Published by paroj almost 6 years ago

  • 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
ogre - v1.11.4

Published by paroj almost 6 years ago

  • Main:
    • add top level aliases for resource groups e.g. RGN_DEFAULT
    • add two-argument OGRE_EXCEPT using __FUNCTION__ as src
    • CompositionPass - allow specifying the type at creation
    • CompositorManager - const correctness and method naming updates
    • deprecate RenderSystem::_makeProjectionMatrix method family
    • fix loading PF_BYTE_LA - add correct masks and shifts
    • GpuProgramManager - clean up Microcode Cache API
    • PassTranslator - auto assign inline defined GpuPrograms
    • properly use std:: math overloads instead of casting to Real
    • RenderSystem - drop commented out methods
    • ResourceManager - prevent creation of "" named resources
    • SceneManager - fireRenderSingleObject after updating light lists
    • SceneManager - let AutoParamDataSource handle the world matrices
    • ScriptLexer - print error instead of throwing on syntax errors
    • ScriptTranslator - also special case targets property
    • ScriptTranslator - use atom->id to parse CompositionPass::PassType
    • ShadowVolumeExtrudeProgram - use cg as backwards compatible hlsl
    • Texture & RenderTarget - add simplified getCustomAttribute
    • Texture - unify loading between all rendersystems
    • TextureUnitState - fix wrong type check in setTexture
    • use Matrix4::CLIPSPACE2DTOIMAGESPACE in AutoParamDataSource
    • add TEX_TYPE_EXTERNAL_OES and android sample of its usage (#914)
    • use source code instead of program names as microcode cache key
    • fix Wconversion warnings in public headers
    • DataStream: clear access mode on close, avoid repetitive compression by DeflateStream when close is called explicitly and then implicitly in .dtor
    • DeflateStream: allow to specify required stream wrapping among supported by ZLib - mostly for GZip variation. Default is ZLib for backward compatibility.
    • use Math::calculateBasicFaceNormal instead of ad-hoc solutions
    • APKFileSystemArchive - only erase elements that existed in the map
  • CMake:
    • fill version info from project() instead of parsing header
    • Use system freetype library if found
    • Fixed the inconsistency use of CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR in some cases. Instead, they are replaced by PROJECT_BINARY_DIR and PROJECT_SOURCE_DIR correspondingly.
  • Bites:
    • Android - return created render window/ native window pair instead of null values (#964)
    • ApplicationContext - shader cache was truncated with no changes
  • RTSS
    • New "Next Gen" API
      • introduce FunctionStageRef for simplified function invocation
      • add resolve{Input,Output}Parameter by content only overload
      • automatically create parameters if content is not found
      • allow resolving input parameters by ParameterPtr
      • add resolveParameter overload for simple autoconstants
      • add SampleTextureAtom to remove FFP_SampleTexture() indirection
      • track unused parameters and skip binding them
      • ShaderFunction - deprecate static getParameter* API
      • replace g_AutoParameters by AutoConstantDictionary from Main
    • merge Cg and HLSL program writers
    • use shared HLSL_Cg shader lib based on Cg variants
    • skip binding samplers on HLSL and Cg
    • merge FFP Lighting and SGX PerPixelLighting
    • add FFP_Lerp(vec3, vec3, vec3) as needed by BLEND_DIFFUSE_COLOUR
    • use AutoParamDataSource for lights and merge update methods
    • Cg - clamp lighting values as well
    • clean up resolveLocalParameter functions
    • do not special case HLSL4 semantics as we use the compat profile
    • do not transform normal if it is not needed
    • fix renaming of custom uniform input parameters
    • GLSL
      • add compatibility defines for sampling function names
      • also redefine texture1D() as texture()
      • consistently clamp per-pixel and ffp lighting
      • ShaderGLSLProgramWriter - allow MRT output from fragment shader
    • GLSLES
      • add support for GL_OES_EGL_image_external
      • write forward declarations to resolve dependencies
      • avoid emitting texture1D code instead of filtering it
    • hardware skinning - do not generate unused local world position
    • SampleTextureAtom - move out argument to end for consistency
    • ShaderGenerator - add overloads for known source technique
    • Texturing - fixes for BLEND_DIFFUSE_ALPHA and BLEND_DIFFUSE_COLOUR
    • TriplanarTexturing - correctly resolve input params
    • SegmentedLights - use fmod which is supported by hlsl and cg
    • ShaderExNormalMapLighting - clamp supported lights to 8
  • Overlay: make error message more useful if component is not a container
  • PageManager: call Camera::removeListener on destruction (#922)
  • Terrain: use Cg shadergen for HLSL as well
  • Java: use proper java 1.5+ enums
  • MeshLod:
    • collapseVertex() can erase more then one vertex from mCollapseCostHeap, therefore we must ask size each time. Fortunately, it's constant time operation.
    • consequently use uint16 leveraging the new Math::uint16Cast
    • LodData structures layout optimization
  • D3D11:
    • only support loading DDS using Ogre Codecs
    • Texture - do not overload/ use loadImage internally
    • use a better heuristic for naming the rendertextures
  • D3D9: use Ogre Codecs instead of D3D9X to load DDS files
  • GL3+/GLES2: drop areFixedFunctionLightsInViewSpace as there is no FFP
  • GLSupport
    • GLX - correctly handle windowMovedOrResized with parent win
    • Fixed incorrect EGL config id return as EGL config
    • introduce internal GLRenderTarget & GLFBOCommon interfaces
    • Added support for assigning custom windowProc
    • AndroidEGLWindow: handle the parameter "externalGLControl" in when create (#963)
    • remove dependency on legacy libGL.so
  • Docs
    • correctly use ScriptTranslator in TextureSource UML
    • document "windowProc" _createRenderWindow parameter
    • make explicit that top level Overlay components must be containers
    • Resource Management - add sequence diagram and fix declaration part
    • Resource Management - group information on a single manual page
    • RTSS - document "fog_stage" attribute
    • update RTSS documentation for latest features
    • use short RGN_DEFAULT alias
    • Texture & RenderTarget - document getCustomAttribute keys
  • Samples
    • Emscripten - do not trap on integer overflow in WASM
    • Ocean - refactor to use unified programs
  • Tests
    • make ONLY_COMMON_GL_TESTS an environment variable
    • PlayPen_SkeletonAnimationOptimise use modulative shadowing
ogre - v1.11.3

Published by paroj almost 6 years ago

  • Main
    • unify Vector classes using a template with configurable type
    • Vector - add explicit converting constructor and define Vector2/3i
    • add StringUtil::format and replace various usages of sprintf
    • TextureUnitState: factor out Sampler class
    • RenderSystem: implement _setSampler in all RenderSystems
    • implement "compute" compositor pass
    • Compositor - allow RTSS to pick up render_quad materials
    • factor out ColourBlendState and make it the preferred codepath
    • respect create() returning null as per resourceCollision handler
    • unify Texture::mSurfaceList across RenderSystems
    • ResourceManager - mention resource type in item identity exception
    • CompositorInstance - do not set DepthBufferPool for depth textures
    • GpuProgramParams - drop remains of boolean parameter storage
    • GpuProgramParams - merge int and uint storage
    • refactor GpuProgramParams to avoid duplicate code
    • MurmurHash3 - fix fallthrough warnings
    • PF_DEPTH16 is an integer format
    • PixelFormat - depth formats are accessible nowadays
    • prevent compositor instances from having empty render targets
    • RenderSystem - do not use Textures where load is failing
    • RenderSystem - make W-Buffer a RenderSystemCapability
    • SceneManager::_destroySceneNode - fix segfault in error path
    • slightly clean up compositors code
    • TextureUnitState - reduce verbosity of logged error message
    • unify TextureManager::isHardwareFilteringSupported
    • update Texture::createShaderAccessPoint interface
    • PixelBox - initialize data pointer to avoid invalid memory access
    • adjust shadows extrusion distance for non-uniformly scaled objects that casts non-uniformly scaled shadows
    • Avoid McGuire dark caps generations if angular size of object is too high, causing interpolated points extruded not far enough, and became potentially visible even for well tesselated mesh
    • Script: do not treat single '$' as variables and print var name on error
    • Script: add sampler and sampler_ref to define and reference samplers
    • Script: allow using PF_BYTE_RGB[A] in scripts
    • ScriptCompiler: formatErrorCode - handle CE_OBJECTBASENOTFOUND
    • ScriptCompiler: introduce CE_DEPRECAEDSYMBOL warning level
    • ScriptTranslator: declaring an unsupported GpuProgram is not an error
    • ScriptTranslator: add unknown parameter values to error messages
    • deprecate complex StringConverter::toString for integer types
    • deprecate SceneNode::getAttachedObjectIterator
    • Script: deprecate compare_func keyword
    • RenderSystem - deprecate FFP clip plane API
    • deprecate PixelUtil::getBNFExpressionOfPixelFormats
  • CMake
    • forward CMAKE_FIND_ROOT_PATH so Dependencies see each other
    • use the ZLIB imported target
    • do install dependencies for Emscripten too.
    • fixed OgreTargets to take different configurations into account
    • install DeferredShading resources on android
  • Emscripten
    • use emscripten_set_canvas_element_size (#865)
    • properly handle canvas resize events
    • GLES2: enable glTexStorage for WebGL2
    • GLES2: PRIMITIVE_RESTART_FIXED_INDEX is on unconditionally on WebGL2
  • GL*
    • do not needlessly bind zero texture
    • do not switch back to GL_TEXTURE0 which would prevent state caching
    • fix isHardwareFilteringSupported for floating point textures
    • implement TextureUnitCompareFunction
    • make sure StateCache is fully disabled when not explicitly enabled
  • D3D11 & GL3+: factor out dispatchCompute method
  • D3D11
    • Fixed stencil for texture render targets
    • unify pixelformat fallback path for luminance formats
  • GL3+/ ES2: consistently use PixelUtil::isDepth for depth format checking
  • GL3+ use glSampler objects for backing Ogre::Sampler if possible
  • GLES2: make sure that we use PF_BYTE_RGBA for copyContentsToMemory
  • GL: implement PF_DEPTH16 format for FBOs
  • Terrain: really reduce requirements to GLSL120
  • RTSS
    • fixed shader generation for (additive) illumination passes
    • normal map lighting - port to Sampler & deprecate old style usage
    • SGX_ConstructTBNMatrix - fix binormal direction
  • BSPSceneManager
    • clean up logging to avoid trivial message spam
    • use StringUtil::splitBaseFilename to avoid segfault
  • Cg: exclude mat arrays from definition renaming with glsl profile
  • Docs
    • ResourceLoadingListener: document resourceCollision parameters
    • FileSystemLayer: document getConfigFilePath/ getWritablePath lookup
    • basictutorial1 - clean up cfg files and drop unused media.cfg
    • CompositorScript - improve texture directive description
    • document compare_test and comp_func texture unit properties
    • improve documentation on resource groups
    • manual - improve referencing in Shadows chapter
    • manual - merge MaterialManager docs with API description
    • manual - update "Mesh Tools" section
    • restructure compositor script section
    • RTSS - improve debugging tips
    • update Material formatting & references
    • update Trays tutorial for common pitfalls and up to date API
    • update descriptions of Shadow options
    • update deferred tutorial wording
  • Samples
    • BumpMapping/MultiLight - drop wrong shaders in decal pass
    • BumpMapping - only require GLSL120
    • clean up Fresnel materials - only require GLSL120
    • fix GLSLES BumpMapping shaders
    • Fresnel & CubeMap - use visibility masks instead of listeners
    • simplify Compute Sample using the new compute compositor pass
    • SSAO/Post - let RTSS handle simple shaders
    • Character - use FocusedShadowCameraSetup
    • DynTex - use blitFromMemory to allow pixel format conversion
  • Media
    • Cg - drop arb?p1 profiles and make sure GLSL is used instead
    • Cg - use common DualQuaternion shadow shaders from RTShaderLib
  • Tests
    • test ResourceLoading::CollsionUseExisting
    • modify MaterialSerializer test to still work without RenderSystem
ogre -

Published by paroj about 6 years ago

  • Main:
    • add OGRE_NODISCARD macro and annotate source code as applicable
    • add RSC_WIDE_LINES & line_width support for materials
    • move the adjacency flag to render operation where it belongs
    • AxisAlignedBox - fix wrong index in getAllCorners (#802)
    • correctly initialize mBoneWorldMatrices
    • do not use Real for colour values which are always stored as float
    • extend colour writing to be enabled/disabled per channel (#811)
    • GpuProgramManager - use StreamSerialiser for storing shader cache
    • GpuProgramParams - use BaseConstantType to define GpuConstantType
    • introduce PF_DEPTH16 as an explicit alias for PF_DEPTH
    • ManualObject - take float instead of Real as we never store double
    • move ConfigOptionMap and common initConfigOptions to RenderSystem
    • PrefabFactory - drop superficial calls to _setBoundingSphereRadius
    • refactor StringConverter to make it more versatile
    • ScriptCompiler - do not override named objects by index
    • ScriptTranslator - add helper for parsing single arg properties
    • ScriptTranslator - drop 1D Texture fallback, does not belong there
    • ScriptTranslator - extend single arg properties helper to enums
    • ScriptTranslator - use getColour for specular as well
    • simplify some getSquaredViewDepth computations
    • slightly clean up ColourValue
    • SceneManager: also set uniform parameters in compute shaders
    • SceneManager: set the ambient (scene) colour in renderObjects
    • ScriptTranslator: error if custom property is unsupported by GpuProgram
    • ScriptTranslator: print the undefined reference on the respective error
    • ScriptTranslator: refactor gpu parameter translation
    • Pass: correctly initialise and copy lineWidth
    • Pass: drop auto naming by index. Overriding by index is not supported
    • OgreMatrix4.h: add ctor that takes pointer to 16 floats (#809)
    • CompositorChain: removeCompositor - fix using index == LAST
    • drop MSC_VER workarounds for MSVC version that we no longer support
    • GpuProgramParams: warn if a matched shared param cannot be copied
    • deprecations
      • StringConverter - deprecate parse*Long functions
      • deprecate PreciseReal
      • CompositorChain: deprecate OgreIterator based API
      • RenderSystem - deprecate _setTextureCoordSet
  • Bites
    • ApplicationContext - deprecate openAPKFile
    • StaticPluginLoader - fix licensing header
  • CMake
    • Android - always select first (and possibly only) target
    • correctly disable respective Components when SWIG is unavailable
    • correctly set CMAKE_FIND_ROOT_PATH when cross compiling
    • drop OGRE_FULL_RPATH in favor of CMAKE_SKIP_RPATH
    • drop unused Doxygen settings
    • fix FindOpenGLES2 lib detection on Emscripten
    • OGREConfig - add missing Codec Plugins
  • RTSS: simplify texcoord calculations by separating texture matrix
  • GL3Plus
    • do not swallow shared parameter binding errors
    • shared params always GPV_GLOBAL - avoid redundant binding
  • GLES2
    • do not advertise 1D textures, they are not supported
    • [iOS] Fixed window size updating - call to window->resize(..) does not work for views in presented view controllers, and is ideologically wrong for external views
  • GL*
    • fold GLSupport classes into GLRenderSystems
    • move hasMinGLVersion to GLRenderSystemCommon
    • validateConfigOptions is a noop everywhere
  • GLSupport
    • EGL - allow "sRGB Gamma Conversion" in ogre.cfg
    • EGL/X11 fix some warnings
    • fix crash in Win32Window::create (#816)
    • unify ConfigOption processing in GLRenderSystemCommon
    • EGL - only delete X11 window if it is toplevel
  • SWIG (Python & Java)
    • update ignore patterns of deprecated API
    • update interface file
    • wrap overloaded ResourceManager methods
    • fix compilation of Java Component and correct outpath for Android
  • Tests
    • Android - remove spurious -Wl,-pie
    • make unsigned parsing tests more useful
    • MaterialSerializer - set exportDefaults=true
    • implement BitwiseTests.Half
  • Docs
    • add manual mesh creation tutorial
    • improve external texture source tutorial
    • manual - improve indentation in script chapter using @par/ @param
    • Pass - merge manual section and code comments
    • TextureUnitState - merge manual section and code comments
  • Samples
    • Character - fix NUM_ANIMS definition and handling
    • OffsetMappingShadows also works fine with legacy GL
    • Python - fix segfaults on shutdown
    • Python - update raw sample to 1.11 API
    • SSAO - no need to re-add compositor on uniform changes
    • VolumeTex - fix bounds computations
    • VolumeTex - fix segfaults
    • PNTriangles: fixed exception in light setup
Package Rankings
Top 9.55% on Proxy.golang.org
Top 13.21% on Pypi.org
Badges
Extracted from project README
GitHub release Downloads Join the chat at https://gitter.im/OGRECave/ogre Patreon CI Build Build status