fredzio
21dbe314bf
Use common function for sync and async case. Now both cases follow the
...
same flow, synchronous simulation is just a special case.
2021-10-05 15:44:20 +02:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer ( #3138 )
...
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback ( #3147 )
...
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
3f731cd102
attempts to fix spellcasting freezes ( #3146 )
...
Firstly, this PR reintroduces commit "Recreate a special case for IntersectionVisitor on QuadTreeWorld" we forgot to reapply while reverting a revert commit. Secondly, in cases we still need to build a view for an intersection visitor, we now use the available `osgUtil::IntersectionVisitor::getReferenceEyePoint` instead of falling back to the origin position that was previously causing long rebuild times.
2021-10-04 22:00:31 +02:00
Bo Svensson
14d15dcfac
cleans up osgacontroller.cpp ( #3142 )
...
`handle_stateset` is not needed because `UpdateMatrixTransform` is a `NodeCallback` only allowed to be set on a `Node`. `Geode` and `Drawable` do not need explicit logic because they are both derived from `Node`.
2021-10-04 12:20:33 +02:00
Bo Svensson
aaf7b423d6
adds a replacement for osg::NodeCallback ( #3144 )
...
* nodecallback.hpp
* lightmanager.hpp
* lightmanager.cpp
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* [ci skip]
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* lightmanager.cpp
* lightmanager.cpp
* nodecallback.hpp
* [ci skip]
* [ci skip]
* controller.cpp
* [ci skip]
* osgacontroller.cpp
* keyframe.hpp
* controller.hpp
* keyframe.hpp
* [ci skip]
* keyframe.hpp
* animation.hpp
* [ci skip]
* weaponanimation.cpp
* nodecallback.hpp
2021-10-04 10:56:55 +02:00
psi29a
2c8c36fe5d
Merge branch 'master' into 'effective_magic'
...
# Conflicts:
# CHANGELOG.md
2021-10-01 21:20:08 +00:00
Bo Svensson
2568f119a4
reapplies PR without npe ( #3137 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
* nifloader.cpp
* shadervisitor.cpp
2021-10-01 10:11:00 +02:00
Petr Mikheev
24ecdc37a7
Fix crash in LuaUtil::ScriptsContainer::~ScriptsContainer()
2021-09-30 03:01:38 +02:00
Evil Eye
dc1fe62dde
Overhaul magic effects to work with onApply and onEnd events
2021-09-29 19:25:10 +02:00
Andrei Kortunov
e109d86489
Revert "avoids creating empty statesets on drawables ( #3132 )"
...
This reverts commit 957c25a491
.
2021-09-29 21:01:22 +04:00
Bret Curtis
b7c1d9edb0
remove unnecessary includes
2021-09-29 17:13:40 +02:00
Bo Svensson
d8707a763f
fixes build ( #3134 )
...
* quadtreeworld.cpp
* renderingmanager.cpp [ci skip]
* quadtreeworld.hpp
* cellborder.hpp
* cellborder.cpp
2021-09-29 17:10:58 +02:00
Bret Curtis
803195a05f
add back some explicit includes
2021-09-29 16:29:10 +02:00
Bo Svensson
8358418555
set the correct program link parameters ( #3110 )
...
* shadermanager.hpp setProgramTemplate
* shadermanager.hpp
* shadermanager.cpp setProgramTemplate
* shadervisitor.hpp setProgramTemplate
* shadervisitor.cpp setProgramTemplate
* scenemanager.cpp setProgramTemplate
* scenemanager.hpp setProgramTemplate
* renderingmanager.cpp
* groundcover.cpp setProgramTemplate
* groundcover.hpp
* groundcover.cpp
* shadervisitor.cpp
* util.cpp
* lightmanager.cpp
* scenemanager.cpp
* scenemanager.hpp
* lightmanager.cpp
* lightmanager.cpp
* lightmanager.cpp
* scenemanager.hpp [ci skip]
* water.cpp
* groundcover.cpp
* shadermanager.hpp
2021-09-29 15:40:37 +02:00
Bo Svensson
957c25a491
avoids creating empty statesets on drawables ( #3132 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
2021-09-29 09:58:19 +02:00
Andrei Kortunov
fc2076db1a
Fix MSVC warnings about local variables redeclaration ( #3130 )
2021-09-29 09:36:05 +02:00
psi29a
5794a3b346
Merge branch 'lua_raycasting' into 'master'
...
Lua raycasting
Closes #6098
See merge request OpenMW/openmw!1175
2021-09-28 08:50:40 +00:00
Bo Svensson
e41fe7573a
avoids creating empty statesets for collada nodes ( #3128 )
...
* avoids creating empty statesets for collada nodes
With this PR we avoid creating empty statesets for collada nodes which will be detrimental to osg's draw performance.
* scenemanager.cpp
2021-09-28 10:17:12 +02:00
Petr Mikheev
fb3917fc1a
Lua callbacks
2021-09-28 09:36:23 +02:00
Bo Svensson
5fde6867a2
removes unused code ( #3129 )
...
* scenemanager.cpp
* scenemanager.hpp
* scenemanager.cpp
* stats.cpp
* renderingmanager.cpp
2021-09-28 09:07:49 +02:00
Bret Curtis
9fabf99250
remove mDebugChunks from chunkManager
2021-09-27 21:38:12 +02:00
Bo Svensson
01cc61087b
improves paging preloader ( #3126 )
...
* Return check for distance when we try to reuse data
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* cellpreloader.cpp
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* quadtreeworld.cpp
* chunkmanager.cpp
* chunkmanager.cpp
* cellpreloader.cpp
* jvoisin
* whitespace
* whitespace
2021-09-27 21:32:18 +02:00
Bo Svensson
3f68ddd8f4
alternate debug chunks ( #3127 )
...
* quadtreeworld.cpp
* chunkmanager.cpp
* chunkmanager.hpp
* quadtreeworld.hpp
* chunkmanager.cpp
* quadtreeworld.cpp
* quadtreeworld.cpp
* quadtreeworld.cpp [ci skip]
* quadtreeworld.hpp
* quadtreeworld.cpp
* quadtreeworld.cpp
* quadtreeworld.cpp
* chunkmanager.cpp
* chunkmanager.cpp
2021-09-27 21:25:39 +02:00
psi29a
782e0710af
Merge branch 'OpenCS-preserve-blocked' into 'master'
...
OpenCS - Preserve "blocked" record flags when saving. #6288
Closes #6288
See merge request OpenMW/openmw!1052
2021-09-27 19:21:20 +00:00
psi29a
47eda85b9f
Merge branch 'master' into 'the_goal_is_elevation'
...
# Conflicts:
# CHANGELOG.md
2021-09-27 19:10:33 +00:00
Bo Svensson
c6f7137ee1
fixes bugs with share state ( #3111 )
...
* optimizer.cpp merge fix
* objectpaging.cpp
* optimizer.hpp setSharedStateManager
* optimizer.cpp shareState
* scenemanager.cpp shareState
* scenemanager.cpp
* optimizer.cpp
* optimizer.cpp
* scenemanager.cpp
* optimizer.cpp
2021-09-27 20:41:24 +02:00
Evil Eye
c679565893
Make names starting with digits use normal name parsing code
2021-09-26 22:13:53 +02:00
psi29a
aa11238be1
Merge branch 'colladaalphatest' into 'master'
...
Collada alpha testing
See merge request OpenMW/openmw!1177
2021-09-26 15:26:02 +00:00
Cédric Mocquillon
b676d93e03
Use a pair of iterator to represents a range for directory listing
2021-09-24 14:17:34 +02:00
Bo Svensson
d38c8c6dcb
optimise chunk drawing order ( #3116 )
...
* material.cpp
* material.cpp
2021-09-21 22:41:07 +02:00
Evil Eye
786b6b7c9a
Merge branch 'lua_util' into 'master'
...
Move LuaState::makeReadOnly(sol::table) out of the class
See merge request OpenMW/openmw!1229
2021-09-21 15:14:09 +00:00
unelsson
67894349a9
Add a check for OPAQUE_BIN
2021-09-19 22:38:07 +03:00
unelsson
f2a894024a
Change debug levels
2021-09-19 22:38:07 +03:00
unelsson
ec0b36d21d
Don't make a new osg::depth to alpha tested node
2021-09-19 22:38:07 +03:00
unelsson
96f02ab32c
Per-material alpha testing for collada
2021-09-19 22:38:07 +03:00
unelsson
40497d6fe5
Set depth testing for alpha blend & test, depth writes off for blend.
2021-09-19 22:38:07 +03:00
unelsson
b3d1d106af
Collada alpha testing and uniforms
2021-09-19 22:38:07 +03:00
Evil Eye
6d7cb38834
Remove duplicate GetSquareRoot implementation
2021-09-19 19:53:38 +02:00
Petr Mikheev
2f25257a3e
Move LuaState::makeReadOnly(sol::table) out of the class because it doesn't need to access LuaState internals.
2021-09-19 14:38:27 +02:00
Bo Svensson
095f4b2ed5
material.cpp ( #3117 )
2021-09-19 13:13:28 +02:00
Bret Curtis
8d86d90782
remove whitespace
2021-09-18 22:00:26 +02:00
Bo Svensson
179f91276a
lightmanager.cpp ( #3121 )
2021-09-18 18:21:11 +02:00
psi29a
68db9869f5
Merge branch 'DistantTerrainDebugChunks' into 'master'
...
Debug terrain chunks
See merge request OpenMW/openmw!1169
2021-09-18 15:21:26 +00:00
psi29a
18f5762a76
Merge branch 'master' into 'OpenCS-preserve-blocked'
...
# Conflicts:
# CHANGELOG.md
2021-09-18 15:20:26 +00:00
elsid
b9825afb8a
Fix build with system static OpenSceneGraph
...
* Add dependency to libraries required by OSG but missing when linking with OSG
system library.
* Use find_package for already defined dependencies.
2021-09-17 19:59:11 +02:00
Bo Svensson
f62adab43a
Avoid the terrain sync completely in most cases ( #3103 )
...
We can take elsid's commit 605cb8d
further by avoiding the terrain sync completely in most cases. Currently in changeCellGrid we wait for a new preloading task to ensure the getPagedRefnums for the new active cells have been filled in by object paging. This is usually not necessary because we have already completed a preload in the past containing these active cells. With this PR we remember what we preloaded and skip the terrain sync if it is not needed.
2021-09-16 22:11:19 +02:00
psi29a
24d1c2b5fa
Merge branch 'recurse_directory_iterator' into 'master'
...
VFS manager refactoring
See merge request OpenMW/openmw!1218
2021-09-15 07:20:52 +00:00
psi29a
7e3ed9605b
Merge branch 'qt_moc_notes' into 'master'
...
Remove 'no relevant classes' moc warning. Fix : #6201
Closes #6201
See merge request OpenMW/openmw!1206
2021-09-15 07:08:25 +00:00
Cédric Mocquillon
6817282097
Move getFileExtension to common header and use instead of repeating same code
2021-09-14 18:09:55 +02:00