diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-15 11:07:00 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-16 07:53:05 +0300 |
commit | 6501768a433ec422263470b1a5c4bf8f6d6746b4 (patch) | |
tree | 6687572089277a4ad7282eef933d77b6ae35a383 /src/engine/shaders/fragmentShadow | |
parent | 547cbfd201056b88ab40d22959112e5486d0fd7a (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/fragmentShadow | 4 |
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 |