diff options
Diffstat (limited to 'src/extras/shaders/es2/diffusespecularmap.frag')
-rw-r--r-- | src/extras/shaders/es2/diffusespecularmap.frag | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/extras/shaders/es2/diffusespecularmap.frag b/src/extras/shaders/es2/diffusespecularmap.frag new file mode 100644 index 000000000..4d776772c --- /dev/null +++ b/src/extras/shaders/es2/diffusespecularmap.frag @@ -0,0 +1,27 @@ +#define FP highp + +// TODO: Replace with a struct +uniform FP vec3 ka; // Ambient reflectivity +uniform FP float shininess; // Specular shininess factor + +uniform FP vec3 eyePosition; + +uniform sampler2D diffuseTexture; +uniform sampler2D specularTexture; + +varying FP vec3 worldPosition; +varying FP vec3 worldNormal; +varying FP vec2 texCoord; + +#pragma include light.inc.frag + +void main() +{ + FP vec3 diffuseTextureColor = texture2D( diffuseTexture, texCoord ).rgb; + FP vec3 specularTextureColor = texture2D( specularTexture, texCoord ).rgb; + + FP vec3 diffuseColor, specularColor; + adsModel(worldPosition, worldNormal, eyePosition, shininess, diffuseColor, specularColor); + + gl_FragColor = vec4( diffuseTextureColor * ( ka + diffuseColor ) + specularTextureColor * specularColor, 1.0 ); +} |