diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-09-04 07:43:10 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-09-04 08:03:24 +0300 |
commit | bc1771d0ea20eb3b42beccddbe852541e107ab65 (patch) | |
tree | adee9084784da38c28d88546036320a16cc2eb3f | |
parent | 58979c740aa4814692e6555840e2fe4d3913561b (diff) |
Fixed issues from Improve examples task
Task-number: QTRD-2239
+ white bars fixed
+ shaders improved; non-shadow is quite similar to shadow now
Change-Id: I868b6ab9fb65151f47638ec366af4f11938e7a22
Change-Id: I868b6ab9fb65151f47638ec366af4f11938e7a22
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r-- | src/datavis3d/engine/shaders/colorOnY.frag | 9 | ||||
-rw-r--r-- | src/datavis3d/engine/shaders/default.frag | 2 | ||||
-rw-r--r-- | src/datavis3d/engine/shaders/shadowNoTex.frag | 1 | ||||
-rw-r--r-- | src/datavis3d/engine/shaders/shadowNoTexColorOnY.frag | 4 |
4 files changed, 10 insertions, 6 deletions
diff --git a/src/datavis3d/engine/shaders/colorOnY.frag b/src/datavis3d/engine/shaders/colorOnY.frag index ee57e8e5..61a210c9 100644 --- a/src/datavis3d/engine/shaders/colorOnY.frag +++ b/src/datavis3d/engine/shaders/colorOnY.frag @@ -12,7 +12,8 @@ varying highp vec3 lightDirection_cmr; varying highp vec2 coords_mdl; void main() { - highp vec3 materialDiffuseColor = vec3(coords_mdl.y * color_mdl.x, coords_mdl.y * color_mdl.y, coords_mdl.y * color_mdl.z); + highp float heightMod = coords_mdl.y + (1.0 - ambientStrength); + highp vec3 materialDiffuseColor = heightMod * color_mdl; highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); @@ -27,7 +28,9 @@ void main() { gl_FragColor.rgb = materialAmbientColor + - materialDiffuseColor * lightStrength * (cosTheta * cosTheta) / (distance * distance) + - materialSpecularColor * lightStrength * pow(cosAlpha, 5) / (distance * distance); + materialDiffuseColor * lightStrength * (cosTheta * cosTheta) / distance + + materialSpecularColor * lightStrength * pow(cosAlpha, 5) / distance; + gl_FragColor.rgb = clamp(gl_FragColor.rgb, 0.0, 1.0); + gl_FragColor.a = 1.0; } diff --git a/src/datavis3d/engine/shaders/default.frag b/src/datavis3d/engine/shaders/default.frag index 5bf9c654..fba1ce4a 100644 --- a/src/datavis3d/engine/shaders/default.frag +++ b/src/datavis3d/engine/shaders/default.frag @@ -30,7 +30,7 @@ void main() { gl_FragColor.rgb = materialAmbientColor + materialDiffuseColor * lightStrength * pow(cosTheta, 2) / distance + - materialSpecularColor * lightStrength * pow(cosAlpha, 10) / distance; + materialSpecularColor * lightStrength * pow(cosAlpha, 5) / distance; gl_FragColor.a = 1.0; } diff --git a/src/datavis3d/engine/shaders/shadowNoTex.frag b/src/datavis3d/engine/shaders/shadowNoTex.frag index 9ee20864..0252ba49 100644 --- a/src/datavis3d/engine/shaders/shadowNoTex.frag +++ b/src/datavis3d/engine/shaders/shadowNoTex.frag @@ -7,7 +7,6 @@ uniform highp vec3 color_mdl; uniform highp sampler2DShadow shadowMap; varying highp vec4 shadowCoord; -varying highp vec2 UV; varying highp vec3 position_wrld; varying highp vec3 normal_cmr; varying highp vec3 eyeDirection_cmr; diff --git a/src/datavis3d/engine/shaders/shadowNoTexColorOnY.frag b/src/datavis3d/engine/shaders/shadowNoTexColorOnY.frag index 957d2b0b..515bf271 100644 --- a/src/datavis3d/engine/shaders/shadowNoTexColorOnY.frag +++ b/src/datavis3d/engine/shaders/shadowNoTexColorOnY.frag @@ -37,7 +37,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), }*/ void main() { - highp vec3 materialDiffuseColor = vec3(coords_mdl.y * color_mdl.x, coords_mdl.y * color_mdl.y, coords_mdl.y * color_mdl.z); + highp float heightMod = coords_mdl.y + (1.0 - ambientStrength); + highp vec3 materialDiffuseColor = heightMod * color_mdl; highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); @@ -76,5 +77,6 @@ void main() { visibility * (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); + gl_FragColor.rgb = clamp(gl_FragColor.rgb, 0.0, 1.0); gl_FragColor.a = 1.0; } |