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

522 commits

Author SHA1 Message Date
psi29a
c33b2e0100 Merge branch 'dehardcodebaseanim' into 'master'
Dehardcode Base_animation and improve Collada support

See merge request OpenMW/openmw!510
2021-02-10 16:29:47 +00:00
AnyOldName3
3e273a759a Clarify method name now we're using it differently 2021-02-06 16:41:46 +00:00
Nelsson Huotari
bae27e8199 dynamic_cast to static_cast 2021-02-02 21:52:15 +02:00
Nelsson Huotari
b28d8251aa Clone animation tracks 2021-02-02 21:52:08 +02:00
Nelsson Huotari
1221889cf7 Limit conversion of underscores to nodes origating from osgAnimation library 2021-02-02 21:41:17 +02:00
Nelsson Huotari
5b88d16a50 Clean-up 2021-02-02 21:09:50 +02:00
Nelsson Huotari
2162b97fef Handle case in osgAnimation bone names 2021-02-02 17:34:02 +02:00
Nelsson Huotari
7d3f2bc113 Convert underscores in bone names to whitespaces 2021-02-02 17:33:40 +02:00
madsbuvi
7edaa50195 another approach 2021-01-31 18:02:05 +01:00
Nelsson Huotari
3194520dcd Move base_anim settings to settings-default.cfg 2021-01-27 13:41:02 +02:00
Andrei Kortunov
f175beb304 Define template ref classes in components 2021-01-13 14:25:21 +04:00
Andrei Kortunov
801e2d6ad0 Avoid to use uninitialized variables 2021-01-09 13:36:40 +04:00
AnyOldName3
4ed3252001 Check for EXT_gpu_shader4 CPU-side
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
2021-01-07 18:13:51 +00:00
AnyOldName3
8f4b856b44 Initial A2C implementation 2020-12-26 22:45:53 +00:00
AnyOldName3
11b4af49ce Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 2020-12-23 01:24:15 +00:00
AnyOldName3
a36ed5f129 Optimise out redundant call
We already had the results
2020-12-23 00:23:49 +00:00
AnyOldName3
657da50d99 Ensure GL_BLEND is disabled when drawing shadow maps 2020-12-20 01:36:34 +00:00
AnyOldName3
cc2ce9fa3e Explicitly default-construct array
The docs seem to imply this is automatic when the array contains a
class-type, which osg::ref_ptr is, but I got a crash log that doesn't
make sense if that's true.
2020-12-19 21:57:42 +00:00
AnyOldName3
0b5d5eab4c Move is faster 2020-12-18 02:11:51 +00:00
AnyOldName3
05ad44d0b1 Set correct array size 2020-12-18 01:44:46 +00:00
AnyOldName3
ce2bcba5d4 Replace deprecated alpha test in shader visitor 2020-12-17 14:57:43 +00:00
Nelsson Huotari
8b2bf12e8f Use bip01 for root bone name 2020-12-15 13:51:49 +02:00
Nelsson Huotari
6c1f6169c0 Fix root movement glitch 2020-12-15 13:50:19 +02:00
Nelsson Huotari
256aa5e71d Use const auto& 2020-12-12 22:23:20 +02:00
AnyOldName3
5ad297e6ff Guarantee glow updater regenerates shaders on completion
Previously, it would edit the odd numbered stateset, then regenerate
shaders for the even-numbered one, then edit the even numbered one, and
regenerate shaders for the odd numbered one (or vice versa if it
finished during an even numbered frame). This would leave one of the
shader programs still trying to use the state that had been removed.
2020-12-03 18:41:32 +00:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Nelsson Huotari
55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 2020-11-28 15:03:10 +02:00
Nelsson Huotari
3232faa703 Use const ref instead of value 2020-11-20 19:41:01 +02:00
Nelsson Huotari
32d4344803 Don't copy osga-data in base class keyframecontroller, fix warnings. 2020-11-20 19:38:29 +02:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
Nelsson Huotari
f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
AnyOldName3
37661bffea Merge branch 'shadowdisable-fix' into 'master'
Make disableShadowsForStateSet a no-op when shadows are disabled

See merge request OpenMW/openmw!205
2020-11-18 18:56:36 +00:00
AnyOldName3
7768556ce6 Set dummy state when disabling shadows indoors
As we don't reconfigure all shaders without shadows when we disable them
indoors (as it'd probably add a hitch to transitioning in and out) we
need to set up dummy state so the shaders don't do anything illegal.

This hadn't had symptoms for most objects as when indoors, nearly
everything would be drawn first in one of the water RTTs, which had
dummy state to disable shadows already. This wasn't true of the water
plane itself, though, yet somehow it took until just now for anyone to
report that.

This resolves vtastek's issue where the water would be invisible indoors
2020-11-16 21:01:20 +00:00
AnyOldName3
1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
2020-11-13 16:29:41 +00:00
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