machine.html
changeset 36 a828c4cde5b3
parent 33 2af408534f28
child 37 97af0c060479
     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>