summaryrefslogtreecommitdiffstats
path: root/src/engine/shaders/fragmentShadow
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-05-15 11:07:00 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-05-16 07:53:05 +0300
commit6501768a433ec422263470b1a5c4bf8f6d6746b4 (patch)
tree6687572089277a4ad7282eef933d77b6ae35a383 /src/engine/shaders/fragmentShadow
parent547cbfd201056b88ab40d22959112e5486d0fd7a (diff)
Shadows improved
Fixed bugs. Change-Id: I7dc704387eb12d5dfec4bfb90ba4824a64e5d3d9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/engine/shaders/fragmentShadow')
-rw-r--r--src/engine/shaders/fragmentShadow4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/engine/shaders/fragmentShadow b/src/engine/shaders/fragmentShadow
index 143da625..3a6ffc5a 100644
--- a/src/engine/shaders/fragmentShadow
+++ b/src/engine/shaders/fragmentShadow
@@ -3,6 +3,7 @@
uniform highp float lightStrength;
uniform highp float ambientStrength;
+uniform highp float shadowQuality;
uniform highp sampler2D textureSampler;
uniform highp sampler2DShadow shadowMap; // use with version 2
//uniform highp sampler2D shadowMap; // use with version 1
@@ -118,7 +119,8 @@ void main() {
highp float visibility = 0.2;
for (int i = 0; i < 15; i++) {
vec4 shadCoordsPD = shadCoords;
- shadCoordsPD.xy += poissonDisk[i] / 100.0;
+ shadCoordsPD.x += cos(poissonDisk[i].x) / shadowQuality;
+ shadCoordsPD.y += sin(poissonDisk[i].y) / shadowQuality;
visibility += 0.05 * shadow2DProj(shadowMap, shadCoordsPD).r;
}
// stratified poisson; produces noise but hides pixel edges well