diff options
Diffstat (limited to 'src/extras/shaders/gl3/diffusemap.frag')
-rw-r--r-- | src/extras/shaders/gl3/diffusemap.frag | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/extras/shaders/gl3/diffusemap.frag b/src/extras/shaders/gl3/diffusemap.frag new file mode 100644 index 000000000..7810fdb68 --- /dev/null +++ b/src/extras/shaders/gl3/diffusemap.frag @@ -0,0 +1,27 @@ +#version 150 core + +uniform vec3 ka; // Ambient reflectivity +uniform vec3 ks; // Specular reflectivity +uniform float shininess; // Specular shininess factor + +uniform vec3 eyePosition; + +uniform sampler2D diffuseTexture; + +in vec3 worldPosition; +in vec3 worldNormal; +in vec2 texCoord; + +out vec4 fragColor; + +#pragma include light.inc.frag + +void main() +{ + vec3 diffuseTextureColor = texture( diffuseTexture, texCoord ).rgb; + + vec3 diffuseColor, specularColor; + adsModel(worldPosition, worldNormal, eyePosition, shininess, diffuseColor, specularColor); + + fragColor = vec4( diffuseTextureColor * ( ka + diffuseColor ) + ks * specularColor, 1.0 ); +} |