Commit graph

18235 commits

Author SHA1 Message Date
scrawl
a1069dce3c Change UnrefQueue to accept osg::Referenced instead of osg::Object 2017-02-04 02:24:42 +01:00
scrawl
33e654f94d Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls 2017-02-04 02:16:26 +01:00
scrawl
c95868969b Early out for scene graphs with no update callbacks in SceneManager::notifyAttached 2017-02-04 01:22:43 +01:00
scrawl
83a9435167 Fix unnecessary use of CopyFramebufferToTextureCallback when loading is too fast for a loading screen to be displayed 2017-02-03 23:39:39 +01:00
scrawl
767eba941f Speed up finding of attachment node by using the cached nodeMap 2017-02-03 23:15:37 +01:00
scrawl
a76d693627 Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal() 2017-02-03 23:10:14 +01:00
scrawl
c58fc6d276 Improve performance of loading screen by not recomputing the bounding sphere of the entire scene after each loading step 2017-02-03 22:29:38 +01:00
David Cernat
f4a9f27977 [Server] Stop crashing browser when receiving a query from it 2017-02-03 21:46:39 +02:00
David Cernat
c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 2017-02-03 20:27:40 +02:00
David Cernat
63974af131 Merge pull request #139 from OpenMW/master
Add OpenMW commits up to 3 Feb 2017
2017-02-03 07:57:14 +02:00
scrawl
30b101b175 Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended) 2017-02-03 06:49:34 +01:00
scrawl
0be811c519 Update the resource cache every second instead of every frame
A dry run takes about ~1.5ms. Even though it's all done in the worker thread, the locks used can stall loading operations that are about to happen in other threads, and just in general this CPU load is unnecessary.
2017-02-03 03:44:30 +01:00
scrawl
b4a6b6387b Create own instance of osgDB::SharedStateManager so we control when to call prune()
prune() is now called in the background thread, just like the resource cache update.

Seems to improve performance by ~0.3 ms/frame
2017-02-03 03:27:12 +01:00
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
f3045331f1 Fix regression in handling of NiZBufferProperty 2017-02-03 01:49:49 +01:00
scrawl
6d8c414071 Set osgViewer ReleaseContextAtEndOfFrameHint to false for better performance when in SingleThreaded mode
The flag is normally set to off by default when using Viewer::run() - however since we're using our own frame loop, we have to unset the flag ourselves
2017-02-02 22:16:59 +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
c5f8ff6e0e Add names to several nodes for debugging purposes 2017-02-02 21:49:52 +01:00
Koncord
aed0651dc2 [Server] Some fixes for MasterClient 2017-02-03 00:55:59 +08:00
David Cernat
d9f5dfe65c Merge pull request #138 from OpenMW/master
Add OpenMW commits up to 2 Feb 2017
2017-02-02 13:07:11 +02:00
scrawl
851f61ac82 Always assign osg::Material when a material controller is used 2017-02-01 21:10:43 +01:00
scrawl
625c5040ce Fix build 2017-02-01 15:49:20 +01:00
David Cernat
7ebad596d6 [Server] Use double instead of int for scale in WorldFunctions 2017-02-01 12:53:51 +02:00
David Cernat
018b0e6699 [Server] Add script functions & callbacks for locking, unlocking & doors 2017-02-01 12:43:19 +02:00
Koncord
1808cf815f [Browser] Some minor fixes 2017-02-01 18:00:03 +08:00
David Cernat
958ff06ca8 [General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE 2017-02-01 11:54:40 +02:00
David Cernat
8e438a1b82 [Server] Add OnObjectScale callback, part 2 2017-02-01 10:00:54 +02:00
Koncord
f78c749981 [Client] Use "NULL" instead "nullptr"
nullptr keyword introduced in C++11
2017-02-01 15:58:29 +08:00
David Cernat
9f8f62b765 Merge pull request #137 from OpenMW/master
Add OpenMW commits up to 1 Feb
2017-02-01 09:28:23 +02:00
David Cernat
5bd2fdcf66 [Server] Add OnObjectScale callback, and set scale for WorldObject 2017-02-01 09:25:47 +02:00
Koncord
0b8d0224d1 [Server] Change type in second argument in SetConsoleAllow to "bool" 2017-02-01 13:44:50 +08:00
Koncord
75afa58981 [Server] Add bool type for scripts 2017-02-01 13:43:17 +08:00
scrawl
1808b8567e Add 'small feature culling pixel size' setting specifically for water RTTs, by default set higher than the one in [Camera] 2017-02-01 06:00:14 +01:00
scrawl
fcb4129aee Add 'small feature culling pixel size' setting 2017-02-01 06:00:14 +01:00
scrawl
9180089a3b Add sharing for more State Attributes, most notably BlendFunc and AlphaFunc, to improve the state tracking in osg::State and reduce the number of GL calls 2017-02-01 06:00:14 +01:00
scrawl
960d4a96c3 Reduce the number of osg::Material state by setting the default state on the graph root 2017-02-01 06:00:14 +01:00
scrawl
e399e10607 Add missing lock in shareMaterial 2017-02-01 06:00:14 +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
e90941a8b3 Wrap the scene template reference in another object for const correctness and to avoid it from being serialized with the osgDB serializer 2017-02-01 06:00:14 +01:00
David Cernat
8c019f2c61 [Server] Update OnObjectPlace and OnObjectDelete callbacks 2017-01-31 23:26:49 +02:00
David Cernat
87dce73b90 [Server] Add script function for sending world object scale 2017-01-31 23:07:02 +02:00
David Cernat
705589e3e3 [Server] Add script functions for getting/setting world object scale 2017-01-31 22:54:36 +02:00
David Cernat
8e4a51dc17 Merge pull request #136 from OpenMW/master
Add OpenMW commits up to 31 Jan
2017-01-31 09:50:52 +02:00
David Cernat
703f253712 [Client] Delete new LocalEvents after sending them 2017-01-31 09:48:37 +02:00
scrawl
29abb62dee Merge pull request #1197 from nikolaykasyanov/gamecontrollerdb-update
Update gamecontrollerdb.txt from upstream
2017-01-31 04:03:57 +01:00
Koncord
239c1aaebf [Browser] Kill RakNet thread before return 2017-01-31 00:25:34 +08:00
David Cernat
1fc9dd4f93 [Server] Remove WorldFunctions index parameters that are no longer used 2017-01-30 17:42:29 +02:00
David Cernat
9f998c9901 [Server] Improve getter methods in WorldFunctions 2017-01-30 17:09:14 +02:00
Koncord
42b6a456f0 [Client] Fix code style 2017-01-30 22:53:22 +08:00
Koncord
c5035cd174 [Client] Fix crash and memory leak when erasing spellbook 2017-01-30 22:37:09 +08:00