|
- #ifdef GL_ES
- precision highp float;
- #endif
-
- varying vec3 position;
- varying vec3 normal;
-
- const vec3 lightPosition = vec3(10, 20, 10);
-
- varying vec2 texCoord;
- uniform sampler2D image;
-
- float lambertianReflectanceStrength(vec3 position, vec3 lightPosition)
- {
- vec3 lightDirection = normalize(lightPosition - position);
- // Light flux direction.
- float strength = dot(normal, lightDirection);
- float diffuse = max(strength, 0.2);
-
- return diffuse;
- }
-
- void main()
- {
- vec3 texColor = texture2D(image, texCoord).rgb;
- vec3 finalColor = texColor * lambertianReflectanceStrength(position, lightPosition);
- gl_FragColor = vec4(finalColor, 1.0);
- }
|