title: Why do I need to define a precision value in webgl shaders?
body: <p>I'm trying to get <a href="http://aerotwist.com/tutorials/an-introduction-to-shaders-part-2/">this tutorial</a> to work but I ran into two issues, one of which is the following.</p>
  
  <p>When I run the code as is I get an error in the fragment shader saying: <code>THREE.WebGLShader: gl.getShaderInfoLog() ERROR: 0:2: '' : No precision specified for (float)</code>. So what I did was specifying a precision for every float/vector I define like so <code>varying highp vec3 vNormal</code>. This eliminates the error but I don't get why? I can't find any other example where precision values are added to variable declarations. Can anybody explain why this occurs? Does it have something to do with my Browser (Chrome 38)?</p>