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
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
scrawl
63b69db617
Port skeleton based bounding boxes to the new skinning system
...
Not sure if going to keep this, there's a noticable performance impact.
2015-04-27 15:41:34 +02:00
scrawl
b4a06bd78d
Improve skinning performance
2015-04-25 19:32:07 +02:00
scrawl
09742d5b95
Animation playback works, no movement accumulation yet
2015-04-23 20:41:31 +02:00
scrawl
12f3198f68
Node name lookups should be case insensitive
...
Concerns "AttachLight", "BoneOffset" and equipment part attachment points, that are all case insensitive in vanilla MW.
2015-04-23 17:15:30 +02:00
scrawl
cd7808fc11
Cleanup in preparation for animation port
...
Scrapped previous idea for multiple animation sources, better approach incoming.
2015-04-22 23:16:08 +02:00
scrawl
8c810e3620
Move rng to components
2015-04-22 17:58:55 +02:00
scrawl
04accb7652
Add LightController
2015-04-22 17:37:39 +02:00
scrawl
5fbcf8a859
Mesh filtering fix
2015-04-22 16:59:23 +02:00
scrawl
a254877abe
Clone fix
2015-04-21 22:53:28 +02:00
scrawl
28643660d3
Change triangle indices to unsigned
2015-04-21 20:56:16 +02:00
scrawl
102eadf91c
Add some comments
2015-04-21 20:42:50 +02:00
scrawl
eaa4316ff8
Move skinning code to SceneUtil
2015-04-21 20:30:48 +02:00
scrawl
bd88758962
Use the new skinning system in OpenMW
2015-04-21 18:54:03 +02:00
scrawl
68f93294da
Port EffectManager
2015-04-19 17:55:56 +02:00
scrawl
f7d2a28930
Port BoneOffset
2015-04-19 14:25:36 +02:00