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