Commit graph

80 commits

Author SHA1 Message Date
scrawl
f1ac408f35 Place Drawables directly in the scene graph when built with OSG 3.4
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.

There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5 Refactor lighting mask 2015-11-10 17:23:12 +01:00
scrawl
bd8332d2b0 Remove default copyop argument for nodecallback copy constructors
Works around a compiler warning with OSG 3.4:

warning: base class 'class osg::Callback' should be explicitly initialized in the copy constructor [-Wextra]

With no default argument for osg::CopyOp&, the compiler no longer sees the function as a real copy constructor and stops warning about the missing virtual initializations.

We don't care about this warning because there is nothing interesting to initialize in the osg::NodeCallback base anyway.

A proper fix for the warning would require to inserting OSG_VERSION conditional compiling all over the place, that is as long as we are still supporting OSG 3.2.
2015-11-09 18:57:17 +01:00
scrawl
1200ff9186 RigGeometry: fix incorrect bounding box in the first frame
The default computeBound() was overriding the manually set bounding box.
2015-11-09 18:31:41 +01:00
scrawl
0210b87ffc Revert "Fix LightSource crash"
This reverts commit f336c6db87.

Root cause should be fixed in next commit.
2015-11-06 23:14:27 +01:00
scrawl
c996702b56 Fix some uninitialised variables found by static analysis 2015-11-04 20:34:50 +01:00
scrawl
c23609e22b Cache the light list in LightListCallback
When multiple cameras are rendering, the later cameras can reuse the light lists from the first camera.
2015-11-04 00:19:15 +01:00
scrawl
fd1ccd21ff Disable freezeOnCull for weather particles 2015-11-02 23:49:22 +01:00
scrawl
5ca0ae5232 Don't add the same AlphaFader to multiple nodes 2015-11-02 23:38:34 +01:00
scrawl
f336c6db87 Fix LightSource crash 2015-10-29 00:51:35 +01:00
scrawl
49df6b7450 LightManager: fix incorrect view matrix for RELATIVE_RF cameras 2015-10-23 21:25:56 +02:00
scrawl
6dff11f847 Duplicate code fix 2015-10-23 18:16:26 +02:00
scrawl
8552a9d82c Add multiple camera support to LightManager 2015-10-23 01:58:22 +02:00
scrawl
8e69c80bf6 Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used 2015-09-26 01:21:33 +02:00
scrawl
f7e5a40143 Fix typo 2015-09-21 17:58:57 +02:00
scrawl
e9acd135a6 Update todo comment 2015-08-30 20:43:39 +02:00
scrawl
cda8a88f0d Use DEEP_COPY_PRIMITIVES to work around problem in osg::Geometry copy constructor (Bug #2754) 2015-08-30 20:00:37 +02:00
scrawl
b3f5ac5dbb Include cleanup 2015-07-25 02:11:49 +02:00
scrawl
49c07de773 Merge pull request #643 from ace13/win-build-fix
Fix build error and a pair of warnings
2015-07-05 22:24:24 +02:00
Alexander "Ace" Olofsson
aaaee74a4d Fix the comments 2015-07-05 21:56:04 +02:00
scrawl
631cec7304 Take the radius of lights into account when sorting 2015-07-02 20:46:34 +02:00
scrawl
43f9c7f295 Skip the Update traversal for inactive skeletons 2015-06-30 03:25:30 +02:00
scrawl
aad8e7b6d0 Light culling fix 2015-06-15 19:37:44 +02:00
scrawl
18f4eaa8dc Preliminary handling for overflowing light lists 2015-06-15 18:56:40 +02:00
scrawl
acf9fc2d37 Enable per-frame light list updates (Bug #2638, Bug #2654)
The performance impact isn't so big anymore since the last commit.
2015-06-15 18:15:26 +02:00
scrawl
1d198a5592 Keep the light list StateSet cache for more than one frame 2015-06-15 18:09:01 +02:00
scrawl
b204396b57 Minor fix 2015-06-14 21:04:59 +02:00
scrawl
a1e74a35a2 Revert "Use the WorkQueue to update skinning"
This reverts commit d52d0d9640.

Moving to branch
2015-06-10 19:08:56 +02:00
scrawl
9c86d4f8bc Race condition fix 2015-06-10 19:02:33 +02:00
scrawl
d52d0d9640 Use the WorkQueue to update skinning 2015-06-10 18:16:02 +02:00
scrawl
cc71e894e1 Add WorkQueue class 2015-06-10 18:15:31 +02:00
scrawl
9c9b83f8e2 Changes to compile with osg-svn 3.3.8 2015-06-07 23:51:54 +02:00
scrawl
5a7f2a4f1f Restore light attenuation settings 2015-06-02 17:02:56 +02:00
scrawl
01944c33f5 Basic water rendering 2015-06-02 16:35:35 +02:00
scrawl
c85764b654 Wireframe mode 2015-06-01 17:02:44 +02:00
scrawl
fd50be0fb8 Restore various gameplay 2015-05-30 01:00:24 +02:00
scrawl
6231cd8557 RigGeometry clone fix 2015-05-30 00:59:34 +02:00
scrawl
a56d0e9cc3 ControllerVisitor fix 2015-05-29 23:39:52 +02:00
scrawl
668d365ef9 MorphGeometry copy fix 2015-05-29 21:47:43 +02:00
scrawl
5de24552a8 Leak fix 2015-05-26 19:12:29 +02:00
scrawl
3dcb167066 Map rendering 2015-05-26 16:40:44 +02:00
scrawl
da24e298ee Fix -Wreorder warnings 2015-05-23 22:44:00 +02:00
scrawl
7882c3d7f0 Fix incorrect rotation for meshes with BoneOffset 2015-05-20 04:09:21 +02:00
scrawl
8d033f0558 Fix UpdateRigBounds not being copied properly 2015-05-20 03:12:42 +02:00
scrawl
8b768f4377 Minor fix for behaviour with non-existing LightManager 2015-05-18 21:06:42 +02:00
scrawl
b6cb73e6e8 Fix deep copying of controllers
This fixes the cell loading crash.
2015-05-14 15:07:58 +02:00
scrawl
65f0195c71 Readded animated collision shape support 2015-05-12 16:26:11 +02:00
scrawl
15bdb7db01 transformBoundingSphere optimization 2015-05-01 01:44:21 +02:00
scrawl
a98dc78cc5 Bounds fix 2015-04-30 15:46:16 +02:00
scrawl
83c6ba97c0 Disable skinning updates for actors beyond the AI processing distance 2015-04-30 00:10:24 +02:00