Mads Buvik Sandvei
c870749c39
Merge remote-tracking branch 'remotes/origin/master' into multiview_test_branch
4 years ago
Mads Buvik Sandvei
85033bb647
Merge remote-tracking branch 'remotes/origin/master' into openxr_vr
4 years ago
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.
4 years ago
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
4 years ago
Nelsson Huotari
55dcc6582a
Don't duplicate getFileExtension, use OpenMW's namespaces
4 years ago
Mads Buvik Sandvei
49e76fa077
Merge remote-tracking branch 'remotes/origin/master' into openxr_vr
4 years ago
Nelsson Huotari
3232faa703
Use const ref instead of value
4 years ago
Nelsson Huotari
32d4344803
Don't copy osga-data in base class keyframecontroller, fix warnings.
4 years ago
Nelsson Huotari
6e77ad1f6a
OSG-Collada animation support
4 years ago
Nelsson Huotari
f78a5d795c
Separate keyframes logic to provide basis for osgAnimation integration.
4 years ago
AnyOldName3
37661bffea
Merge branch 'shadowdisable-fix' into 'master'
...
Make disableShadowsForStateSet a no-op when shadows are disabled
See merge request OpenMW/openmw!205
4 years ago
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
4 years ago
AnyOldName3
1e0df23d14
Merge branch 'shadows-bin' into 'master'
...
Use a custom renderbin to avoid pointless OpenGL state switches
See merge request OpenMW/openmw!402
4 years ago
AnyOldName3
fcfd340c69
Actually copy alpha blended drawables to the new stategraph
4 years ago
AnyOldName3
55f65752fd
Don't bind unnecessary colour buffer when drawing shadow maps
4 years ago
AnyOldName3
cdbf19a508
Tidy up run-on lines
4 years ago
AnyOldName3
296dce470a
Spelling fix
4 years ago
AnyOldName3
72f7e6a702
Handle all shadow alpha uniforms in shadowsbin
4 years ago
AnyOldName3
5d046bc95d
Mark override
4 years ago
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
4 years ago
AnyOldName3
449506fef1
Attempt to explain what shadowsbin is doing
4 years ago
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
4 years ago
AnyOldName3
f7dddb8857
Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
...
This won't actually work.
4 years ago
Mads Buvik Sandvei
4f8f0cc8ac
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into openxr_vr
4 years ago
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
4 years ago
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
4 years ago
Alexei Dobrohotov
9f08dc9968
Revert "Merge branch 'skinning' into 'master'"
...
This reverts merge request !327
4 years ago
Mads Buvik Sandvei
70e8e818b6
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into multiview_test_branch
4 years ago
Alexei Dobrohotov
6be808e301
RigGeometry: convert some pairs to structs
4 years ago
Mads Buvik Sandvei
8a6738469e
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into multiview_test_branch
4 years ago
Mads Buvik Sandvei
9c171869cb
Geometry shader stereo functional
4 years ago
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.
4 years ago
AnyOldName3
707204133d
Double-buffer shadow uniforms that change each frame
4 years ago
AnyOldName3
ce98d7053b
Double buffer view-dependent data stateset
4 years ago
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.
4 years ago
Andrei Kortunov
215ddb9106
Do not print warnings for VisController
4 years ago
Mads Buvik Sandvei
911271f156
shareable shadow maps
5 years ago
Mads Buvik Sandvei
d8bc5e7b26
Merge remote-tracking branch 'remotes/origin/shared_shadow_maps' into openxr_vr
5 years ago
Mads Buvik Sandvei
0970424f65
Sharing shadow maps without any redundant rendering.
5 years ago
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.
5 years ago
Capostrophic
cc791af0f5
Serialization fixes
...
Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController
5 years ago
Capostrophic
3b55d657e5
CopyRigVisitor: Log the number of parents in multiple parents error
5 years ago
Capostrophic
a61267f57d
Replace NodeUserData with a custom transform node
5 years ago
Capostrophic
4c9cefefdd
Get rid of NifOsg::CollisionSwitch
5 years ago
Mads Buvik Sandvei
cea73ead09
Merge remote-tracking branch 'remotes/origin/shared_shadow_maps' into openxr_vr
5 years ago
Mads Buvik Sandvei
fc75c902f6
Slight refactoring
5 years ago
Mads Buvik Sandvei
d923c3f77a
shareable shadow maps
5 years ago
Mads Buvik Sandvei
c9e761eb88
Merge remote-tracking branch 'remotes/origin/master' into openxr_vr
5 years ago
Mads Buvik Sandvei
e0b51af395
Sharing shadow maps across eyes.
...
Does not yet expand frustum.
5 years ago
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
...
Replace OpenThreads by std types
5 years ago
Andrei Kortunov
ef6fe8d52a
Fix crash in the stateset updater (regression #5478 )
5 years ago
Mads Buvik Sandvei
58d73e14e6
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
...
# Conflicts:
# apps/openmw/mwbase/environment.cpp
# apps/openmw/mwbase/environment.hpp
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwgui/windowmanagerimp.cpp
# apps/openmw/mwinput/inputmanagerimp.hpp
# apps/openmw/mwrender/animation.cpp
# apps/openmw/mwrender/camera.cpp
# apps/openmw/mwrender/camera.hpp
# apps/openmw/mwrender/renderingmanager.cpp
# apps/openmw/mwrender/renderingmanager.hpp
5 years ago
elsid
40ad87bc4d
Replace OpenThreads by std types
5 years ago
elsid
3251687a3d
Use std types for WorkQueue
5 years ago
psi29a
f94ca28dbe
#5463 : Optimizer fix, problem was indeed related to tangents not being transformd properly.
5 years ago
psi29a
66b5cf9f1d
Merge branch 'master' into 'near_far_mode_in_launcher'
...
# Conflicts:
# files/settings-default.cfg
5 years ago
bzzt lost a hitlab login
26ab176389
profiling
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login
daa2761c2d
alphablending & billboardfix
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login
f12879a04c
allow statesetupdater as cullcallback = faster + works in paging
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login
9f0398c021
intersection by refnum tag + enable paging for acti,door,cont
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login
ce505a9bb3
crashfix + optimiziation
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt
d684f1a78f
terrainbased objectpaging
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
Mads Buvik Sandvei
cbbc82f053
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/engine.cpp
# apps/openmw/mwgui/windowmanagerimp.cpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwinput/inputmanagerimp.hpp
# apps/openmw/mwphysics/physicssystem.cpp
# apps/openmw/mwrender/water.cpp
# apps/openmw/mwrender/water.hpp
# apps/openmw/mwworld/worldimp.cpp
5 years ago
Icecream95
f14db21745
Make disableShadowsForStateSet a no-op when shadows are disabled
...
Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled.
5 years ago
Capostrophic
78b1bbe130
Remove unnecessary null check
5 years ago
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
5 years ago
psi29a
b72720f357
Merge branch 'shadow-transparency-rework' into 'master'
...
Only alpha-test shadows when necessary
See merge request OpenMW/openmw!170
5 years ago
Bret Curtis
aaa8990006
Merge pull request #2799 from Capostrophic/simplewaterfog
...
Fix simple water with radial fog enabled
5 years ago
Bret Curtis
f51476a3c5
Merge pull request #2816 from Capostrophic/switchlod
...
CollisionSwitch and Switch/LOD node fixes
5 years ago
Mads Buvik Sandvei
57e48cfc03
Separate rendering of window menus. It's still awkward. Needs polishing.
5 years ago
Bret Curtis
5f0f2f0f16
rename to better reflect what is going on per AnyOldName3 comment; added none option
5 years ago
Bret Curtis
bf6daa7269
Merge pull request #2811 from Capostrophic/emitter
...
Allow particle emitters to be attached to an arbitrary node
5 years ago
Capostrophic
957d2a890f
Ignore empty children of osg::LOD and osg::Switch like in OSG
5 years ago
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
5 years ago
psi29a
bb5fe13e13
Make sure it is either one or the other with the default to bounding volumes.
5 years ago
Bret Curtis
d38c3e971c
remove extra line
5 years ago
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
5 years ago
Capostrophic
6b874e397b
Make particle system cloning map names more sensible
5 years ago
Capostrophic
f516178ec9
Fix particle processor cloning
...
Extend emitter handling comment in NIF loader
5 years ago
psi29a
476a74c2d3
Merge branch 'bzzt_5_tight_scene_bound' into 'master'
...
Allow use of OSG's Bounding Volumes
See merge request OpenMW/openmw!189
5 years ago
Bret Curtis
31a75a962a
Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy
5 years ago
Bret Curtis
ca0adc25bb
add two additional classes we do not need to serialize; less pam during `showscenegraph` debug dump.
5 years ago
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
5 years ago
bzzt
dc33eeadf1
tightscenebound is uncessary after water bbfix
5 years ago
elsid
c59c8ae1f4
Remove unused macro
5 years ago
Capostrophic
688e804548
Fix simple water with radial fog enabled
5 years ago
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
5 years ago
AnyOldName3
1cf2036386
Don't add empty PrimitiveSets (prevent undefined behaviour)
5 years ago
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.
5 years ago
Andrei Kortunov
02d7b13075
Merge pull request #2529 from akortunov/nodecopy
...
Copy transformations data when we clone node
5 years ago
Mads Buvik Sandvei
14bb0f0208
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
5 years ago
elsid
7ae7cb181d
Support recast mesh rendering
5 years ago
Andrei Kortunov
84979fa8b7
Move VisMask to components
5 years ago
Mads Buvik Sandvei
49e0c6f17b
Basic hand tracking.
5 years ago
bzzt
d340224c95
shadowsbin for gl state reduction
5 years ago
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
5 years ago
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
5 years ago
Andrei Kortunov
f09d20434c
Clamp number of shadow maps
5 years ago
Andrei Kortunov
7074baa1c2
Clamp number of shadow maps, as described in docs
5 years ago
bzzt
b6ed2f1718
Add optional shadow map max distance and fading
5 years ago
Andrei Kortunov
e568ad30ea
Copy transformations data when we clone node (bug #5163 )
5 years ago
Andrei Kortunov
d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
...
Add support for QuadraticMethod/LinearMethod setup (bug #4965 , continuation)
5 years ago
capostrophic
62fd2d47a5
Rewrite flickering/pulsing to work more like vanilla (bug #4952 )
5 years ago
capostrophic
c0d5cbdc8b
Add support for QuadraticMethod/LinearMethod setup (bug #4965 )
5 years ago
Andrei Kortunov
8557346fbd
Use glow for enchanted arrows (feature #5122 )
5 years ago
Capostrophic
6622e36226
Only merge pure osg::Groups in the optimizer
6 years ago
Alexei Dobrohotov
1444ef6f43
Merge pull request #2298 from akortunov/optimize
...
Do not allocate eight dummy LightStateAttribute's for every stateset
6 years ago
Capostrophic
05d94d35f9
Make disabled shadow defines map static
6 years ago
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
6 years ago
bzzt
1a65adacdd
Do not allocate dummy LightStateAttribute's for every stateset
6 years ago
Andrei Kortunov
b466bfee40
Enable light sources directly to avoid virtual calls
6 years ago
Andrei Kortunov
b2fca46206
Fix a couple of minor issues in shadows
6 years ago
Capostrophic
de572226e4
Update optimizer with upstream improvements
6 years ago
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
...
Do not allocate empty callbacks in the RigGeometry
6 years ago
bzzt
4ab93aeffe
Do not allocate empty callbacks in the RigGeometry
6 years ago
elsid
8e09468f45
Don't set display list usage for navmesh
6 years ago
elsid
4395a92c35
Use display list to render navmesh
...
Slightly improves performance of massive navmesh rendering.
6 years ago
Andrei Kortunov
bacaa1f789
Get rid of C-style limits in the shadows code
6 years ago
Bret Curtis
551563cbfb
Merge branch 'clsb-warning' into 'master'
...
Hopefully fix Clang warning about hiding overloaded virtual functions
See merge request OpenMW/openmw!82
6 years ago
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
...
This class is also defined in OpenSceneGraph at global namespace.
6 years ago
AnyOldName3
d34724a3c4
Hopefully fix Clang warning about hiding overloaded virtual functions
6 years ago
Grigory Latyshev
3872d7476b
Move makeOsgVec3f() to settingsutils.hpp
...
Remove all other makeOsgVec3f() implementations
6 years ago
bzzt
8c649f05e6
Don't reallocate light list vector unnecessarily
6 years ago
bzzt
a567111400
Use emplace instead of find-assign
6 years ago
Andrei Kortunov
3032b177a1
Remove redundant includes
6 years ago
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
...
Shadows
6 years ago
AnyOldName3
0c8ad0a3bb
Double buffer debug HUD frustum geometries to prevent race conditions.
6 years ago
Bret Curtis
f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
...
Native glowing windows support
6 years ago
Andrei Kortunov
60c9806d62
Share RigGeometry node data
6 years ago
Andrei Kortunov
9e4a339ad3
Daytime node switch support (feature #4836 )
6 years ago
AnyOldName3
15547750ba
Correct behaviour of use front face culling setting to not use back face culling either when disabled.
6 years ago
AnyOldName3
cfe921fb82
Remove uneeded includes.
6 years ago
AnyOldName3
2761a38562
Prettify shadow define map setup.
6 years ago
AnyOldName3
57e10e26b2
Make variable name less confusing
6 years ago
AnyOldName3
a24b8ec3d2
Fix enable/disable mixup.
6 years ago
AnyOldName3
556c9a3382
Add normal-offset shadow mapping to remove shadow acne (flicker)
6 years ago
Andrei Kortunov
03b71d3c30
Improve switchable nodes handling by optimizer
6 years ago
AnyOldName3
8482236a82
Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm
6 years ago
AnyOldName3
d82c85913a
Don't bother multiplying a matrix by its inverse and applying that to the light direction.
...
Hopefully this will improve numerical stability and reduce shadow flicker a little.
6 years ago
AnyOldName3
4438ab4493
Use CullVisitor traversal mask for light manager.
6 years ago
Andrei Kortunov
2c38e337ae
Support NiSwitchNode (feature #4812 )
6 years ago
Andrei Kortunov
8e6fd348d1
RigGeometry optimization: optimize geometry optimization
6 years ago
Andrei Kortunov
254f01b89d
RigGeometry optimization: vector iteration is more cheap than map iteration
6 years ago
Ilya Zhuravlev
07e9ce84b3
Replace volatile bools with std::atomic<bool>
6 years ago
AnyOldName3
199e6ed82d
Revert "Use forward declaration to reduce build times."
...
This reverts commit 305b9826df
.
6 years ago
AnyOldName3
305b9826df
Use forward declaration to reduce build times.
6 years ago
AnyOldName3
7b108ae9a2
Disable depth sorting for translucent objects in the shadow maps
6 years ago
AnyOldName3
53188f61fc
Fix animation bug with VAOs
6 years ago
Bret Curtis
fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO"
6 years ago
AnyOldName3
2d5da1a6fa
Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal.
6 years ago