Commit Graph

43 Commits (master)

Author SHA1 Message Date
elsid 020b31395b
Reserve arrays before merging 8 months ago
elsid 50d8bd9cdd
Disable clang-format for files that should have minimal diff with OSG 2 years ago
psi29a b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2 years ago
Andrei Kortunov de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2 years ago
psi29a 1ac7eaa6b0 Merge branch 'NiFltAnimationNode' into 'master'
Add NiFltAnimationNode support

Closes #6684

See merge request OpenMW/openmw!1732
3 years ago
Wolfgang Lieff ead73fce31 initial NiFltAnimationNode support 3 years ago
Alexei Dobrohotov 81e9212db9 Slightly optimize MergeGroupsVisitor's xenophobia 3 years ago
Cody Glassman d85f772269 Depth refactor 3 years ago
Bo Svensson 726653087e
restores _mergeAlphaBlending behaviour (#3222)
This PR restores a minor peculiarity of `_mergeAlphaBlending` behaviour unintentionally changed by PR #3162.
3 years ago
Bo Svensson 031871cd48
speeds up optimizer (#3162)
We can expect marginally improved loading times with this PR. Drawable, Transform and Node counts in stats panels are expected to remain unchanged - this PR does not add new scene graph optimisations, it just increases the speed with which we apply existing ones.

1. We add explicit `NodeVisitor::apply` overrides for commonly encountered node types to avoid additional virtual function calls per node associated with the default `apply` implementation.
2. We skip pushing `StateSet`s when  `_mergeAlphaBlending` is enabled or the `StateSet` contains no relevant state.
3. We add a specialised variant of `CollectLowestTransformsVisitor::addTransform` accepting `MatrixTransform` to avoid matrix copies and multiplications.
3 years ago
Bo Svensson 08608da62c
optimizer.cpp 3 years ago
Bo Svensson c6f7137ee1
fixes bugs with share state (#3111)
* optimizer.cpp merge fix

* objectpaging.cpp

* optimizer.hpp setSharedStateManager

* optimizer.cpp shareState

* scenemanager.cpp shareState

* scenemanager.cpp

* optimizer.cpp

* optimizer.cpp

* scenemanager.cpp

* optimizer.cpp
3 years ago
glassmancody.info 09e03fde2e refactor and fix wobbly shores 3 years ago
glassmancody.info 70fac33940 initial reverse-z depth implementation 3 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
psi29a f94ca28dbe #5463: Optimizer fix, problem was indeed related to tangents not being transformd properly. 5 years ago
bzzt lost a hitlab login 26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login 9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
Capostrophic 957d2a890f Ignore empty children of osg::LOD and osg::Switch like in OSG 5 years ago
Capostrophic 6622e36226 Only merge pure osg::Groups in the optimizer 6 years ago
Capostrophic de572226e4 Update optimizer with upstream improvements 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Andrei Kortunov 03b71d3c30 Improve switchable nodes handling by optimizer 6 years ago
Andrei Kortunov 2c38e337ae Support NiSwitchNode (feature #4812) 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
scrawl 25a6a67508
Fix the optimizer messing up LOD node's children (Fixes #4301) 7 years ago
scrawl 3d58ba7301 Fix boolean test 8 years ago
scrawl c1b1d502ee Fix up commit 330e5fefd1 8 years ago
scrawl 4051018862 optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback 8 years ago
scrawl 5caf53b6a3 optimizer: avoid reordering nodes
Fixes an osgParticle cloning issue.

(Fixes #3773)
8 years ago
scrawl 48e0f098ff Add missing copy of callbacks when a Transform is replaced by Group
(Fixes #3770)
8 years ago
scrawl 330e5fefd1 optimizer: consider a Group with more than one child redundant as well
While there could be some value in this hierarchy (i.e. improved culling), we don't know if this is being used sensibly; and using a 'flat' hierarchy helps other optimizations.
8 years ago
scrawl e4c12e5e56 optimizer: don't merge Geometry that has transparency sorting enabled 8 years ago
scrawl ebfd845eae optimizer: run MERGE_GEOMETRY after removing redundant nodes 8 years ago
scrawl 43f31d6e54 optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode 8 years ago
scrawl f2a323238f optimizer: merge groups as part of REMOVE_REDUNDANT_NODES 8 years ago
scrawl af716d4b61 optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor 8 years ago
scrawl 698738c649 optimizer: use asXYZ() instead of dynamic_cast 8 years ago
scrawl f7cb4bd245 optimizer: remove some cruft 8 years ago
scrawl e33829d493 Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
Remove optimizers that won't be used.
8 years ago