|
@@ -78,22 +78,9 @@
|
|
|
scene = new THREE.Scene();
|
|
|
sceneCube = new THREE.Scene();
|
|
|
|
|
|
- var geometry = new THREE.Geometry();
|
|
|
- var sphere = new THREE.Mesh( new Sphere( 100, 32, 16 ) );
|
|
|
-
|
|
|
- for ( var i = 0; i < 200; i ++ ) {
|
|
|
-
|
|
|
- sphere.position.x = Math.random() * 10000 - 5000;
|
|
|
- sphere.position.y = Math.random() * 10000 - 5000;
|
|
|
- sphere.position.z = Math.random() * 10000 - 5000;
|
|
|
- sphere.scale.x = sphere.scale.y = sphere.scale.z = Math.random() * 4 + 1;
|
|
|
-
|
|
|
- // Merging spheres in a single geometry
|
|
|
- GeometryUtils.merge( geometry, sphere );
|
|
|
-
|
|
|
- }
|
|
|
+ var geometry = new Sphere( 100, 32, 16 );
|
|
|
geometry.sortFacesByMaterial();
|
|
|
-
|
|
|
+
|
|
|
var path = "textures/cube/Park2/";
|
|
|
var format = '.jpg';
|
|
|
var urls = [
|
|
@@ -105,21 +92,27 @@
|
|
|
|
|
|
var images = ImageUtils.loadArray( urls );
|
|
|
var textureCube = new THREE.TextureCube( images );
|
|
|
-
|
|
|
+
|
|
|
var fragment_shader = ShaderUtils.lib["fresnel"].fragment_shader;
|
|
|
var vertex_shader = ShaderUtils.lib["fresnel"].vertex_shader;
|
|
|
var uniforms = ShaderUtils.lib["fresnel"].uniforms;
|
|
|
-
|
|
|
+
|
|
|
uniforms["tCube"][2] = textureCube;
|
|
|
-
|
|
|
+
|
|
|
var material = new THREE.MeshShaderMaterial( { fragment_shader: fragment_shader,
|
|
|
vertex_shader: vertex_shader,
|
|
|
uniforms: uniforms
|
|
|
} );
|
|
|
|
|
|
- var mesh = new THREE.Mesh( geometry, material );
|
|
|
- mesh.position.x = 100;
|
|
|
- scene.addObject( mesh );
|
|
|
+ for ( var i = 0; i < 200; i ++ ) {
|
|
|
+
|
|
|
+ var mesh = new THREE.Mesh( geometry, material );
|
|
|
+ mesh.position.x = Math.random() * 10000 - 5000;
|
|
|
+ mesh.position.y = Math.random() * 10000 - 5000;
|
|
|
+ mesh.position.z = Math.random() * 10000 - 5000;
|
|
|
+ mesh.scale.x = mesh.scale.y = mesh.scale.z = Math.random() * 4 + 1;
|
|
|
+ scene.addObject( mesh );
|
|
|
+ }
|
|
|
|
|
|
SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, textureCube );
|
|
|
|