scrawl
dca31b7ffa
Remove redundant _boundingBoxComputed which no longer exists in osg master ( Fixes #4075 )
2017-09-04 19:35:42 +00:00
scrawl
2e58024f1c
Fix intersections with Rig/MorphGeometry, was caused by an issue in the LineSegmentIntersector not respecting the cullingActive flag of a drawable.
2017-09-03 14:14:15 +00:00
scrawl
5e790b567e
Fix node path issue
...
Needs to be set so that the 'cullingActive' flag of the node path's end can be checked
2017-09-01 22:12:40 +00:00
scrawl
4bef8260ab
Add const qualifiers
2017-09-01 21:42:36 +00:00
scrawl
5d524a6a10
Add custom version of MorphGeometry replacing osgAnimation
...
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
scrawl
209e139aa8
Move double buffering implementation inside RigGeometry
...
The double buffering is an implementation detail so it should be handled as such, rather than mandating the scene graph to be structured in a certain way.
Override accept(NodeVisitor&) instead of using callbacks.
2017-09-01 21:42:34 +00:00
scrawl
45f7563a55
Revert "Revert "Check for a Geometry node when attaching bodyparts""
...
Issue with shaders has been fixed with b9931fb71c
This reverts commit a1e3fb7604
.
2017-08-31 21:40:35 +00:00
scrawl
a1e3fb7604
Revert "Check for a Geometry node when attaching bodyparts"
...
This reverts commit 3fc8634206
.
2017-08-29 22:40:19 +00:00
scrawl
3fc8634206
Check for a Geometry node when attaching bodyparts ( Fixes #3957 )
2017-08-29 12:55:42 +00:00
Allofich
42402976e3
Fixes for building in MSVC
2017-06-13 19:38:12 +09:00
Bret Curtis
f0b21cca22
use own inline hash_combine function
2017-06-12 00:32:28 +02:00
Bret Curtis
154d7cffa2
replace and purge boost::function
2017-06-09 19:08:53 +02:00
Bret Curtis
07f75e1104
replace boost::shared_ptr in extern and components
2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
scrawl
8d84869432
Fix commit 8f71b65d38
(don't overwrite the previous user data)
...
This resulted in a crash/corruption because the KeyframeController, for performance reasons, does not check that the expected user data is there and of correct type.
(Fixes #3829 )
2017-05-05 05:27:00 +02:00
scrawl
8f71b65d38
sceneutil/attach: inherit the UserDataContainer to avoid the resource cache from being cleared incorrectly
2017-04-14 15:04:53 +02:00
scrawl
3d58ba7301
Fix boolean test
2017-03-15 17:50:13 +01:00
scrawl
34130fc5cc
Fix handling in LightListCallback when the node is not a Group
2017-03-14 19:27:55 +01:00
scrawl
b78a9f89af
Refactor LightListCallback to allow for integration in custom Drawables.
2017-03-14 19:27:55 +01:00
scrawl
13a6070629
Remove warning spam in skeleton.cpp
...
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
2017-03-13 02:48:22 +01:00
scrawl
c1b1d502ee
Fix up commit 330e5fefd1
2017-03-04 21:48:31 +01:00
scrawl
4051018862
optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback
2017-03-04 21:48:31 +01:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
706ac45c76
Fix missing particles caused by shallow copy of ParticleSystemController
2017-02-26 23:10:41 +01:00
scrawl
5caf53b6a3
optimizer: avoid reordering nodes
...
Fixes an osgParticle cloning issue.
(Fixes #3773 )
2017-02-26 03:25:17 +01:00
scrawl
a95773beef
Fix unnecessary copy of ParticleSystem in SceneUtil::CopyOp
2017-02-26 03:15:57 +01:00
scrawl
48e0f098ff
Add missing copy of callbacks when a Transform is replaced by Group
...
(Fixes #3770 )
2017-02-24 07:38:03 +01:00
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.
2017-02-24 02:58:41 +01:00
scrawl
e4c12e5e56
optimizer: don't merge Geometry that has transparency sorting enabled
2017-02-24 02:58:27 +01:00
scrawl
ebfd845eae
optimizer: run MERGE_GEOMETRY after removing redundant nodes
2017-02-23 23:28:50 +01:00
scrawl
43f31d6e54
optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode
2017-02-23 23:28:50 +01:00
scrawl
f2a323238f
optimizer: merge groups as part of REMOVE_REDUNDANT_NODES
2017-02-23 23:28:50 +01:00
scrawl
af716d4b61
optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor
2017-02-23 23:28:50 +01:00
scrawl
698738c649
optimizer: use asXYZ() instead of dynamic_cast
2017-02-23 23:28:50 +01:00
scrawl
f7cb4bd245
optimizer: remove some cruft
2017-02-23 23:28:50 +01:00
scrawl
e33829d493
Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
...
Remove optimizers that won't be used.
2017-02-23 23:28:50 +01:00
scrawl
305cccd263
Don't print Geometry data (vertices, triangles, etc.) in showscenegraph
2017-02-23 23:28:50 +01:00
scrawl
c231b06320
Remove boneOffset node after using it
2017-02-23 23:28:50 +01:00
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
2017-02-22 14:28:45 +01:00
scrawl
4aa40d16bc
Increase the importance of light radius when sorting lights (Bug #2759 )
2017-02-21 04:32:59 +01:00
scrawl
67e4a7e37b
Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead
2017-02-09 04:51:20 +01:00
scrawl
839928e210
Fix light data being reset for the wrong light
2017-02-09 02:46:30 +01:00
scrawl
a46593fa74
Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread
2017-02-09 01:08:07 +01:00
scrawl
c00532d82d
Add LightStateCache to avoid redundantly setting the same gl_Light
...
Normally, osg::State would do this for us (via lastAppliedAttribute), but since we're using a custom StateAttribute to apply all lights at once, we have to track ourselves.
Further reduction of GL calls in a typical scene by ~2%
2017-02-07 23:37:57 +01:00
scrawl
4d4dc1b9c1
Add specialized DisableLight state attribute for more efficient undoing of light state
...
Seems to reduce # of GL calls by 10-15% in a typical scene.
2017-02-07 23:01:36 +01:00
scrawl
a1069dce3c
Change UnrefQueue to accept osg::Referenced instead of osg::Object
2017-02-04 02:24:42 +01:00
scrawl
33e654f94d
Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls
2017-02-04 02:16:26 +01:00
scrawl
767eba941f
Speed up finding of attachment node by using the cached nodeMap
2017-02-03 23:15:37 +01:00
scrawl
a76d693627
Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal()
2017-02-03 23:10:14 +01:00
scrawl
30b101b175
Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended)
2017-02-03 06:49:34 +01:00