From 77eed2ea8c0380ae5e21ce7126d4cf0415fa1582 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Sun, 3 Jul 2011 12:53:58 +0200 Subject: [PATCH] Removed most of SeceneUtils methods for simplicity reasons. Fixed examples that were using them. --- .../webgl_geometry_blenderexport_colors.html | 10 ++- examples/webgl_materials_cars.html | 29 +++++++- examples/webgl_materials_cars_anaglyph.html | 27 +++++++- examples/webgl_materials_cars_camaro.html | 5 +- ...webgl_materials_cars_camaro_crosseyed.html | 5 +- examples/webgl_materials_cubemap.html | 38 +++++++++-- ...gl_materials_cubemap_balls_reflection.html | 18 ++++- ...als_cubemap_balls_reflection_anaglyph.html | 18 ++++- ...gl_materials_cubemap_balls_refraction.html | 18 ++++- ...ls_cubemap_balls_refraction_crosseyed.html | 18 ++++- examples/webgl_materials_cubemap_escher.html | 18 ++++- .../webgl_materials_cubemap_refraction.html | 40 +++++++++-- examples/webgl_materials_normalmap.html | 11 ++- examples/webgl_materials_normalmap2.html | 5 +- examples/webgl_materials_shaders_fresnel.html | 18 ++++- examples/webgl_multiple_canvases_complex.html | 4 +- examples/webgl_multiple_canvases_grid.html | 2 +- examples/webgl_objconvert_test.html | 8 +-- src/extras/SceneUtils.js | 67 ------------------- src/renderers/WebGLRenderer.js | 6 +- 20 files changed, 260 insertions(+), 105 deletions(-) diff --git a/examples/webgl_geometry_blenderexport_colors.html b/examples/webgl_geometry_blenderexport_colors.html index 9bbd941d..f115edfc 100644 --- a/examples/webgl_geometry_blenderexport_colors.html +++ b/examples/webgl_geometry_blenderexport_colors.html @@ -97,7 +97,10 @@ var material = [ new THREE.MeshFaceMaterial(), new THREE.MeshLambertMaterial( { color: 0xffffff, opacity:0.9, shading:THREE.FlatShading, wireframe: true, wireframeLinewidth: 2 } ) ]; - mesh = THREE.SceneUtils.addMesh( scene, geometry, 250, 400, 0, 0, 0, 0, 0, material ); + mesh = new THREE.Mesh( geometry, material ); + mesh.position.x = 400; + mesh.scale.x = mesh.scale.y = mesh.scale.z = 250; + scene.addObject( mesh ); } @@ -107,7 +110,10 @@ var material = new THREE.MeshFaceMaterial(); - mesh2 = THREE.SceneUtils.addMesh( scene, geometry, 250, -400, 0, 0, 0, 0, 0, material ); + mesh2 = new THREE.Mesh( geometry, material ); + mesh2.position.x = - 400; + mesh2.scale.x = mesh2.scale.y = mesh2.scale.z = 250; + scene.addObject( mesh2 ); } diff --git a/examples/webgl_materials_cars.html b/examples/webgl_materials_cars.html index e03caf8a..c6528efb 100644 --- a/examples/webgl_materials_cars.html +++ b/examples/webgl_materials_cars.html @@ -196,7 +196,23 @@ pointLight.position.z = 10000; scene.addLight( pointLight ); - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); @@ -546,13 +562,20 @@ mi = CARS[ car ].init_material, bm = CARS[ car ].body_materials; - for( var i in CARS[ car ].mmap ) { + for ( var i in CARS[ car ].mmap ) { geometry.materials[ i ][ 0 ] = CARS[ car ].mmap[ i ]; } - CARS[ car ].object = THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, 0, r[0], r[1], r[2], m ); + var mesh = new THREE.Mesh( geometry, m ); + mesh.rotation.x = r[ 0 ]; + mesh.rotation.y = r[ 1 ]; + mesh.rotation.z = r[ 2 ]; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + CARS[ car ].object = mesh; CARS[ car ].buttons = createButtons( materials.body, car ); attachButtonMaterials( materials.body, geometry, bm, car ); diff --git a/examples/webgl_materials_cars_anaglyph.html b/examples/webgl_materials_cars_anaglyph.html index e7e9b4c0..66aa7d03 100644 --- a/examples/webgl_materials_cars_anaglyph.html +++ b/examples/webgl_materials_cars_anaglyph.html @@ -192,7 +192,23 @@ pointLight.position.z = 10000; scene.addLight( pointLight ); - THREE.SceneUtils.addPanoramaCubeWebGL( scene, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + scene.addObject( mesh ); + + // webglRenderer = new THREE.AnaglyphWebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); @@ -547,7 +563,14 @@ } - CARS[ car ].object = THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, 0, r[0], r[1], r[2], m ); + var mesh = new THREE.Mesh( geometry, m ); + mesh.rotation.x = r[ 0 ]; + mesh.rotation.y = r[ 1 ]; + mesh.rotation.z = r[ 2 ]; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + CARS[ car ].object = mesh; CARS[ car ].buttons = createButtons( materials.body, car ); attachButtonMaterials( materials.body, geometry, bm, car ); diff --git a/examples/webgl_materials_cars_camaro.html b/examples/webgl_materials_cars_camaro.html index 092f3644..fe2baa55 100644 --- a/examples/webgl_materials_cars_camaro.html +++ b/examples/webgl_materials_cars_camaro.html @@ -187,7 +187,10 @@ geometry.materials[ 7 ][ 0 ] = materials.black; // tireling geometry.materials[ 8 ][ 0 ] = materials.black; // behind grille - THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, 0, 0.0, 1.0, 0.0, m ); + var mesh = new THREE.Mesh( geometry, m ); + mesh.rotation.y = 1; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); createButtons( materials.body, geometry ); diff --git a/examples/webgl_materials_cars_camaro_crosseyed.html b/examples/webgl_materials_cars_camaro_crosseyed.html index 1e4422b0..0b1ed1d1 100644 --- a/examples/webgl_materials_cars_camaro_crosseyed.html +++ b/examples/webgl_materials_cars_camaro_crosseyed.html @@ -192,7 +192,10 @@ geometry.materials[ 7 ][ 0 ] = materials.black; // tireling geometry.materials[ 8 ][ 0 ] = materials.black; // behind grille - THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, 0, 0.0, 1.0, 0.0, m ); + var mesh = new THREE.Mesh( geometry, m ); + mesh.rotation.y = 1; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); createButtons( materials.body, geometry ); diff --git a/examples/webgl_materials_cubemap.html b/examples/webgl_materials_cubemap.html index 5c408c2f..5ec82254 100644 --- a/examples/webgl_materials_cubemap.html +++ b/examples/webgl_materials_cubemap.html @@ -112,12 +112,27 @@ var cubeMaterial2 = new THREE.MeshLambertMaterial( { color: 0xffee00, envMap: refractionCube, refractionRatio: 0.95 } ); var cubeMaterial1 = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: reflectionCube } ) - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 10, reflectionCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = reflectionCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 10, 10, 10, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); renderer.autoClear = false; - //renderer.setFaceCulling( 0 ); container.appendChild( renderer.domElement ); stats = new Stats(); @@ -137,9 +152,22 @@ var s = 15; - THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, -100, 0,0,0, m1 ); - THREE.SceneUtils.addMesh( scene, geometry, s, -900, 0, -100, 0,0,0, m2 ); - THREE.SceneUtils.addMesh( scene, geometry, s, 900, 0, -100, 0,0,0, m3 ); + var mesh = new THREE.Mesh( geometry, m1 ); + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + var mesh = new THREE.Mesh( geometry, m2 ); + mesh.position.x = - 900; + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + var mesh = new THREE.Mesh( geometry, m3 ); + mesh.position.x = 900; + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); loader.statusDomElement.style.display = "none"; diff --git a/examples/webgl_materials_cubemap_balls_reflection.html b/examples/webgl_materials_cubemap_balls_reflection.html index 809804be..593ee4fc 100644 --- a/examples/webgl_materials_cubemap_balls_reflection.html +++ b/examples/webgl_materials_cubemap_balls_reflection.html @@ -103,7 +103,23 @@ } - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_materials_cubemap_balls_reflection_anaglyph.html b/examples/webgl_materials_cubemap_balls_reflection_anaglyph.html index 67768849..70654537 100644 --- a/examples/webgl_materials_cubemap_balls_reflection_anaglyph.html +++ b/examples/webgl_materials_cubemap_balls_reflection_anaglyph.html @@ -99,7 +99,23 @@ } - THREE.SceneUtils.addPanoramaCubeWebGL( scene, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + scene.addObject( mesh ); + + // webglRenderer = new THREE.AnaglyphWebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_materials_cubemap_balls_refraction.html b/examples/webgl_materials_cubemap_balls_refraction.html index 08632833..21da2bbc 100644 --- a/examples/webgl_materials_cubemap_balls_refraction.html +++ b/examples/webgl_materials_cubemap_balls_refraction.html @@ -102,7 +102,23 @@ } - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_materials_cubemap_balls_refraction_crosseyed.html b/examples/webgl_materials_cubemap_balls_refraction_crosseyed.html index e82b2e4a..b462212c 100644 --- a/examples/webgl_materials_cubemap_balls_refraction_crosseyed.html +++ b/examples/webgl_materials_cubemap_balls_refraction_crosseyed.html @@ -101,7 +101,23 @@ } - THREE.SceneUtils.addPanoramaCubeWebGL( scene, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + scene.addObject( mesh ); + + // webglRenderer = new THREE.CrosseyedWebGLRenderer( { separation: 90 } ); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_materials_cubemap_escher.html b/examples/webgl_materials_cubemap_escher.html index 5011220e..49d57561 100644 --- a/examples/webgl_materials_cubemap_escher.html +++ b/examples/webgl_materials_cubemap_escher.html @@ -87,7 +87,23 @@ mesh.scale.x = mesh.scale.y = mesh.scale.z = 16; scene.addObject( mesh ); - THREE.SceneUtils.addPanoramaCubeWebGL( scene, 6000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 6000, 6000, 6000, 1, 1, 1, null, true ), material ); + scene.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_materials_cubemap_refraction.html b/examples/webgl_materials_cubemap_refraction.html index 706b2340..1401454b 100644 --- a/examples/webgl_materials_cubemap_refraction.html +++ b/examples/webgl_materials_cubemap_refraction.html @@ -88,6 +88,7 @@ scene.addLight( pointLight ); // light representation + sphere = new THREE.SphereGeometry( 100, 16, 8 ); lightMesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { color:0xffaa00 } ) ); lightMesh.position = pointLight.position; @@ -108,7 +109,23 @@ var cubeMaterial2 = new THREE.MeshBasicMaterial( { color: 0xccfffd, envMap: textureCube, refractionRatio: 0.985 } ); var cubeMaterial1 = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube, refractionRatio: 0.98 } ) - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer(); webglRenderer.setSize( window.innerWidth, window.innerHeight ); @@ -132,11 +149,24 @@ function createScene( geometry, m1, m2, m3 ) { - var s = 1.5, z = -1000; + var s = 1.5, z = - 1000; - THREE.SceneUtils.addMesh( scene, geometry, s, 0, 0, z, 0,0,0, m1 ); - THREE.SceneUtils.addMesh( scene, geometry, s, -900, 0, z, 0,0,0, m2 ); - THREE.SceneUtils.addMesh( scene, geometry, s, 900, 0, z, 0,0,0, m3 ); + var mesh = new THREE.Mesh( geometry, m1 ); + mesh.position.z = z; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + var mesh = new THREE.Mesh( geometry, m2 ); + mesh.position.x = - 900; + mesh.position.z = z; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); + + var mesh = new THREE.Mesh( geometry, m3 ); + mesh.position.x = 900; + mesh.position.z = z; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.addObject( mesh ); loader.statusDomElement.style.display = "none"; diff --git a/examples/webgl_materials_normalmap.html b/examples/webgl_materials_normalmap.html index cd6b32ff..f2cfdb90 100644 --- a/examples/webgl_materials_normalmap.html +++ b/examples/webgl_materials_normalmap.html @@ -190,8 +190,15 @@ geometry.computeTangents(); - mesh1 = THREE.SceneUtils.addMesh( scene, geometry, scale, -scale * 12, 0, 0, 0,0,0, material1 ); - mesh2 = THREE.SceneUtils.addMesh( scene, geometry, scale, scale * 12, 0, 0, 0,0,0, material2 ); + mesh1 = new THREE.Mesh( geometry, material1 ); + mesh1.position.x = - scale * 12; + mesh1.scale.x = mesh1.scale.y = mesh1.scale.z = scale; + scene.addObject( mesh1 ); + + mesh2 = new THREE.Mesh( geometry, material2 ); + mesh2.position.x = scale * 12; + mesh2.scale.x = mesh2.scale.y = mesh2.scale.z = scale; + scene.addObject( mesh2 ); loader.statusDomElement.style.display = "none"; diff --git a/examples/webgl_materials_normalmap2.html b/examples/webgl_materials_normalmap2.html index 47bec5c8..5efa6c9d 100644 --- a/examples/webgl_materials_normalmap2.html +++ b/examples/webgl_materials_normalmap2.html @@ -169,7 +169,10 @@ geometry.computeTangents(); - mesh1 = THREE.SceneUtils.addMesh( scene, geometry, scale, 0, - 50, 0, 0, 0, 0, material ); + mesh1 = new THREE.Mesh( geometry, material ); + mesh1.position.y = - 50; + mesh1.scale.x = mesh1.scale.y = mesh1.scale.z = scale; + scene.addObject( mesh1 ); loader.statusDomElement.style.display = "none"; diff --git a/examples/webgl_materials_shaders_fresnel.html b/examples/webgl_materials_shaders_fresnel.html index bcc060ec..d02ecd3d 100644 --- a/examples/webgl_materials_shaders_fresnel.html +++ b/examples/webgl_materials_shaders_fresnel.html @@ -115,7 +115,23 @@ scene.matrixAutoUpdate = false; - THREE.SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube ); + // Skybox + + var shader = THREE.ShaderUtils.lib["cube"]; + shader.uniforms["tCube"].texture = textureCube; + + var material = new THREE.MeshShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms + + } ), + + mesh = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material ); + sceneCube.addObject( mesh ); + + // webglRenderer = new THREE.WebGLRenderer( { antialias: false } ); webglRenderer.setSize( window.innerWidth, window.innerHeight ); diff --git a/examples/webgl_multiple_canvases_complex.html b/examples/webgl_multiple_canvases_complex.html index 9976c822..a2f03934 100755 --- a/examples/webgl_multiple_canvases_complex.html +++ b/examples/webgl_multiple_canvases_complex.html @@ -1,7 +1,7 @@ - three.js webgl - multiple-canvaes - complex + three.js webgl - multiple canvases - complex @@ -109,9 +109,7 @@ geometry = new THREE.PlaneGeometry( 100, 100, 15, 10 ); mesh = new THREE.Mesh( geometry, xm ); - mesh.position.x = 0; mesh.position.y = FLOOR; - mesh.position.z = 0; mesh.rotation.x = 1.57; mesh.scale.x = mesh.scale.y = mesh.scale.z = 10; mesh.doubleSided = true; @@ -123,7 +121,8 @@ var material_spheres = new THREE.MeshLambertMaterial( { color: 0xdddddd } ), sphere = new THREE.SphereGeometry( 100, 16, 8 ); - for ( var i=0; i<10; i++ ) { + for ( var i = 0; i < 10; i ++ ) { + mesh = new THREE.Mesh( sphere, material_spheres ); mesh.position.x = 500 * (Math.random() - 0.5); mesh.position.y = 300 * (Math.random() - 0) + FLOOR; @@ -132,6 +131,7 @@ mesh.overdraw = true; mesh.updateMatrix(); scene.addObject(mesh); + } diff --git a/src/extras/SceneUtils.js b/src/extras/SceneUtils.js index 05142232..2c61dc3d 100644 --- a/src/extras/SceneUtils.js +++ b/src/extras/SceneUtils.js @@ -4,73 +4,6 @@ THREE.SceneUtils = { - addMesh : function ( scene, geometry, scale, x, y, z, rx, ry, rz, material ) { - - var mesh = new THREE.Mesh( geometry, material ); - mesh.scale.x = mesh.scale.y = mesh.scale.z = scale; - mesh.position.x = x; - mesh.position.y = y; - mesh.position.z = z; - mesh.rotation.x = rx; - mesh.rotation.y = ry; - mesh.rotation.z = rz; - scene.addObject( mesh ); - - return mesh; - - }, - - addPanoramaCubeWebGL : function ( scene, size, textureCube ) { - - var shader = THREE.ShaderUtils.lib["cube"]; - shader.uniforms["tCube"].texture = textureCube; - - var material = new THREE.MeshShaderMaterial( { - - fragmentShader: shader.fragmentShader, - vertexShader: shader.vertexShader, - uniforms: shader.uniforms - - } ), - - mesh = new THREE.Mesh( new THREE.CubeGeometry( size, size, size, 1, 1, 1, null, true ), material ); - scene.addObject( mesh ); - - return mesh; - - }, - - addPanoramaCube : function( scene, size, images ) { - - var materials = [], mesh; - - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 0 ] ) } ) ); - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 1 ] ) } ) ); - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 2 ] ) } ) ); - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 3 ] ) } ) ); - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 4 ] ) } ) ); - materials.push( new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[ 5 ] ) } ) ); - - mesh = new THREE.Mesh( new THREE.Cube( size, size, size, 1, 1, materials, true ), new THREE.MeshFaceMaterial() ); - scene.addObject( mesh ); - - return mesh; - - }, - - addPanoramaCubePlanes : function ( scene, size, images ) { - - - var hsize = size / 2, plane = new THREE.Plane( size, size ), pi = Math.PI, pi2 = Math.PI / 2; - - THREE.SceneUtils.addMesh( scene, plane, 1, 0, 0, -hsize, 0, 0, 0, new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[5] ) } ) ); - THREE.SceneUtils.addMesh( scene, plane, 1, -hsize, 0, 0, 0, pi2, 0, new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[0] ) } ) ); - THREE.SceneUtils.addMesh( scene, plane, 1, hsize, 0, 0, 0, -pi2, 0, new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[1] ) } ) ); - THREE.SceneUtils.addMesh( scene, plane, 1, 0, hsize, 0, pi2, 0, pi, new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[2] ) } ) ); - THREE.SceneUtils.addMesh( scene, plane, 1, 0, -hsize, 0, -pi2, 0, pi, new THREE.MeshBasicMaterial( { map: new THREE.Texture( images[3] ) } ) ); - - }, - showHierarchy : function ( root, visible ) { THREE.SceneUtils.traverseHierarchy( root, function( node ) { node.visible = visible; } ); diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index f7dfa115..9e680e2b 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -32,9 +32,9 @@ THREE.WebGLRenderer = function ( parameters ) { _oldFlipSided = null, _oldBlending = null, _oldDepth = null, - _oldPolygonOffset = null; - _oldPolygonOffsetFactor = null; - _oldPolygonOffsetUnits = null; + _oldPolygonOffset = null, + _oldPolygonOffsetFactor = null, + _oldPolygonOffsetUnits = null, _cullEnabled = true, _viewportX = 0,