scrawl
9376811213
Vertex lighting shader
2016-02-18 19:37:57 +01:00
scrawl
c4d38bb42d
Fix clang analyzer warnings
2016-02-16 19:17:04 +01:00
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
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
scrawl
edc5cad79e
Port Animation::addEffect
2015-04-19 01:57:52 +02:00
scrawl
8f6d4fb3e0
Fix filtering bug
2015-04-16 01:26:58 +02:00
scrawl
57fd18b161
Fix frontface bug
2015-04-15 22:43:53 +02:00
scrawl
c334a76a6f
Fix skinning bug
2015-04-15 22:38:43 +02:00
scrawl
c516e897ee
Move Controller base classes to SceneUtil, add visitor to assign ControllerSources
2015-04-14 17:51:46 +02:00
scrawl
de2c85e0f8
Port nifloader to the more efficient StateSetController
2015-04-14 16:41:06 +02:00
scrawl
5dd1ab24fe
More efficient StateSetController, beginnings of sky rendering
2015-04-14 15:58:16 +02:00
scrawl
987e923790
LightManager optimization
2015-04-12 19:44:48 +02:00
scrawl
61aaf0cf70
Attach light lists to the object base nodes instead of each renderable
...
Apparently that is how Ogre worked (on the SceneNode) so let's roll with it for now. Have not tested yet what MW does.
2015-04-12 18:03:36 +02:00
scrawl
c92592493e
OpenMW: create a window and render the starting cell(s)
2015-04-12 15:38:30 +02:00
scrawl
b0ea51a5c8
Colour conversion utility
2015-04-11 20:09:40 +02:00
scrawl
591a35b8d7
*very* early version of the LightManager
2015-04-10 23:16:17 +02:00
scrawl
5162e9c09e
Add comment
2015-03-29 19:39:22 +02:00
scrawl
a7272b73d0
Add utility for assembling body parts / equipment
2015-03-29 19:39:22 +02:00
scrawl
99e1720980
Add SceneManager and clone utility
2015-03-26 18:02:51 +01:00