summaryrefslogtreecommitdiffstats
path: root/src/extras/shaders/es2/normaldiffusemap.frag
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2017-08-02 16:31:06 +0200
committerKevin Ottens <kevin.ottens@kdab.com>2017-09-25 13:43:37 +0000
commitfb0c9421b1e172833f3ac2166b9a39bd83a8b6ef (patch)
tree598cdf643af1aa489529b2baeca4acc555eafbbf /src/extras/shaders/es2/normaldiffusemap.frag
parentbae599898a8a6c49df2e4141b7f3750efa40da50 (diff)
Wrap adsModel into phongFunction
This way the use is more similar to the one for metal/rough. Change-Id: I143df910f43e29ef622f24bd97a23c90a2c8ef68 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/shaders/es2/normaldiffusemap.frag')
-rw-r--r--src/extras/shaders/es2/normaldiffusemap.frag12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/extras/shaders/es2/normaldiffusemap.frag b/src/extras/shaders/es2/normaldiffusemap.frag
index e1f19b81a..19ca27de8 100644
--- a/src/extras/shaders/es2/normaldiffusemap.frag
+++ b/src/extras/shaders/es2/normaldiffusemap.frag
@@ -9,8 +9,8 @@ uniform sampler2D diffuseTexture;
uniform sampler2D normalTexture;
// TODO: Replace with a struct
-uniform FP vec3 ka; // Ambient reflectivity
-uniform FP vec3 ks; // Specular reflectivity
+uniform FP vec4 ka; // Ambient reflectivity
+uniform FP vec4 ks; // Specular reflectivity
uniform FP float shininess; // Specular shininess factor
uniform FP vec3 eyePosition;
@@ -28,11 +28,7 @@ void main()
FP mat3 invertTangentMatrix = transpose(tangentMatrix);
FP vec3 wNormal = normalize(invertTangentMatrix * tNormal);
+ FP vec3 worldView = normalize(eyePosition - worldPosition);
- // Calculate the lighting model, keeping the specular component separate
- FP vec3 diffuseColor, specularColor;
- adsModel(worldPosition, wNormal, eyePosition, shininess, diffuseColor, specularColor);
-
- // Combine spec with ambient+diffuse for final fragment color
- gl_FragColor = vec4( ka + diffuseTextureColor.rgb * diffuseColor + ks * specularColor, 1.0 );
+ gl_FragColor = phongFunction(ka, diffuseTextureColor, ks, shininess, worldPosition, worldView, wNormal);
}