summaryrefslogtreecommitdiff
path: root/src/client/shader.cpp
diff options
context:
space:
mode:
authorx2048 <codeforsmile@gmail.com>2022-05-21 16:49:30 +0200
committerGitHub <noreply@github.com>2022-05-21 16:49:30 +0200
commitdc45b85a543b4c8ad72f69a554ecfe7f0a60c533 (patch)
tree348a20f17c19d8e886ca669e339a7f4875aa7778 /src/client/shader.cpp
parenta4ef62f5b215fe0f23e3e50672f1538854db4ed9 (diff)
downloadminetest-dc45b85a543b4c8ad72f69a554ecfe7f0a60c533.tar.gz
minetest-dc45b85a543b4c8ad72f69a554ecfe7f0a60c533.tar.bz2
minetest-dc45b85a543b4c8ad72f69a554ecfe7f0a60c533.zip
Improve shadow filters (#12195)
* 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
Diffstat (limited to 'src/client/shader.cpp')
-rw-r--r--src/client/shader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/client/shader.cpp b/src/client/shader.cpp
index bbb872761..009a4b3d7 100644
--- a/src/client/shader.cpp
+++ b/src/client/shader.cpp
@@ -771,6 +771,8 @@ ShaderInfo ShaderSource::generateShader(const std::string &name,
shaders_header << "#define SOFTSHADOWRADIUS " << shadow_soft_radius << "\n";
}
+ shaders_header << "#line 0\n"; // reset the line counter for meaningful diagnostics
+
std::string common_header = shaders_header.str();
std::string vertex_shader = m_sourcecache.getOrLoad(name, "opengl_vertex.glsl");