diff -r 7769f6e1e2c5 -r a828c4cde5b3 machine.html
--- a/machine.html Fri Apr 29 17:10:15 2011 +0200
+++ b/machine.html Sat Apr 30 04:05:47 2011 +0200
@@ -12,12 +12,16 @@
#endif
varying vec4 vColour;
+ varying vec2 vTextureCoord;
varying vec3 vTransformedNormal;
varying vec4 vPosition;
uniform float uMaterialShininess;
uniform bool uUseLighting;
+ uniform bool uUseTexture;
+
+ uniform sampler2D uSampler;
uniform vec3 uAmbientColour;
uniform vec3 uPointLightingLocation;
@@ -41,8 +45,16 @@
float diffuseLightWeighting = max(dot(normal, lightDirection), 0.0);
lightWeighting = uAmbientColour + uPointLightingSpecularColour * specularLightWeighting
+ uPointLightingDiffuseColour * diffuseLightWeighting;
- }
- gl_FragColor = vec4(vColour.rgb * lightWeighting, vColour.a);
+ }
+ if (uUseTexture)
+ {
+ vec4 colour = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));
+ gl_FragColor = vec4(colour.rgb * lightWeighting, colour.a);
+ }
+ else
+ {
+ gl_FragColor = vec4(vColour.rgb * lightWeighting, vColour.a);
+ }
}
@@ -50,12 +62,14 @@
attribute vec3 aVertexPosition;
attribute vec3 aVertexNormal;
attribute vec4 aVertexColour;
+ attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat3 uNMatrix;
varying vec4 vColour;
+ varying vec2 vTextureCoord;
varying vec3 vTransformedNormal;
varying vec4 vPosition;
@@ -64,6 +78,7 @@
vPosition = uMVMatrix * vec4(aVertexPosition, 1.0);
gl_Position = uPMatrix * vPosition;
vColour = aVertexColour;
+ vTextureCoord = aTextureCoord;
vTransformedNormal = uNMatrix * aVertexNormal;
}