1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 18:49:54 +00:00
Commit graph

488 commits

Author SHA1 Message Date
AnyOldName3
fcfd340c69 Actually copy alpha blended drawables to the new stategraph 2020-11-12 23:23:40 +00:00
AnyOldName3
55f65752fd Don't bind unnecessary colour buffer when drawing shadow maps 2020-11-12 17:55:10 +00:00
AnyOldName3
cdbf19a508 Tidy up run-on lines 2020-11-12 17:04:23 +00:00
AnyOldName3
296dce470a Spelling fix 2020-11-12 16:58:29 +00:00
AnyOldName3
72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 2020-11-12 00:26:30 +00:00
AnyOldName3
5d046bc95d Mark override 2020-11-11 14:58:06 +00:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
AnyOldName3
449506fef1 Attempt to explain what shadowsbin is doing 2020-10-31 19:06:20 +00:00
Alexei Dobrohotov
4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
2020-10-26 02:51:25 +03:00
AnyOldName3
f7dddb8857 Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
This won't actually work.
2020-10-23 17:55:15 +01:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Alexei Dobrohotov
9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
2020-10-08 23:24:28 +00:00
Alexei Dobrohotov
6be808e301 RigGeometry: convert some pairs to structs 2020-10-08 03:05:59 +03:00
AnyOldName3
fd14dad789 const osg::ref_ptf reference should be faster than value as constructor and destructor are non-trivial
I played around in GodBolt and got into an argument to determine this. The difference will be immeasurably small, but my curiosity has been satisfied.
2020-08-20 03:01:43 +01:00
AnyOldName3
707204133d Double-buffer shadow uniforms that change each frame 2020-08-20 00:38:13 +01:00
AnyOldName3
ce98d7053b Double buffer view-dependent data stateset 2020-08-19 22:55:41 +01:00
AnyOldName3
98b2d5d921 Make shadow debug HUD thread-safe
* Double buffer the frustum uniforms.
* Don't mess with the debug geometry's StateSet.
* Change two-element vectors to arrays so the size is explicit.
2020-08-19 19:29:19 +01:00
Andrei Kortunov
215ddb9106 Do not print warnings for VisController 2020-08-12 11:16:37 +04:00
Capostrophic
46825e8a4d Move NIF record index back to a separate user object
This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed.
2020-07-26 09:57:43 +03:00
Capostrophic
cc791af0f5 Serialization fixes
Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController
2020-07-26 09:57:43 +03:00
Capostrophic
3b55d657e5 CopyRigVisitor: Log the number of parents in multiple parents error 2020-07-26 09:57:43 +03:00
Capostrophic
a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
Capostrophic
4c9cefefdd Get rid of NifOsg::CollisionSwitch 2020-07-26 09:57:43 +03:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Andrei Kortunov
ef6fe8d52a Fix crash in the stateset updater (regression #5478) 2020-06-30 09:01:17 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
elsid
3251687a3d
Use std types for WorkQueue 2020-06-24 21:23:31 +02:00
psi29a
f94ca28dbe #5463: Optimizer fix, problem was indeed related to tangents not being transformd properly. 2020-06-18 17:23:16 +00:00
psi29a
66b5cf9f1d Merge branch 'master' into 'near_far_mode_in_launcher'
# Conflicts:
#   files/settings-default.cfg
2020-06-16 23:05:07 +00:00
bzzt lost a hitlab login
26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
Icecream95
f14db21745
Make disableShadowsForStateSet a no-op when shadows are disabled
Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled.
2020-05-17 19:52:23 +12:00
Capostrophic
78b1bbe130 Remove unnecessary null check 2020-05-15 10:34:49 +03:00
Capostrophic
72e5043eda CopyRigVisitor fixes
Make sure it copies all relevant drawable parent nodes (e.g. including the node with the environment map effect)
Make sure it doesn't copy nodes multiple times
2020-05-15 01:12:06 +03:00
psi29a
b72720f357 Merge branch 'shadow-transparency-rework' into 'master'
Only alpha-test shadows when necessary

See merge request OpenMW/openmw!170
2020-05-08 21:32:16 +00:00
Bret Curtis
aaa8990006
Merge pull request #2799 from Capostrophic/simplewaterfog
Fix simple water with radial fog enabled
2020-05-08 20:48:04 +02:00
Bret Curtis
f51476a3c5
Merge pull request #2816 from Capostrophic/switchlod
CollisionSwitch and Switch/LOD node fixes
2020-05-01 23:49:08 +02:00
Bret Curtis
5f0f2f0f16 rename to better reflect what is going on per AnyOldName3 comment; added none option 2020-05-01 00:34:31 +02:00
Bret Curtis
bf6daa7269
Merge pull request #2811 from Capostrophic/emitter
Allow particle emitters to be attached to an arbitrary node
2020-04-30 14:56:49 +02:00
Capostrophic
957d2a890f Ignore empty children of osg::LOD and osg::Switch like in OSG 2020-04-30 15:04:58 +03:00
Capostrophic
63fe02b1ba CollisionSwitch and Switch/LOD node fixes
Properly apply transformations to both switch and LOD nodes
Allow both NiSwitchNode and NiLODNode to be the root node
Properly add CollisionSwitch into the scene graph
2020-04-30 15:04:57 +03:00
psi29a
bb5fe13e13 Make sure it is either one or the other with the default to bounding volumes. 2020-04-29 23:06:44 +00:00
Bret Curtis
d38c3e971c remove extra line 2020-04-29 17:05:08 +02:00
Bret Curtis
ae729a1ac7 add ability to set the type of near far method to be used in shadow calculation; default to bounding volumes; cleaned up code while there and re-ordered items 2020-04-29 16:36:48 +02:00
Capostrophic
6b874e397b Make particle system cloning map names more sensible 2020-04-29 12:25:52 +03:00
Capostrophic
f516178ec9 Fix particle processor cloning
Extend emitter handling comment in NIF loader
2020-04-29 11:14:22 +03:00
psi29a
476a74c2d3 Merge branch 'bzzt_5_tight_scene_bound' into 'master'
Allow use of OSG's Bounding Volumes

See merge request OpenMW/openmw!189
2020-04-29 07:44:03 +00:00
Bret Curtis
31a75a962a Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy 2020-04-27 11:56:10 +02:00
Bret Curtis
ca0adc25bb add two additional classes we do not need to serialize; less pam during showscenegraph debug dump. 2020-04-27 11:51:18 +02:00
Bret Curtis
886b9813ad Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4 2020-04-27 11:40:49 +02:00
bzzt
dc33eeadf1 tightscenebound is uncessary after water bbfix 2020-04-27 08:42:46 +02:00
elsid
c59c8ae1f4
Remove unused macro 2020-04-24 20:38:55 +02:00
Capostrophic
688e804548 Fix simple water with radial fog enabled 2020-04-24 13:52:53 +03:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
AnyOldName3
1cf2036386 Don't add empty PrimitiveSets (prevent undefined behaviour) 2020-04-18 02:38:20 +01:00
AnyOldName3
12044a607b Only alpha-test shadows when necessary
Previously we always discarded shadow map fragments if the alpha channel of the output would have been low, but there were some (modded) assets that have non-one alpha but have testing or blending disabled so end up opaque anyway. This lets the shadows of those objects match.
2020-04-10 15:45:37 +01:00
Andrei Kortunov
02d7b13075
Merge pull request #2529 from akortunov/nodecopy
Copy transformations data when we clone node
2020-04-04 15:04:49 +04:00
elsid
7ae7cb181d
Support recast mesh rendering 2020-03-14 09:38:24 +01:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
bzzt
d340224c95 shadowsbin for gl state reduction 2019-11-20 13:37:00 +00:00
elsid
2e1d8a5e55
Remove unused virtual modifiers in DebugHUD
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
elsid
bd149b909f
Remove unused virtual modifiers in ShadowManager
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        setupShadowSettings();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        enableOutdoorMode();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
2019-11-17 18:26:56 +01:00
Andrei Kortunov
f09d20434c Clamp number of shadow maps 2019-11-17 17:25:02 +04:00
Andrei Kortunov
7074baa1c2 Clamp number of shadow maps, as described in docs 2019-11-13 15:10:22 +04:00
bzzt
b6ed2f1718 Add optional shadow map max distance and fading 2019-11-02 18:06:39 +03:00
Andrei Kortunov
e568ad30ea Copy transformations data when we clone node (bug #5163) 2019-09-19 11:35:15 +04:00
Andrei Kortunov
d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
2019-08-11 22:17:40 +04:00
capostrophic
62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 2019-08-11 20:33:13 +03:00
capostrophic
c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 2019-08-10 13:25:49 +03:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
Capostrophic
6622e36226 Only merge pure osg::Groups in the optimizer 2019-06-09 11:47:43 +03:00
Alexei Dobrohotov
1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
2019-05-11 02:32:34 +03:00
Capostrophic
05d94d35f9 Make disabled shadow defines map static 2019-04-29 19:31:46 +03:00
Capostrophic
85e99182ce Revise light source configuration (bug #4965)
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
2019-04-10 22:31:31 +03:00
bzzt
1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 2019-03-30 21:36:08 +04:00
Andrei Kortunov
b466bfee40 Enable light sources directly to avoid virtual calls 2019-03-21 10:27:50 +04:00
Andrei Kortunov
b2fca46206 Fix a couple of minor issues in shadows 2019-03-19 09:14:07 +04:00
Capostrophic
de572226e4 Update optimizer with upstream improvements 2019-03-17 07:59:16 +03:00
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
2019-03-14 14:53:35 +01:00
bzzt
4ab93aeffe Do not allocate empty callbacks in the RigGeometry 2019-03-14 12:37:41 +04:00
elsid
8e09468f45
Don't set display list usage for navmesh 2019-03-12 00:05:55 +03:00
elsid
4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
2019-03-10 23:58:49 +03:00
Andrei Kortunov
bacaa1f789 Get rid of C-style limits in the shadows code 2019-03-09 13:52:03 +04:00
Bret Curtis
551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
2019-03-08 08:50:03 +00:00
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
2019-03-07 23:49:23 +03:00
AnyOldName3
d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 2019-03-07 20:46:10 +00:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
bzzt
8c649f05e6 Don't reallocate light list vector unnecessarily 2019-02-27 00:12:14 +03:00
bzzt
a567111400 Use emplace instead of find-assign 2019-02-27 00:10:34 +03:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
2019-02-20 15:35:49 +00:00
AnyOldName3
0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 2019-02-19 18:13:03 +00:00
Bret Curtis
f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
2019-02-04 14:50:13 +01:00
Andrei Kortunov
60c9806d62 Share RigGeometry node data 2019-02-03 13:09:49 +04:00
Andrei Kortunov
9e4a339ad3 Daytime node switch support (feature #4836) 2019-02-02 10:50:15 +04:00