Browse Source

Crappy/Temporal WebGLRenderer Reflection/Refraction Chromatic Dispersion hack. (Just for kicks)

Mr.doob 14 years ago
parent
commit
724870d5f1

+ 2 - 2
examples/materials_cubemap_balls_refraction.html

@@ -92,7 +92,7 @@
 
 
 					// Merging spheres in a single geometry
 					// Merging spheres in a single geometry
 					GeometryUtils.merge( geometry, sphere );
 					GeometryUtils.merge( geometry, sphere );
-                    
+
 				}
 				}
 
 
 				var path = "textures/cube/skybox/";
 				var path = "textures/cube/skybox/";
@@ -105,7 +105,7 @@
 
 
 				var images = ImageUtils.loadArray( urls );
 				var images = ImageUtils.loadArray( urls );
 				var textureCube = new THREE.TextureCube( images, THREE.RefractionMap );
 				var textureCube = new THREE.TextureCube( images, THREE.RefractionMap );
-				var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube, refraction_ratio: 0.75 } );
+				var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube, refraction_ratio: 0.95 } );
 
 
 				var mesh = new THREE.Mesh( geometry, material );
 				var mesh = new THREE.Mesh( geometry, material );
 				mesh.position.x = 100;
 				mesh.position.x = 100;

+ 4 - 1
src/renderers/WebGLRenderer.js

@@ -868,7 +868,10 @@ THREE.WebGLRenderer = function ( scene ) {
 
 
 				"if ( enableCubeMap ) {",
 				"if ( enableCubeMap ) {",
 
 
-					"cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );",
+					// "cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );",
+					"cubeColor.r = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) ).r;",
+					"cubeColor.g = textureCube( tCube, vec3( -vReflect.x + 0.005, vReflect.yz ) ).g;",
+					"cubeColor.b = textureCube( tCube, vec3( -vReflect.x + 0.01, vReflect.yz ) ).b;",
 
 
 				"}",
 				"}",