title: Three.js skybox rendering as red cube then disappearing?
body: <p>I'm using Three.js and trying to put in a skybox with my own shader. I can't seem to find the issue on my own and I'm not getting any console warnings or errors. </p>
  
  <p>I made the skybox small to see if it was even loading, when the page loads it flashes up red then disappears, if I enlarge the skybox it's all just white. </p>
  
  <p>My js:</p>
  
  <pre><code>// Cubemap
  var deception_pass = new THREE.CubeTextureLoader()
    .setPath( 'img/deception_pass/' )
    .load( [
    'deception_pass_ft.png', 'deception_pass_bk.png',
    'deception_pass_up.png', 'deception_pass_dn.png',
    'deception_pass_rt.png', 'deception_pass_lf.png'
    ] );
  
  var cubemap = { type: 't', value: deception_pass }
  
  // Skybox
  var skyboxUniforms = {
    cubemap : cubemap,
  };
  
  var skyboxMaterial = new THREE.ShaderMaterial({
      uniforms: skyboxUniforms,
  });
  
  var loader = new THREE.FileLoader();
     loader.load('glsl/skybox.vs.glsl', function(shader) {
       skyboxMaterial.vertexShader = shader
     });
     loader.load('glsl/skybox.fs.glsl', function(shader) {
       skyboxMaterial.fragmentShader = shader
     });
  
  var skyboxGeometry = new THREE.BoxGeometry(10, 10, 10);
  var skybox = new THREE.Mesh(skyboxGeometry, skyboxMaterial);
  scene.add(skybox)
  </code></pre>
  
  <p>Vertex shader:</p>
  
  <pre><code>uniform samplerCube cubemap;
  varying vec3 worldPos;
  
      void main() {
  
      worldPos = vec3(modelMatrix * vec4(position, 1.0));
  
      // Move position with camera
      gl_Position = projectionMatrix * viewMatrix * vec4(position + cameraPosition, 1.0);
  }
  </code></pre>
  
  <p>Fragment shader:</p>
  
  <pre><code>uniform samplerCube cubemap;
  varying vec3 worldPos;
  
  void main() {
  
      vec4 color = textureCube(cubemap, worldPos);
  
      gl_FragColor = color;
  }
  </code></pre>