Commit Graph

106 Commits

Author SHA1 Message Date
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
elsid 40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +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
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
bzzt d340224c95 shadowsbin for gl state reduction 2019-11-20 13:37:00 +00:00
bzzt b6ed2f1718 Add optional shadow map max distance and fading 2019-11-02 18:06:39 +03:00
Andrei Kortunov b2fca46206 Fix a couple of minor issues in shadows 2019-03-19 09:14:07 +04:00
Andrei Kortunov bacaa1f789 Get rid of C-style limits in the shadows code 2019-03-09 13:52:03 +04: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 0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 2019-02-19 18:13:03 +00:00
AnyOldName3 15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 2019-02-01 00:29:13 +00:00
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.
2019-01-24 23:07:38 +00:00
AnyOldName3 7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 2018-12-19 01:45:05 +00:00
AnyOldName3 2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 2018-12-08 20:39:41 +00:00
AnyOldName3 0a409c0ab8 Make shadow map front-face culling configurable 2018-12-01 00:26:43 +00:00
AnyOldName3 dd207d9e54 Make the shadow polygon offset parameters configurable 2018-11-30 00:55:54 +00:00
AnyOldName3 aa11832949 Resolve bugs with depth-clamped shadow maps 2018-11-29 01:17:58 +00:00
AnyOldName3 7ad4882f0c Fix debug hud frustum outline disappearence 2018-11-21 23:45:47 +00:00
AnyOldName3 061fa57335 Switch to better-performing data types for debug hud geometry 2018-11-21 22:38:50 +00:00
AnyOldName3 632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 2018-11-20 23:02:28 +00:00
AnyOldName3 660e423e99 Correct debug hud frustum colour 2018-11-20 23:01:04 +00:00
AnyOldName3 b0907f8929 Add todos in case they're left until after the shadow PR is merged 2018-10-18 16:01:36 +01:00
AnyOldName3 474770eca8 Switch shadow map rendering to a specialised, simplified shader. 2018-10-16 21:23:31 +01:00
AnyOldName3 db707a31ec Add clipping planes when allow shadow map overlap is enabled 2018-08-23 13:14:02 +01:00
AnyOldName3 15e820825f Fix another convex hull clipping issue and restore z-clipping 2018-08-21 14:00:29 +01:00
AnyOldName3 dd501f4132 Make ConvexHull::clip more resilient against large values. 2018-08-17 17:47:52 +01:00
AnyOldName3 987306feb9 Fix ConvexHull::extendTowardsNegativeZ 2018-08-16 23:48:19 +01:00
AnyOldName3 71778e2552 Disable convex hull clipping based on render leaf traverser results in the z direction. 2018-07-31 23:42:44 +01:00
AnyOldName3 02ab3b466a Use simplified convex hull clipping maths from the other function doing hte same thing 2018-07-31 23:30:15 +01:00
AnyOldName3 ed68db5ef9 Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were. 2018-06-19 23:48:59 +01:00
AnyOldName3 f5b144ef77 Improve bounds calculation for shadow casters outside of the viewing frustum 2018-06-12 17:04:56 +01:00
AnyOldName3 50fdd0be99 Resolve computed near plane issues with extremely high viewing distances. 2018-05-29 00:52:43 +01:00
AnyOldName3 2c30bc1b4f Accidentally fix the one remaing case where shadows look awful while refactoring some stuff. 2018-05-18 22:39:57 +01:00
AnyOldName3 9f0a49c303 Disable CSM when disabled in the settings. 2018-05-17 20:27:10 +01:00
AnyOldName3 5d05aadb37 Begin to let settings toggle between CSM and PSSM 2018-05-17 16:57:01 +01:00
AnyOldName3 1b30d47d7f Add a hacky temporary version of cascading shadow maps 2018-05-13 12:56:40 +01:00
AnyOldName3 166e7df778 Improve debug HUD frustum 2018-05-11 19:08:42 +01:00
AnyOldName3 4547151863 Add the view frustum to the debug HUD (in the most annoying way possible) 2018-05-05 00:08:00 +01:00
AnyOldName3 e885612bd7 Make a dynamic cast static 2018-03-03 02:05:46 +00:00
AnyOldName3 b553b58de5 Fix another compiler warning 2018-03-03 02:03:16 +00:00
AnyOldName3 fc41902798 Replace a dynamic cast with string comarison 2018-03-01 14:37:11 +00:00
AnyOldName3 882b63cba9 Make split point control parameters configurable with the new shadow technique. 2018-02-26 23:00:46 +00:00
AnyOldName3 e233dae1cd Hook up the new shadow technique 2018-02-26 22:27:09 +00:00
AnyOldName3 478367bef3 Ensure the debug HUD won't crash if settings are changed at runtime. 2018-02-26 20:50:54 +00:00
AnyOldName3 7b52091a82 Make the debug hud enableable 2018-02-26 20:36:43 +00:00
AnyOldName3 5d719e9d5f Add the debug HUD to the new shadow technique 2018-02-26 20:20:01 +00:00
AnyOldName3 76f23c28b1 Make shadows disableable. 2018-02-26 16:25:44 +00:00
AnyOldName3 0f1e770c53 Transfer changes to cull to new shadow technique 2018-02-26 15:51:22 +00:00
AnyOldName3 4c31b38f77 Move CLSB changes to new shadow technique 2018-02-26 14:58:12 +00:00
AnyOldName3 06b2ce6646 Fix alignment issues caused by renaming classes 2018-02-26 14:34:14 +00:00
AnyOldName3 ce02c83089 Copy debug shader source into new shadow technique 2018-02-26 14:27:47 +00:00
AnyOldName3 7bd4c5e4b3 Change class name 2018-02-24 00:57:58 +00:00
AnyOldName3 11e59d3c11 Move to the correct namespace. 2018-02-24 00:52:46 +00:00
AnyOldName3 324b398d29 Add a notice clarifying the source of the shadow technique files. 2018-02-24 00:15:54 +00:00
AnyOldName3 7467248555 Undo a modification from the upstream shadow technique which breaks compatibiltiy with OSG 3.4 2018-02-24 00:14:29 +00:00
AnyOldName3 273914aba8 Add osgShadow ViewDependentShadowMaps as they can be found in OSG's GitHub Repository 2018-02-24 00:13:05 +00:00