topical media & game development

talk show tell print

mobile-query-three-vendor-threex-THREEx.SkyMap.js / js



  var THREEx                = THREEx || {};
  
  THREEx.SkyMap        = {};
  
  THREEx.SkyMap.buildMesh        = function(urls, opts)
  {
          // get parameters
          opts                = opts || {}
          var cubeSize        = opts.cubeSize !== undefined ? opts.cubeSize        : 100000;
  
          // load the cube textures
          var texture        = THREE.ImageUtils.loadTextureCube( urls );
          
          // init the cube shadder
          var shader        = THREE.ShaderUtils.lib["cube"];
          var uniforms        = THREE.UniformsUtils.clone( shader.uniforms );
          uniforms['tCube'].texture= textureCube;
          var material = new THREE.MeshShaderMaterial({
                  fragmentShader        : shader.fragmentShader,
                  vertexShader        : shader.vertexShader,
                  uniforms        : uniforms
          });
  
          // build the geometry
          var geometry        = new THREE.CubeGeometry( cubeSize, cubeSize, cubeSize, 1, 1, 1, null, true );
  
          // build the skybox Mesh
          var mesh        = new THREE.Mesh( geometry, material );
          return mesh;
  }
  
  
Build the urls array for THREEx.SkyMap.buildMesh()

  
  THREEx.SkyMap.UrlsPosx        = function(prefix, extension)
  {
          return [
                  prefix + "posx" + extension,
                  prefix + "negx" + extension,
                  prefix + "posy" + extension,
                  prefix + "negy" + extension,
                  prefix + "posz" + extension,
                  prefix + "negz" + extension
          ];
          return urls;        
  }
  
  
Build the urls array for THREEx.SkyMap.buildMesh()

  
  THREEx.SkyMap.UrlsPx        = function(prefix, extension)
  {
          return [
                  prefix + "px" + extension,
                  prefix + "nx" + extension,
                  prefix + "py" + extension,
                  prefix + "ny" + extension,
                  prefix + "pz" + extension,
                  prefix + "nz" + extension
          ];
          return urls;        
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.