| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
| |
* 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
|
|
|
| |
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
|
| |
|
|
|
|
|
|
| |
Remove use of magic constants.
Apply cameraOffset
Calculate distance projected on SM plane
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes shadows of animated sprite entities
|
| |
|
|
|
|
|
| |
Pass correct natural & artificial light to the shaders
Use natural/artificial light ratio for correct rendering of shadows
|
|
|
|
| |
Add compatibility with colored shadows.
|
| |
|
|
|
|
| |
To avoid underfined behavior of GLSL pow()
|
| |
|
|
|
|
|
|
|
|
|
| |
Fragment color for nodes is now calculated from:
* Texture color, highlighted by artificial light if present (light color conveyed via vertex color).
* Texture color highlighted by natural light (conveyed via vertex color) filtered by shadow.
* Reflected day/moonlight filtered by shadow (color and intensity), assuming some portion of the light is directly reflected from the materials.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Node faces with normals pointing East/West (+X/-X) will transition between light
and shadow at noon. This code makes the transition smooth.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
| |
Co-authored-by: x2048 <codeforsmile@gmail.com>
|
| |
|
|
|
| |
Somewhen in the past, inTexCoord0 was a vec2. Now, it is a vec4.
|
| |
|
|
|
| |
Shader generation is a mess. This commit cleans some parts up, including dropping remains of HLSL support which was never actually implemented.
|
|
|
|
|
| |
This only works when shaders are enabled.
The centroid varying avoids that the textures (which repeat themselves out of bounds) are sampled out of bounds in MSAA.
If MSAA (called FSAA in minetest) is disabled, the centroid keyword does nothing.
|
|
|
|
| |
IrrLicht built-in shader is broken, have to write my own
|
|
|
|
|
| |
Shader support for OpenGL ES 2 devices (Android)
Co-authored-by: sfan5 <sfan5@live.de>
|
| |
|
|
|
|
|
| |
Erase all traces of normal "generation" from fragment shaders
Remove the "feature" from the engine and default config
Remove any leftover documentation of it
|
|
|
| |
Workaround for the missing GL_ALPHA_TEST implementation in Mesa (etnaviv driver).
|
| |
|
|
|
| |
Fixes a regression that appeared in 5.3.0-dev.
|
| |
|
| |
|
|
|
| |
fixes #9301
|
|
|
| |
fixes #9481
|
| |
|
| |
|
| |
|
|
|
|
|
| |
1. Pass current camera offset to shader, so shader have access to the global coordinates
2. Pass animation timer to fragment shader. C++ code is already there, just wasn't declared in the shader
3. Delay animation timer wrap-around (from 100s to about 16 minutes)
|
|
|
|
|
|
|
|
| |
Makes the liquid waving shader per-nodedef like waving leaves/plants,
instead of being applied to all liquids.
Like the waving leaves/plants shaders, the liquid waving shader can
also be applied to meshes and nodeboxes.
Derived from a PR by t0ny2.
|
|
|
| |
Fixed comment as finalColorBlend() does not exist in the code base.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Clean draw_*() arguments
* Split rendering core
* Add anaglyph 3D
* Interlaced 3D
* Drop obsolete methods
|
|
|
|
|
|
|
|
|
|
| |
Also remove hardcoded MTGame node.
The 'water surface shader' was duplicated shader code in preparation for
intended new water surface shaders. For development purposes the MTGame node
'default:water_source' had it's top tile assigned to 'water surface shader'.
Due to shader duplication this commit does not cause any change to shader
behaviour.
|
| |
|