Bo Svensson
08608da62c
optimizer.cpp
2021-10-07 08:29:38 +00:00
Evil Eye
5037def3b3
Parse local variables sharing a name with a function as variables
2021-10-06 21:27:08 +02:00
Bo Svensson
87d52dc1fd
fixes coverity-ci warning
2021-10-06 10:04:03 +00:00
Bo Svensson
cd4d76f8c5
discard off-screen lights ( #3120 )
...
Currently, we run culling tests against all lights in the scene during LightListCallback::pushLightState. We can avoid most of these tests by removing off-screen lights at an earlier stage. We should benchmark the cumulative time spent within LightListCallback::pushLightState before and after this PR.
2021-10-06 11:53:24 +02:00
Bo Svensson
787f91211d
resets state updater to apply light settings ( #3141 )
...
resets state updater to apply light settings
With this PR we achieve the same effect with fewer lines of code.
2021-10-06 11:21:30 +02:00
psi29a
c3f5e8f968
Merge branch 'lua_transform' into 'master'
...
3D transforms in Lua
See merge request OpenMW/openmw!1235
2021-10-06 09:21:21 +00:00
elsid
035307b012
Add tests for openmw options
...
In attempt to document current behaviour. Add commented out checks as desired
behaviour.
2021-10-05 22:51:12 +02:00
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 957c25a491b86772b02ab9057679ad1fc970f353.
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
Petr Mikheev
48538d5cef
3D transforms in Lua
2021-09-28 20:37:47 +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
Petr Mikheev
413ac067ec
Allow creating omwaddons without a dependency on an omwgame
2021-09-26 17:44:28 +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