1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-31 04:06:40 +00:00
openmw/components/sceneutil
elsid b8fcd6d3ba
Manage work item lifetime on the client side
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.

After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.

CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +02:00
..
actorutil.cpp Move base_anim settings to settings-default.cfg 2021-01-27 13:41:02 +02:00
actorutil.hpp Move common stuff to scene util, fix errors with 1st person meshes 2018-09-27 13:14:59 +04:00
agentpath.cpp Remove redundant includes 2019-02-23 08:02:12 +04:00
agentpath.hpp Add command and settings option to enable actors paths render 2018-10-13 22:16:32 +03:00
attach.cpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
attach.hpp Speed up finding of attachment node by using the cached nodeMap 2017-02-03 23:15:37 +01:00
clone.cpp OSG-Collada animation support 2020-11-19 01:11:56 +02:00
clone.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
controller.cpp Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
controller.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
detourdebugdraw.cpp Remove unused macro 2020-04-24 20:38:55 +02:00
detourdebugdraw.hpp Move makeOsgVec3f() to settingsutils.hpp 2019-02-28 20:03:42 +00:00
keyframe.hpp Don't copy osga-data in base class keyframecontroller, fix warnings. 2020-11-20 19:38:29 +02:00
lightcontroller.cpp Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
lightcontroller.hpp Add shared UBO 2021-04-13 11:07:48 -07:00
lightmanager.cpp Use sizeof(GLfloat) instead of sizeof(GL_FLOAT) 2021-06-04 23:21:26 +02:00
lightmanager.hpp Fix crashes on exit in the LightManager (bug #6044) 2021-05-17 13:01:15 +04:00
lightutil.cpp Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
lightutil.hpp Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
morphgeometry.cpp profiling 2020-06-13 00:22:28 +02:00
morphgeometry.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
mwshadowtechnique.cpp Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
mwshadowtechnique.hpp Merge remote-tracking branch 'upstream/master' into alpha-meddling 2021-02-14 22:42:55 +00:00
navmesh.cpp Add command to enable NavMesh render 2018-10-13 22:16:28 +03:00
navmesh.hpp Add command to enable NavMesh render 2018-10-13 22:16:28 +03:00
optimizer.cpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
optimizer.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
osgacontroller.cpp Add a ton of const refs 2021-06-23 23:13:59 +02:00
osgacontroller.hpp Add a ton of const refs 2021-06-23 23:13:59 +02:00
pathgridutil.cpp Cast double constant to float explicitely 2021-04-19 17:08:03 +04:00
pathgridutil.hpp Drag indicator. 2016-05-18 12:17:26 -04:00
positionattitudetransform.cpp Remove redundant includes 2019-02-23 08:02:12 +04:00
positionattitudetransform.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
recastmesh.cpp Support recast mesh rendering 2020-03-14 09:38:24 +01:00
recastmesh.hpp Support recast mesh rendering 2020-03-14 09:38:24 +01:00
riggeometry.cpp Revert "Merge branch 'skinning' into 'master'" 2020-10-08 23:24:28 +00:00
riggeometry.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
screencapture.cpp Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
screencapture.hpp Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
serialize.cpp Add new scene nodes to scene graph serializer blacklist 2021-05-07 19:27:23 +04:00
serialize.hpp Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00
shadow.cpp Merge branch 'shadowdisable-fix' into 'master' 2020-11-18 18:56:36 +00:00
shadow.hpp Remove unused virtual modifiers in ShadowManager 2019-11-17 18:26:56 +01:00
shadowsbin.cpp Fix MSVC 4706 warnings 2021-04-23 22:53:59 +04:00
shadowsbin.hpp Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 2020-12-23 01:24:15 +00:00
skeleton.cpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
skeleton.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
statesetupdater.cpp Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
statesetupdater.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
textkeymap.hpp Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
unrefqueue.cpp Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
unrefqueue.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
util.cpp Merge branch 'const_refs' into 'master' 2021-06-24 18:57:41 +00:00
util.hpp Merge branch 'const_refs' into 'master' 2021-06-24 18:57:41 +00:00
visitor.cpp Simplify NodeMapVisitor::apply 2021-06-23 23:29:14 +02:00
visitor.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
waterutil.cpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
waterutil.hpp Move water mesh + simple state generation to components library. 2016-08-05 13:25:05 -04:00
workqueue.cpp Stop engine work queue before destructing environment 2021-07-08 21:14:01 +02:00
workqueue.hpp Stop engine work queue before destructing environment 2021-07-08 21:14:01 +02:00
writescene.cpp Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4 2020-04-27 11:40:49 +02:00
writescene.hpp Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00