summaryrefslogtreecommitdiff
path: root/libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag')
-rw-r--r--libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag29
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag b/libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag
new file mode 100644
index 0000000..3850980
--- /dev/null
+++ b/libs/assimp/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/BoxTextured1.frag
@@ -0,0 +1,29 @@
+precision highp float;
+uniform sampler2D u_diffuse;
+uniform vec4 u_specular;
+uniform float u_shininess;
+uniform float u_transparency;
+varying vec3 v_position;
+varying vec3 v_normal;
+varying vec2 v_texcoord0;
+void main(void) {
+ vec3 normal = normalize(v_normal);
+ vec4 diffuse = texture2D(u_diffuse, v_texcoord0);
+ vec3 diffuseLight = vec3(0.0, 0.0, 0.0);
+ vec3 specular = u_specular.rgb;
+ vec3 specularLight = vec3(0.0, 0.0, 0.0);
+ vec3 ambient = diffuse.rgb;
+ vec3 viewDir = -normalize(v_position);
+ vec3 ambientLight = vec3(0.0, 0.0, 0.0);
+ ambientLight += vec3(0.2, 0.2, 0.2);
+ vec3 l = vec3(0.0, 0.0, 1.0);
+ diffuseLight += vec3(1.0, 1.0, 1.0) * max(dot(normal, l), 0.);
+ vec3 reflectDir = reflect(-l, normal);
+ float specularIntensity = max(0., pow(max(dot(reflectDir, viewDir), 0.), u_shininess));
+ specularLight += vec3(1.0, 1.0, 1.0) * specularIntensity;
+ vec3 color = vec3(0.0, 0.0, 0.0);
+ color += diffuse.rgb * diffuseLight;
+ color += specular * specularLight;
+ color += ambient * ambientLight;
+ gl_FragColor = vec4(color * diffuse.a * u_transparency, diffuse.a * u_transparency);
+}