1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 18:35:20 +00:00

3088 Commits

Author SHA1 Message Date
psi29a
c8eb246198 Merge branch 'no_update_useless_ugly_nodes' into 'master'
Only update active children

See merge request OpenMW/openmw!2001
2022-06-12 18:47:56 +00:00
uramer
fd7965d77f Use correctMeshPath instead of string constants 2022-06-12 11:30:29 +02:00
glassmancody.info
d7425cc016 change update visitor to only traverse active children in scenegraph 2022-06-11 00:09:33 -07:00
Alexei Kotov
93068d71ea Use std::string_view whenever reasonable in CharacterController
C++ Core Guidelines SL.str.2
2022-06-11 04:54:50 +03:00
ζeh Matt
9559feaa90
Fix effects not being removed from scene graph 2022-06-10 22:59:23 +03:00
Matt
4d74f8137c Use vector for EffectManager effects 2022-06-09 20:43:53 +00:00
glassmancody.info
f6943f9f66 bind framebuffer when msaa enabled in transparent postpass 2022-06-06 20:52:40 -07:00
glassmancody.info
acc209c294 fix threading issue when dispatching frame dependent data 2022-06-05 15:46:25 -07:00
psi29a
58fd560ce9 Merge branch 'esm_readers_cache' into 'master'
Limit the number of simultaneously open not actively used content files (#6756)

Closes #6756

See merge request OpenMW/openmw!1966
2022-06-04 19:11:27 +00:00
Cody Glassman
ce49aa1202 Attach lights at origin when missing AttachLight node 2022-06-04 13:35:27 +00:00
elsid
3affe9913f
Limit the number of simultaneously open not actively used content files
Use LRU cache for ESMReaders. When cache capacity is reached close least
recently used ESMReader. Remember the file name if a reader was open. Once the
reader requested again open the file if there is stored name for it. Put
released ESMReader to the back of the free items list. Close ESMReader's from
the front of the free items list.

Cached item can be used only by one client at the same time. If the same item is
requested twice exception is thrown. This should never happen in practice. If
this happens need to fix the client logic.

It's allowed to go over the capacity limit when requesting different readers.
Ideally this should never happen but there will be system error anyway
signalizing about too many open files. Need to fix client logic in this case.

All places that were using a vector of ESMReaders now using the cache. Cache is
local for each use case and there is no need for a thread safety.
2022-06-03 01:29:03 +02:00
psi29a
e78d36ff50 Merge branch 'no_input' into 'master'
[Postprocessing] Take away mouse input from headers, remove unnecessary dirty

See merge request OpenMW/openmw!1965
2022-06-02 08:57:48 +00:00
glassmancody.info
a3d95785d7 remove unecassary dirty, don't allow dividers to have mouse input 2022-06-01 22:03:58 -07:00
Mads Buvik Sandvei
6bb296723e Apply Mask_RenderToTexture to local map RTT node 2022-06-01 21:28:15 +02:00
Cody Glassman
447b586d7d [Postprocessing] Fix a couple awkward issues with Lua API 2022-05-31 08:45:27 +00:00
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00
jvoisin
4e4debb1cb Remove even more of boost::filesystem 2022-05-25 18:29:02 +00:00
glassmancody.info
ee6e60005b remove log spam on failures 2022-05-23 21:27:32 -07:00
cody glassman
6093cb5f2c postprocessing lua api extensions 2022-05-22 18:53:38 -07:00
psi29a
d40bfc9e99 Merge branch 'update_ptr' into 'master'
Avoid changing map when updating ptr

See merge request OpenMW/openmw!1894
2022-05-22 10:40:45 +00:00
Matt
395de4b251 Refactor PostProcessor code 2022-05-21 06:42:05 +00:00
elsid
24712e2cb1
Avoid changing map when updating ptr
This is not necessary and has overhead.
2022-05-21 00:12:33 +02:00
psi29a
d4e2000d5b Merge branch 'render_targets' into 'master'
Bind custom render targets per pass

See merge request OpenMW/openmw!1884
2022-05-19 11:03:02 +00:00
glassmancody.info
3d03052717 dont bind rendertargets unless we use them, otherwise texture limit will be reached quickly 2022-05-18 19:45:09 -07:00
ζeh Matt
3a90bc7187
Use World prng for head/blink animations 2022-05-17 18:22:45 +03:00
elsid
215b46503c
Support rendering for navmesh update frequency as a heatmap
Useful when need to find tiles with high number of updates.

Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
2022-05-17 01:54:20 +02:00
cody glassman
dae0914820 workarounds for gl4es 2022-05-15 10:03:58 -07:00
cody glassman
0cb63ca4e6 experimental point light bindings 2022-05-15 10:03:58 -07:00
cody glassman
04843fed6d moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
uramer
95ad67eb8b Add extraRoll to the Lua camera package 2022-05-12 23:21:47 +02:00
Cody Glassman
882245b935 Lua Bindings: Add view distance bindings to camera 2022-05-09 19:40:48 +00:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.

This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
AnyOldName3
a6c9c9d1f8 Don't return a random anonymous node from getArrowBone when the current weapon doesn't fire arrows. 2022-05-02 20:11:01 +01:00
psi29a
265fa51128 Merge branch 'respect_water_filtering' into 'master'
Simple water should respect filter settings (#5989)

Closes #5989

See merge request OpenMW/openmw!1813
2022-04-30 17:02:32 +00:00
cody glassman
ed6cd487ee allow updating filtering at runtime 2022-04-29 17:26:09 -07:00
cody glassman
13a05dbd63 simple water should respect filter settings 2022-04-29 17:01:28 -07:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
Mads Buvik Sandvei
606a795a54 multiview linker-method 2022-04-28 21:09:06 +02:00
madsbuvi
dd5901d351 Initial commit
Multiview shaders.

Refactor Frustum management

Rewrite shared shadow map

cull mask should respect stereo

Stereo savegame screencap

LocalMap refactoring

use the vertex buffer hint instead of the display list patch to enable/disable display lists

Character preview fixes
2022-04-28 21:05:34 +02:00
elsid
a2d596dbc7
Prepare navmesh scene asynchronously
It is expensive operation to generate new osg::Group for updated navmesh tile
which noticeably slows down main thread primarily because of
SceneManager::recreateShaders call. Move it to the preload work queue that is
used by RenderingManager. Leave to main thread only manipulations on the root
node.

Also move deallocation of no more needed data to the work queue. It's also
quite expensive operation because SceneManager::recreateShaders allocates a
new state set for each osg::Geometry. Deallocating them takes time.

Avoid creating another work item if there is existing one that is not started
yet.

Make sure results are accepted in the proper serialized order by selecting
completed work item with maximum {id, version}.
2022-04-20 23:14:31 +02:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
psi29a
9275b3c08f Merge branch 'make_shared' into 'master'
Use std::make_shared instead of new

See merge request OpenMW/openmw!1753
2022-04-08 21:35:55 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr 2022-04-08 22:42:22 +02:00
elsid
bbfdb347bd
Skip load cell ref when there is no need
Primarily to avoid temporary allocations by ESMReader::getHString.
2022-04-08 19:16:38 +02:00
elsid
5156ee94be
Store static id key in lower case 2022-04-08 01:22:48 +02:00
Bret Curtis
c376f3793e check that the index is now -1; otherwise bad things happen 2022-04-07 00:09:11 +02:00
Bret Curtis
0db5415976 refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md 2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31 initial NiFltAnimationNode support 2022-04-07 00:09:11 +02:00
Petr Mikheev
3af8ea5dfc Update Lua bindings for the camera 2022-04-06 21:55:05 +02:00