scrawl
624809c8dc
Minor fix for error handling in skeleton.cpp
2015-12-08 16:50:54 +01:00
scrawl
e39f49a88f
OSG extensions namespace fixes
2015-12-06 15:27:43 +01:00
scrawl
c60f4ba7bd
Make RigGeometry bone references case-insensitive ( Fixes #3058 )
2015-12-05 15:02:35 +01:00
scrawl
258f7a2b42
LightController fixes
2015-12-05 00:38:06 +01:00
scrawl
4a9b37aa53
Fix copy constructor issue
2015-12-04 18:08:32 +01:00
scrawl
c442af09c5
Write more documentation for the lighting system
2015-12-04 18:08:32 +01:00
scrawl
8e9571d155
Double buffer the light StateAttributes and StateSets
...
Fixes a race condition where the position of a light could jump a frame ahead.
2015-12-04 00:06:22 +01:00
scrawl
1f8ee9b8d1
StateSetUpdater: use the frameNumber
...
More robust in case a node is updated twice in the same frame (e.g. because it has multiple parents).
2015-12-03 23:46:25 +01:00
scrawl
eb458bf9c8
Fix inactive RigGeometry not rendering correctly
2015-12-03 19:49:45 +01:00
scrawl
1b77428c59
Use const reference, thanks ace13
2015-11-24 03:42:35 +01:00
scrawl
94e8560bf8
RigGeometry: do not allocate new NodePath every frame
2015-11-22 20:01:09 +01:00
scrawl
6d5aa272fc
RigGeometry: do not update the geomToSkelMatrix more than once per frame
2015-11-22 19:54:27 +01:00
scrawl
75a464f7ec
Fix a typo
2015-11-22 19:54:27 +01:00
scrawl
fc7456e0a1
Explicitely opt for float matrices in performance critical places
2015-11-22 19:54:27 +01:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
scrawl
3bd2aaddea
Adjust PulseSlow light controller ( Fixes #1963 )
2015-11-18 23:14:01 +01:00
scrawl
21e25f4756
Use the traversalNumber as frame number
2015-11-16 20:03:45 +01:00
scrawl
054c3eb24e
Do not deep copy PrimitiveSets when build with OSG 3.5
2015-11-13 20:39:44 +01:00
scrawl
0409e5a043
Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change)
2015-11-10 18:28:58 +01:00
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