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