From 84c262d6c653a11682e788c560feea6211a138df Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Wed, 1 Dec 2010 14:10:51 +0000 Subject: [PATCH] Adding support for ReflectionMapping (Spherical) to CanvasRenderer. Not done yet... --- examples/canvasrenderer_sandbox.html | 3 ++- src/renderers/CanvasRenderer.js | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/examples/canvasrenderer_sandbox.html b/examples/canvasrenderer_sandbox.html index aa73e6aec3..3f8d6fb2db 100644 --- a/examples/canvasrenderer_sandbox.html +++ b/examples/canvasrenderer_sandbox.html @@ -60,6 +60,7 @@ + @@ -132,7 +133,7 @@ objects = []; geometry = new Sphere( 100, 16, 8 ); - material = new THREE.MeshLambertMaterial( { color: 0xffffff, opacity: 1/*, shading: THREE.FlatShading*/ } ); + material = new THREE.MeshBasicMaterial( { env_map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg', THREE.ReflectionMapping ) } ); for ( var i = 0; i < 10; i ++ ) { diff --git a/src/renderers/CanvasRenderer.js b/src/renderers/CanvasRenderer.js index 03e4c8acdf..a7782d71fc 100644 --- a/src/renderers/CanvasRenderer.js +++ b/src/renderers/CanvasRenderer.js @@ -461,7 +461,7 @@ THREE.CanvasRenderer = function () { if ( material instanceof THREE.MeshBasicMaterial ) { - if ( material.map ) { + if ( material.map && material.map.loaded ) { texturePath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, material.map.image, element.uvs[ 0 ].u, element.uvs[ 0 ].v, element.uvs[ 1 ].u, element.uvs[ 1 ].v, element.uvs[ 2 ].u, element.uvs[ 2 ].v ); @@ -476,12 +476,11 @@ THREE.CanvasRenderer = function () { } - /* - if ( material.env_map ) { + if ( material.env_map && material.env_map.loaded ) { if ( material.env_map.mapping == THREE.ReflectionMapping ) { - + texturePath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, material.env_map.image, element.vertexNormalsWorld[ 0 ].x * 0.5 + 0.5, element.vertexNormalsWorld[ 0 ].y * 0.5 + 0.5, element.vertexNormalsWorld[ 1 ].x * 0.5 + 0.5, element.vertexNormalsWorld[ 1 ].y * 0.5 + 0.5, element.vertexNormalsWorld[ 2 ].x * 0.5 + 0.5, element.vertexNormalsWorld[ 2 ].y * 0.5 + 0.5 ); } else if ( material.env_map.mapping == THREE.RefractionMapping ) { @@ -490,7 +489,6 @@ THREE.CanvasRenderer = function () { } } - */ } else if ( material instanceof THREE.MeshLambertMaterial ) { -- GitLab