1.1 --- a/machine.html Fri Apr 29 17:10:15 2011 +0200
1.2 +++ b/machine.html Sat Apr 30 04:05:47 2011 +0200
1.3 @@ -12,12 +12,16 @@
1.4 #endif
1.5
1.6 varying vec4 vColour;
1.7 + varying vec2 vTextureCoord;
1.8 varying vec3 vTransformedNormal;
1.9 varying vec4 vPosition;
1.10
1.11 uniform float uMaterialShininess;
1.12
1.13 uniform bool uUseLighting;
1.14 + uniform bool uUseTexture;
1.15 +
1.16 + uniform sampler2D uSampler;
1.17
1.18 uniform vec3 uAmbientColour;
1.19 uniform vec3 uPointLightingLocation;
1.20 @@ -41,8 +45,16 @@
1.21 float diffuseLightWeighting = max(dot(normal, lightDirection), 0.0);
1.22 lightWeighting = uAmbientColour + uPointLightingSpecularColour * specularLightWeighting
1.23 + uPointLightingDiffuseColour * diffuseLightWeighting;
1.24 - }
1.25 - gl_FragColor = vec4(vColour.rgb * lightWeighting, vColour.a);
1.26 + }
1.27 + if (uUseTexture)
1.28 + {
1.29 + vec4 colour = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));
1.30 + gl_FragColor = vec4(colour.rgb * lightWeighting, colour.a);
1.31 + }
1.32 + else
1.33 + {
1.34 + gl_FragColor = vec4(vColour.rgb * lightWeighting, vColour.a);
1.35 + }
1.36 }
1.37 </script>
1.38
1.39 @@ -50,12 +62,14 @@
1.40 attribute vec3 aVertexPosition;
1.41 attribute vec3 aVertexNormal;
1.42 attribute vec4 aVertexColour;
1.43 + attribute vec2 aTextureCoord;
1.44
1.45 uniform mat4 uMVMatrix;
1.46 uniform mat4 uPMatrix;
1.47 uniform mat3 uNMatrix;
1.48
1.49 varying vec4 vColour;
1.50 + varying vec2 vTextureCoord;
1.51 varying vec3 vTransformedNormal;
1.52 varying vec4 vPosition;
1.53
1.54 @@ -64,6 +78,7 @@
1.55 vPosition = uMVMatrix * vec4(aVertexPosition, 1.0);
1.56 gl_Position = uPMatrix * vPosition;
1.57 vColour = aVertexColour;
1.58 + vTextureCoord = aTextureCoord;
1.59 vTransformedNormal = uNMatrix * aVertexNormal;
1.60 }
1.61 </script>