diff options
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 |