title: Three.js: The Surface is One-Sided
body: <p>This code (three.js):</p>
  
  <pre><code>&lt;script type="text/javascript"&gt;
  init();
  animate();
  
  // FUNCTIONS        
  function init() 
  {
  // SCENE
  scene = new THREE.Scene();
  // CAMERA
  var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
  var VIEW_ANGLE = 45, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;
  camera = new THREE.PerspectiveCamera( VIEW_ANGLE, ASPECT, NEAR, FAR);
  scene.add(camera);
  camera.position.set(0,150,400);
  camera.lookAt(scene.position);  
  // RENDERER
  renderer = new THREE.WebGLRenderer( {antialias:true} );
  renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
  container = document.createElement( 'div' );
  document.body.appendChild( container );
  container.appendChild( renderer.domElement );
  // EVENTS
  
  // CONTROLS
  controls = new THREE.TrackballControls( camera );
  // STATS
  stats = new Stats();
  stats.domElement.style.position = 'absolute';
  stats.domElement.style.bottom = '0px';
  stats.domElement.style.zIndex = 100;
  container.appendChild( stats.domElement );
  // LIGHT
  var light = new THREE.PointLight(0xffffff);
  light.position.set(0,250,0);
  scene.add(light);
  // FLOOR
  var floorTexture = new THREE.ImageUtils.loadTexture( 'https://localhost/geos/images/square.png' );
  floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; 
  floorTexture.repeat.set( 10, 10 );
  var floorMaterial = new THREE.MeshBasicMaterial( { map: floorTexture } );
  var floorGeometry = new THREE.PlaneGeometry(1000, 1000, 10, 10);
  var floor = new THREE.Mesh(floorGeometry, floorMaterial);
  floor.position.y = -0.5;
  floor.doubleSided = true;
  scene.add(floor);
  }
  
  function animate() 
  {
     requestAnimationFrame( animate );
     render();       
     update();
  }
  
  function update()
  {
  
  
     controls.update();
     stats.update();
  }
  
  function render() 
  {
    renderer.render( scene, camera );
  }
  
  &lt;/script&gt;
  </code></pre>
  
  <p>Render passes, all right, but when I try to look under the surface it disappears. But in an example of which is taken from the code works correctly. The only difference: in the example library r49, but I have a r55</p>