aboutsummaryrefslogtreecommitdiff
path: root/src/client/shadows
AgeCommit message (Collapse)Author
2022-07-09Release shadow mapping resources when not needed (#12497)x2048
2022-05-26Force-update shadows when the world is changed (#12364)x2048
2022-05-23Quantize light frustum calculations (#12357)x2048
* Quantize light frustum calculations Reduces shadow flicker * Fix function name to match conventions
2022-05-21Improve shadow filters (#12195)x2048
* Rewrite shadow filtering for the new distortion * Calculate penumbra radius using a single sample * Avoid peter-panning effect due to filtering of short shadows * Add adaptive filter quality for soft shadows * Avoid sharp shadows on surfaces without normals (e.g. plants) * Increase default and maximum soft shadow radius * Make line numbers in shader errors match the code
2022-04-30Deal with compiler warningssfan5
2022-04-14Implement shadow offsets for the new SM distortion function (#12191)x2048
* Move shadow position calculation to vertex shaders * Animate entire scene before rendering shadows to prevent lagging of shadows * Remove unnecessary use of PolygonOffsetFactor * Apply normal offset to both nodes and objects * Rename getPerspectiveFactor -> applyPerspectiveDistortion * Remove perspective distortion from fragment shaders
2022-04-07Adjust shadowmap distortion to use entire SM texture (#12166)x2048
2022-04-02Increase the ratio between shadow range and viewing rangeDmitry Kostenko
2022-03-31Limit shadow map to the viewing range (#12158)x2048
2022-03-31Tune shadow perspective distortion (#12146)x2048
* Pass perspective distortion parameters as uniforms * Set all perspective bias parameters via ShadowRenderer * Recalibrate perspective distortion and shadow range to render less shadow geometry with the same quality and observed shadow distance
2022-03-26Add API to control shadow intensity from the game/mod (#11944)x2048
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
2022-03-07Correct normal bias for entitiesDmitry Kostenko
Remove use of magic constants. Apply cameraOffset Calculate distance projected on SM plane
2021-10-05Reduce shadow jitter (#11668)lhofhansl
2021-08-12Move updating shadows outside of RenderingCore::drawAll. (#11491)x2048
Fixes indirect rendering modes such as some 3D modes mentioned in #11437 and undersampled rendering. Does not fully fix anaglyph 3d mode.
2021-07-25Distribute shadow map update over multiple frames to reduce stutter (#11422)x2048
Reduces stutter and freezes when playing. * Maintains double SM and SM Color textures * Light frustum update triggers incremental generation of shadow map into secondary 'future' textures. * Every incremental update renders a portion of the shadow draw list (split equally). * After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen. Co-authored-by: sfan5 <sfan5@live.de>
2021-07-11Improve shadow rendering with non-default camera FOV (#11385)x2048
* Adjust minimum filter radius for perspective * Expand shadow frustum when camera FOV changes, reuse FOV distance adjustment from numeric.cpp * Read shadow_soft_radius setting as float * Use adaptive filter radius to accomodate for PSM distortion * Adjust filter radius for texture resolution
2021-06-06Shadow mapping render pass (#11244)Liso
Co-authored-by: x2048 <codeforsmile@gmail.com>