diff options
Diffstat (limited to 'src/extras/shaders/es2/diffusemap.frag')
-rw-r--r-- | src/extras/shaders/es2/diffusemap.frag | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/extras/shaders/es2/diffusemap.frag b/src/extras/shaders/es2/diffusemap.frag new file mode 100644 index 000000000..7d06d8e2c --- /dev/null +++ b/src/extras/shaders/es2/diffusemap.frag @@ -0,0 +1,25 @@ +#define FP highp + +uniform FP vec3 ka; // Ambient reflectivity +uniform FP vec3 ks; // Specular reflectivity +uniform FP float shininess; // Specular shininess factor + +uniform FP vec3 eyePosition; + +uniform sampler2D diffuseTexture; + +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 diffuseColor, specularColor; + adsModel(worldPosition, worldNormal, eyePosition, shininess, diffuseColor, specularColor); + + gl_FragColor = vec4( diffuseTextureColor * ( ka + diffuseColor ) + ks * specularColor, 1.0 ); +} |