scrawl
84a92e665c
Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix
2017-02-03 02:18:44 +01:00
scrawl
53e4db8a8f
Add dummy serializer for CameraRelativeTransform to allow serializing content of Sky Root
2017-02-02 21:57:18 +01:00
scrawl
34deb6e7b1
Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes
2017-02-01 06:00:14 +01:00
scrawl
eae35af13d
Check if the bounding box changed before calling dirtyBound()
2016-12-17 00:23:22 +01:00
scrawl
cca75499ee
Clear the Skeleton's bone cache when a node is added/removed ( Fixes #3663 )
2016-12-16 20:09:20 +01:00
scrawl
c0faeea938
RigGeometry check if mesh has normals ( Fixes #3667 )
2016-12-15 22:39:21 +01:00
MiroslavR
11565b5966
Make actors with non-portable lights in inventory glow ( Closes #2042 , #3338 )
2016-10-08 23:17:12 +02:00
scrawl
513e1da8a3
Remove unneeded casts
2016-08-14 16:44:11 +02:00
Aesylwinn
5753f52b47
Move water mesh + simple state generation to components library.
2016-08-05 13:25:05 -04:00
scrawl
8f62ea2e80
Fix for "RigGeometry rendering with no skeleton" errors
2016-07-02 20:19:55 +02:00
scrawl
d5f497c47d
Pass the node path instead of the node visitor
2016-07-02 19:27:19 +02:00
scrawl
6fa95e72c5
Pass the traversal number instead of the node visitor
2016-07-02 19:26:11 +02:00
scrawl
824cd3be22
Do not set _boundingBoxComputed which is no longer used
2016-06-14 22:25:25 +02:00
Aesylwinn
b83f522ecd
Changes to color scheme, slight change to drag indicator,
...
change tooltip description.
2016-05-29 13:26:29 -04:00
Aesylwinn
1781aaaa27
Drag indicator.
2016-05-18 12:17:26 -04:00
Aesylwinn
32ba5bf8b8
Initial pathgrid editting, support for selection and movement.
2016-05-12 19:35:49 -04:00
scrawl
17a0353a85
Fix forward declaration mismatch
2016-05-10 17:36:25 +02:00
Aesylwinn
14ae232938
Remove now unnecessary factory class.
...
It was originally used for storing normals, but that functionality
was removed.
2016-05-03 16:13:23 -04:00
Aesylwinn
b11f5b2717
Make edges differently colored.
2016-05-03 15:06:28 -04:00
Aesylwinn
0eb863d8fc
Change color to blue to match the pathgrid visibility selector in the
...
editor and slightly increase the scaling.
2016-05-03 03:29:34 -04:00
Aesylwinn
7f0cc6e583
Add a color gradiant to pathgrid nodes to make them less of an eyesore.
2016-05-03 03:29:30 -04:00
Aesylwinn
3d26ff08c4
Get rid of lighting.
2016-05-03 03:29:07 -04:00
Aesylwinn
d141672b53
Pathgrid geometry creator
2016-05-02 22:09:48 -04:00
scrawl
2f8be401cc
Add the unref work items to the front of the workqueue (Bug #3273 )
...
Ensures that memory still gets freed even if the workqueue is overloaded.
2016-03-29 00:27:56 +02:00
scrawl
8052225460
Remove leftover call to setTexCoordArrayList
2016-03-23 22:56:04 +01:00
scrawl
cc0afe901f
Store a pointer to tangents array to avoid potential type casting issue
2016-03-23 17:03:04 +01:00
scrawl
d1f6169889
Add special handling of RigGeometry tangents in ShaderVisitor
2016-03-23 16:48:41 +01:00
scrawl
95e80e7eff
RigGeometry: don't directly modify the primitive set list
...
This is to ensure that an element buffer object will be assigned to the primitive sets if necessary.
2016-03-23 00:10:22 +01:00
scrawl
c73ec71123
Revert "Store the RigGeometry's source vertices and normals directly"
...
This reverts commit 7a347e3483
.
2016-03-22 23:28:57 +01:00
scrawl
60c8c4fdda
Revert "Animate tangents in RigGeometry"
...
This reverts commit 9cf963b751
.
2016-03-22 23:28:52 +01:00
scrawl
9cf963b751
Animate tangents in RigGeometry
2016-03-22 22:14:35 +01:00
scrawl
7a347e3483
Store the RigGeometry's source vertices and normals directly
2016-03-22 22:01:56 +01:00
scrawl
d986b1a48b
Add comment
2016-03-11 19:28:53 +01:00
scrawl
1abb77f8a1
Cleanup
2016-03-11 19:18:51 +01:00
scrawl
9f03982e0b
Use a dedicated VBO for RigGeometry's vertices and normals
...
The VBO used by the source geometry's arrays may be unintentionally shared with other RigGeometries.
The vertices and normals are the only attributes that are modified at all, so using a dedicated VBO for these should improve performance further.
2016-03-11 19:08:48 +01:00
scrawl
50b8260a39
Disable VBOs in RigGeometry while investigating a crash possibly related to commit cda8a88f0d
2016-03-11 18:21:55 +01:00
scrawl
4eb090a8d0
Set the RigGeometry vertex buffer object usage to GL_DYNAMIC_DRAW
2016-03-11 16:09:48 +01:00
scrawl
174dd82894
Manually apply the osg::Light state
...
Reduce the amount of virtual function calls. Don't use the osg::Light's lightNum. Don't set spotlight state that we're not using (yet).
2016-03-11 15:43:20 +01:00
scrawl
58e0e8bd4e
Enable vertex buffer objects in RigGeometry
2016-03-11 01:39:09 +01:00
scrawl
f898bf493f
Don't use Geodes
2016-03-10 13:17:01 +01:00
scrawl
137dde7cf8
Include cleanup
2016-03-10 12:59:17 +01:00
scrawl
0df975a4d7
Properly detach nodes in CopyRigVisitor ( Fixes #3234 )
2016-03-06 11:33:07 +01:00
scrawl
563807ee53
Share the StateSet used to invert front face
2016-03-02 13:33:44 +01:00
scrawl
8791063110
Fix "RigGeometry rendering with no skeleton" warnings in rare cases
2016-02-29 18:20:56 +01:00
scrawl
1e5b4bea0a
Don't create an unnecessary osg::Group when copying over a rig
2016-02-29 17:50:18 +01:00
scrawl
90a99991d1
Use empty() instead of !size()
2016-02-22 19:06:12 +01:00
scrawl
3e854a84a2
Slightly more efficient applying of light state
2016-02-18 19:37:57 +01:00
scrawl
f93b7ec943
Fix light state issue
...
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.
Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
2016-02-18 19:37:57 +01:00
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