Mads Buvik Sandvei
b0e4c7e76a
[Postprocessing] Stereo integration
2022-06-21 15:55:06 +00:00
psi29a
a822044199
Merge branch 'riggeoosgaext' into 'master'
...
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts
See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts
2022-06-21 15:27:34 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
...
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.
* Add agent bounds to navmesh tile db cache key. This is required to distinguish
tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Petr Mikheev
3bf18c601c
Better fog
2022-06-21 02:21:20 +02:00
Cody Glassman
66aa546e97
[Postprocessing] Small cleanup
2022-06-20 06:58:40 +00:00
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
Nelsson Huotari
6869fa18e4
Fix unsafe memory access at object.cpp
2022-03-26 15:16:22 +00:00
ζeh Matt
129d68e299
Fix #6660 : Crash during intro video when closing the game
2022-03-03 20:25:35 +02:00
Bret Curtis
ad11cc8d8a
reinstall fontconfig as needed; const an imbigious == operator
2022-03-01 10:53:01 +01:00
elsid
6fd251e8f7
Avoid starting async png writing when overlay image is null
2022-02-19 21:41:40 +01:00
Alexei Kotov
4fdf55601c
Merge branch 'bigboi' into 'master'
...
Force a scale update when changing view modes
Closes #6623
See merge request OpenMW/openmw!1662
2022-02-16 22:29:13 +00:00
Evil Eye
f9da792386
Force a scale update when changing view modes
2022-02-15 17:25:07 +01:00
elsid
a4d7b72511
Write png image of the global map for save asynchronously
...
Write global map to the save file last to give more time for async job to
finish.
2022-02-13 21:42:36 +01:00
glassmancody.info
8c2c322d92
add stencil to water RTTs, reword some comments
2022-02-07 14:35:15 -08:00
glassmancody.info
bbc9c53423
support morrowind stenciling
2022-02-07 11:51:59 -08:00
elsid
16cfdfec19
Avoid unnecessary computation
...
And fix UBSAN error:
/home/elsid/dev/openmw/apps/openmw/mwrender/renderingmanager.cpp:659:81: runtime error: division by zero
#0 0x556eac16f4dc in MWRender::RenderingManager::configureAmbient(ESM::Cell const*) /home/elsid/dev/openmw/apps/openmw/mwrender/renderingmanager.cpp:659
#1 0x556eadfd3d60 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:467
#2 0x556eadfe3047 in MWWorld::Scene::changeToInteriorCell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:830
#3 0x556eadeb8fb3 in MWWorld::World::changeToInteriorCell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:978
#4 0x556eadeba5f1 in MWWorld::World::changeToCell(ESM::CellId const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1008
#5 0x556eaeb852dd in MWState::StateManager::loadGame(MWState::Character const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:533
#6 0x556eaeb81674 in MWState::StateManager::loadGame(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:366
#7 0x556eaebd2aae in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1025
#8 0x556eaeba810a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:221
#9 0x556eaf865e9a in wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:205
#10 0x556eaeba8368 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:233
#11 0x7f89773b3b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#12 0x556eac13c09d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw+0x669c09d)
2022-02-03 00:08:45 +01:00
Alexei Dobrohotov
142b6fdf2f
Fix double precision bound issues in std::max/std::clamp
2022-02-02 16:57:59 +03:00
uramer
c31dedb89c
Implement Yaw, Pitch and Use (attack / cast spell) in Lua self.controls
2022-02-01 18:47:20 +00:00
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Bret Curtis
cdbab2325f
rename esmterrain to esm3terrain
2022-01-23 17:19:30 +01:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
Cody Glassman
9cafc31c0d
Restore ripples with soft particles
2022-01-19 11:32:38 +00:00
Cody Glassman
8ec0a52605
Toggable day night switch ( #5928 )
2022-01-11 09:34:19 +00:00
psi29a
a1f8db7600
Merge branch 'bright_spells' into 'master'
...
Replicate Morrowind spell lighting (#4949 )
Closes #4949
See merge request OpenMW/openmw!1544
2022-01-09 11:07:14 +00:00
cody glassman
8216410e7d
add white ambient to spell VFX as in Morrowind
2022-01-08 16:19:42 -08:00
cody glassman
e32d3d11ce
ensure readbuffer is bound before using glReadPixels
2022-01-08 16:12:24 -08:00
psi29a
d8d7a3b372
Merge branch 'softparticles_patch' into 'master'
...
Shadervisitor adjustments and Mac OS fix for soft particles
See merge request OpenMW/openmw!1380
2022-01-06 13:13:52 +00:00
psi29a
e0612db01c
Merge branch 'viewport_update' into 'master'
...
Use updated resolutions when setting projection matrix
See merge request OpenMW/openmw!1533
2022-01-05 10:43:30 +00:00
Cody Glassman
a7166aa05c
Use updated resolutions when setting projection matrix
2022-01-05 10:43:30 +00:00
psi29a
5eba352c98
Merge branch 'correct_depth_function' into 'master'
...
Use correct depth functions (#6537 )
Closes #6537
See merge request OpenMW/openmw!1534
2022-01-05 08:38:05 +00:00
glassmancody.info
909aa43ba1
update sky particle node correctly
2022-01-04 14:10:39 -08:00
glassmancody.info
2c52695361
fix regression where LEQUAL was used instead of LESS for depth function
2022-01-04 12:23:37 -08:00
elsid
01c712d5f1
Split navigator settings into subtypes
...
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
psi29a
7256654f29
Merge branch 'navmesh_render' into 'master'
...
Rework navmesh render (#6187 )
See merge request OpenMW/openmw!1338
2021-12-02 10:34:41 +00:00
psi29a
e221013692
Merge branch 'recalculate-projection-matrix-on-window-resize' into 'master'
...
Recalculate the Projection Matrix every time the window is resized.
See merge request OpenMW/openmw!1382
2021-11-30 16:00:31 +00:00
OnlyForF1
c5b33185b5
Recalculate the Projection Matrix every time the window is resized.
2021-11-30 16:00:30 +00:00
Bret Curtis
246912f73a
Merge pull request #3206 from akortunov/groundcover_loading
...
Use a separate storage for groundcover data
2021-11-29 20:09:21 +01:00
Evil Eye
a231037449
Merge branch 'accumroot' into 'master'
...
Use the anim source to find mAccumRoot (bug #6417 )
Closes #6417
See merge request OpenMW/openmw!1431
2021-11-25 19:13:21 +00:00
Alexei Dobrohotov
fd58e5ba77
Use the anim source to find mAccumRoot (bug #6417 )
2021-11-23 04:53:03 +03:00
glassmancody.info
44d5c96183
sunglare fix
2021-11-22 17:35:00 -08:00
elsid
cffcb6a897
Share state set between all navmesh tiles
...
Do not change GL_DEPTH because it's always disabled anyway.
2021-11-21 18:01:26 +01:00
elsid
3c41d0efc3
Render each navmesh tile independently
2021-11-21 17:42:27 +01:00
elsid
6b7363bd59
Replace generation and revision by version
2021-11-21 17:40:54 +01:00
glassmancody.info
9389cfaa42
mac os driver workaround and shadervisitor fixes
2021-11-20 18:39:20 -08:00
Cody Glassman
d85f772269
Depth refactor
2021-11-21 02:25:05 +00:00
Petr Mikheev
f42badd7be
Dehardcode camera
2021-11-19 20:37:21 +01:00
Petr Mikheev
47cbdcba15
Camera refactoring
2021-11-19 20:37:21 +01:00
Evil Eye
c277e8bf3f
Unset store listeners for creatures
2021-11-15 16:31:38 +01:00
psi29a
d4e8a58351
Merge branch 'headsup' into 'master'
...
Force assign head animation timer (bug #4389 )
Closes #4389
See merge request OpenMW/openmw!1361
2021-11-14 19:59:31 +00:00
Andrei Kortunov
3275440f0d
Use a separate storage for groundcover data
2021-11-14 19:11:42 +04:00