github OGRECave/ogre v13.0.0

latest releases: v14.2.6, v14.2.5, v14.2.4...
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:

Don't miss a new ogre release

NewReleases is sending notifications on new releases.