 Is = vec4(0.0, 0.0, 0.0, 1.0);

        if (lambertTerm > 0.0) {
          Id = uLightDiffuse * uMaterialDiffuse * lambertTerm;
          vec3 E = normalize(vEyeVector);
          vec3 R = reflect(L, N);
          float specular = pow( max(dot(R, E), 0.0), uShininess);
          Is = uLightSpecular * uMaterialSpecular * specular;
        }

        fragColor = vec4(vec3(Ia + Id + Is), 1.0);
      }
    }
  </script>

  <script type="text/javascript">
    'use strict';

    let
      gl, scene, program, cam