scrawl
5824619a95
Clean up includes
2016-02-12 19:28:10 +01:00
scrawl
8b596dfcbe
Remove support for OSG 3.2
...
Since commit e8662bea31
, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
2016-02-12 14:46:45 +01:00
Marc Zinnschlag
da6dcfc49e
Merge remote-tracking branch 'scrawl/resource'
2016-02-10 16:23:38 +01:00
scrawl
afe533e670
Accept a const Object in UnrefQueue
2016-02-09 19:00:30 +01:00
scrawl
40a6e05e17
Use a deque instead of vector in UnrefQueue
2016-02-09 16:09:55 +01:00
scrawl
d11c2864df
Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread
2016-02-09 15:45:35 +01:00
scrawl
84f01b7527
Remove unneeded forward declaration
2016-02-08 16:27:28 +01:00
scrawl
b7e69cbc64
Refactor WorkQueue, merge WorkTicket and WorkItem
...
Allow the caller to hold on to the WorkItem. This makes it possible for a derived WorkItem to store the result of the work within the WorkItem itself.
2016-02-06 22:42:45 +01:00
scrawl
e02f35264f
Work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag ( Fixes #3183 )
2016-02-06 15:08:12 +01:00
scrawl
8360cccce7
Don't clone Drawable UpdateCallbacks twice
...
The Drawable copy constructor takes care of that already.
2016-02-01 21:02:48 +01:00
scrawl
aec8c38461
Move observer_ptr include where it belongs
2016-01-25 21:03:33 +01:00
Tobias Kortkamp
0659687bfb
Some fixes for building on FreeBSD
2016-01-25 14:13:16 +01:00
scrawl
458a305bff
OpenCS: add lighting mask
2016-01-11 23:14:43 +01:00
scrawl
e1c7165bfb
Fix bounds calculation for addLight to a transform node
2016-01-11 23:14:43 +01:00
scrawl
93cc08a09c
Lighting fix for LightListCallbacks attached to a Transform node
2016-01-11 23:10:16 +01:00
scrawl
3089aeccc4
Factor out SceneUtil::addLight
2016-01-11 23:10:16 +01:00
scrawl
438b30d6f0
Move configureLight to a separate file
2016-01-11 23:10:16 +01:00
scrawl
daa94cc50e
Fix cppcheck warnings
2016-01-03 20:19:38 +01:00
scrawl
0597c8fd9c
Pass a Vec4f by reference
2016-01-03 16:43:20 +01:00
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