summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-27 13:10:44 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-27 13:13:58 +0200
commitb368e57e59351736f9ad06834a743a7c1b49d368 (patch)
tree3b7d42569905d8cde0ca7571cd664428354a50dd /src/datavisualization/engine/shaders/surfaceShadowNoTex.frag
parenteb3d0514ca886db33776522ea00f27b69bc86ad1 (diff)
parent05d06fbc61f07e400b519a9b020c2473398627c1 (diff)
Merge branch 'develop'v1.0.0-beta1
Diffstat (limited to 'src/datavisualization/engine/shaders/surfaceShadowNoTex.frag')
-rw-r--r--src/datavisualization/engine/shaders/surfaceShadowNoTex.frag8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag
index 755be3f1..3427fbae 100644
--- a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag
+++ b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag
@@ -13,6 +13,7 @@ uniform highp vec3 lightPosition_wrld;
uniform highp float lightStrength;
uniform highp float ambientStrength;
uniform highp float shadowQuality;
+uniform highp vec3 lightColor;
highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216),
vec2(0.94558609, -0.76890725),
@@ -34,8 +35,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216),
void main() {
highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0);
highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz;
- highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor;
- highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0);
+ highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor;
+ highp vec3 materialSpecularColor = lightColor;
highp vec3 n = normalize(normal_cmr);
highp vec3 l = normalize(lightDirection_cmr);
@@ -60,9 +61,10 @@ void main() {
}
gl_FragColor.rgb =
- visibility * (materialAmbientColor +
+ (materialAmbientColor +
materialDiffuseColor * lightStrength * cosTheta +
materialSpecularColor * lightStrength * pow(cosAlpha, 10));
gl_FragColor.a = 1.0;
+ gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0);
}