Skip to content
Alexei Dobrohotov edited this page Aug 19, 2019 · 4 revisions

Technical page for tracking the status of the changes introduced in the fork in hopes to update it to 3.6.5 in future.

Present upstream or was cherry-picked from there

  • getGLExtensionFuncPtr: support gl4es wrapper on Android.
  • Explicit signed char declarations for portability.
  • added dxtc support in Image::getColor...
  • Add compatibility for type 1 (uncompressed colour-mapped) targa files
  • Reversed the order of some sizedInternalFormats enum entries...
  • Add CMake options to control which osgPlugins/ are built
  • Add CMake option to not build deprecated serializers
  • Fix collada build error
  • OcclusionQueryNode: do not retrieve the query result before it's available
  • Fixed warning
  • Check for presence of occlusion query extension
  • osgParticle: override vector interpolations in LinearInterpolator
  • osgParticle: avoid unnecessary Matrixf <-> Matrixd conversions
  • Remove dynamic_cast in Drawable::UpdateCallback::run
  • Remove dynamic_cast in osgFX::Technique...
  • Remove dynamic_casts in osgParticle
  • Remove dynamic_cast in TransformVisitor
  • Add OSG_USE_FLOAT_QUAT option for single precision quaternions -- off by default

Redundant

  • Fix invisible stats graph due to the node being culled -- the commit that breaks it is only present in its own branch and not the main branch.
  • Disable ffmpeg plugin -- most likely
  • Fix bug in osgFX::Effect introduced by 94dc5b1 -- same commit
  • Build with Qt4 by default, if available, rather than Qt5 -- redundant since there's no osgqt in 3.6
  • Remove thread affinity setting in ViewerBase -- 3.6 feature that works around the issue is used now from the side of OpenMW

Uncertain

  • Don't mess with the cmake defaults for build postfixes + Added back "d" postfix for debug builds -- I dunno if it's that important
  • osgParticle: dynamically allocate _particles -- removing vertex arrays breaks mp3butcher's shader-based particles
  • Disable COMPILE_WITH_SHADOW_OCCLUSION_CULLING by default
  • Extended checks for COMPILE_WITH_SHADOW_OCCLUSION_CULLING

Potentially useful

  • Remove dynamic_cast's in UpdateVisitor::apply(Drawable&) -- it's that same old "backwards compatibility breaking" commit
  • Added virtual method Node::isOccluderNode -- adapted commit (which adds asOccluderNode) is only present in master and not OpenSceneGraph-3.6 branch, but should probably go there anyway
  • Float quat/matrix/plane usage -- obviously can't be upstreamed

Things that should be cherry-picked/done particularly in case we're unable to use 3.6.5

  • TGA reader improvements -- Robert fixed its memory leaks AnyOldName3 introduced that we still have and then AnyOldName3 extended its support to all known TGA formats
  • DDS palette indexed pixel format reading support -- we still want to have it to improve mod compatibility.
  • Maybe see if we can make cluster culling callback configurable to fix its behavior on our RTT cameras
  • Rebase 3.4 branch against 3.4.1 stable release or just upstream 3.4 branch proper -- currently it's based on a RC revision
  • Probably a lot more things, I'll ask around
Clone this wiki locally