1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-30 19:15:41 +00:00
Commit graph

538 commits

Author SHA1 Message Date
psi29a
8c36eb56cf Merge branch 'stereo_friendly_water' into 'master'
Stereo friendly water and statesetupdater

See merge request OpenMW/openmw!563
2021-07-30 11:00:49 +00:00
madsbuvi
41c08b1c3b Stereo friendly StateSetUpdater
(cherry picked from commit 496b3aef88b8fd867dcdd23a6ca43144573b1b2f)

Stereo friendly water

(cherry picked from commit 0e22c55e48a7f965367d3d430c1bef5357b22748)

Option to disable per view mapping.

Include memory header

De-hardcode settings and buffers.

formatting error

Update water.cpp (whitespace)

Update water.cpp (more whitespace)

include render order

c array -> c++ array
2021-07-26 14:01:02 +02:00
elsid
9a5ec5fd03
Store heightfields as array of heights instead of triangles
To reduce size of RecastMesh and therefore cache size.
2021-07-26 00:22:21 +02:00
elsid
d60edb36aa
Make RecastMesh independent from recast scale factor
To avoid scaling until it's required by delaying coordinates conversion until
navmesh generation.
2021-07-26 00:22:20 +02:00
elsid
af7059373c
Make RecastMesh independent from the order of RecastMeshBuilder calls
To make sure RecastMesh objects are equal if built with the same data but in
different order. Will be used later when there will be more than one place
building RecasMesh objects.
2021-07-26 00:22:20 +02:00
elsid
d4a2dab9d9
Remove redundant else 2021-07-12 11:41:21 +02:00
elsid
eece47f70e
Avoid copying osg::ref_ptr when adding or removing item from work queue
Copy constructor does refcounting, and move constructor doesn't.
2021-07-12 11:41:21 +02:00
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
elsid
5103120eef
Notify about saved screenshot
Show message about saved screenshot via schedule message box. Since screenshot
saving happens not in the main thread calling messageBox directly is unsafe.
WindowManager::scheduleMessageBox delays message box showing until next update
in the main thread.
2021-07-08 21:14:01 +02:00
elsid
f7a6be053d
Stop engine work queue before destructing environment
To avoid access to null and dangling pointers from active work items on
quitting.
2021-07-08 21:14:01 +02:00
elsid
f8e02000ec
Write screenshots to file asynchronously 2021-07-08 21:13:57 +02:00
elsid
33aa4d0822
Move WriteScreenshotToFileOperation to components 2021-07-08 20:27:19 +02:00
AnyOldName3
84a9facedf Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
Evil Eye
2be27da791 Merge branch 'const_refs' into 'master'
Add a ton of const refs

See merge request OpenMW/openmw!954
2021-06-24 18:57:41 +00:00
Evil Eye
9f7980ecd7 Merge branch 'refenreces' into 'master'
Sprinkle some references where it makes sense

See merge request OpenMW/openmw!952
2021-06-24 17:40:36 +00:00
jvoisin
cf11870b1c Sprinkle some references where it makes sense 2021-06-24 00:28:09 +02:00
jvoisin
895864099c Simplify NodeMapVisitor::apply
No need to run a find() before a std::replace
2021-06-23 23:29:14 +02:00
jvoisin
1123dc46ee Add a ton of const refs 2021-06-23 23:13:59 +02:00
Bret Curtis
868a5b35e3 workaround shadow issue on macOS, https://gitlab.com/OpenMW/openmw/-/issues/6057 2021-06-12 00:10:55 +02:00
jvoisin
7f4f2c042e Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)
GL_FLOAT is an enum, with the value 0x1406, while GLFloat is the actual type.
Source: https://www.khronos.org/opengl/wiki/OpenGL_Type
2021-06-04 23:21:26 +02:00
elsid
d4f28ac979
Avoid resetting buffer object when configuring light buffer layout
Otherwise this casues RaceSelectionPreview to have no light until first change.
2021-05-28 10:46:42 +02:00
Andrei Kortunov
11c57978b6 Fix crashes on exit in the LightManager (bug #6044) 2021-05-17 13:01:15 +04:00
Andrei Kortunov
c54ef55ebb Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"
This reverts commit 5373cf1cd5.
2021-05-17 12:40:55 +04:00
elsid
d520b440aa
Copy LightBuffer data into a new object when changing layout
Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.

Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object.
2021-05-16 22:37:31 +02:00
elsid
5373cf1cd5
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing
When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV.
2021-05-15 15:23:28 +02:00
Andrei Kortunov
2e8873af51 Add new scene nodes to scene graph serializer blacklist 2021-05-07 19:27:23 +04:00
jvoisin
d45184a730 Sprinkle some const-ref to avoid unnecessary copies 2021-05-02 14:43:46 +02:00
Chris Djali
f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
2021-05-01 19:03:43 +01:00
Andrei Kortunov
18a4c81b5c Merge branch 'fix_toggleborders' into 'master'
Fix ToggleBorders debug view with 'Shaders' lighting method

See merge request OpenMW/openmw!792
2021-04-30 08:35:58 +00:00
AnyOldName3
ceb6a280ff Fix typo
Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it.
2021-04-29 21:35:31 +00:00
glassmancody.info
9f314d1d6f Fix ToggleBorders 2021-04-29 12:11:49 -07:00
Andrei Kortunov
6d351b2bdd Fix MSVC 4706 warnings 2021-04-23 22:53:59 +04:00
Bret Curtis
50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
2021-04-20 07:33:03 +02:00
Bret Curtis
c6c92b5712
Merge pull request #3071 from akortunov/master
Fix an another batch of MSVC complaints
2021-04-20 07:31:56 +02:00
AnyOldName3
ff46eceabe Merge branch 'maybe-reintroduce-5904' into 'master'
Fix crash on startup

See merge request OpenMW/openmw!709
2021-04-19 19:31:21 +00:00
Andrei Kortunov
d10399e083 Cast double constant to float explicitely 2021-04-19 17:08:03 +04:00
Andrei Kortunov
7d5c5f8a24 Do not assign negative values to unsigned variables 2021-04-19 16:08:19 +04:00
Andrei Kortunov
987b231fdd Fix an another portion of Coverity warnings 2021-04-18 07:09:44 +04:00
psi29a
d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
2021-04-16 19:47:26 +00:00
glassmancody.info
16856d45c5 Lighting Patch
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
2021-04-16 11:55:40 -07:00
Andrei Kortunov
0c7ddd3938 Remove redundant qualifiers 2021-04-14 09:02:20 +04:00
Andrei Kortunov
bce6effe95 Fix uninitialized variables in the LightManager 2021-04-14 08:20:23 +04:00
glassmancody.info
531a6e1979 Code review fixes, remove implicit GLSL casts 2021-04-13 11:09:54 -07:00
glassmancody.info
92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 2021-04-13 11:09:49 -07:00
glassmancody.info
9e80091aff clear up force shaders and make it less convoluted 2021-04-13 11:09:49 -07:00
glassmancody.info
8ce65232ff fix race condition with sun uniform 2021-04-13 11:09:49 -07:00
glassmancody.info
d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 2021-04-13 11:09:49 -07:00
glassmancody.info
eecb9886a9 Shader cleanup, fix indicies 2021-04-13 11:09:49 -07:00
glassmancody.info
4ba473b684 Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
glassmancody.info
71c30a31df in-game settings, some require restart 2021-04-13 11:09:49 -07:00