Browse Source

ImageUtils.loadTexture doesn't create additional Images anymore. Fixes #3793.

Mr.doob 12 years ago
parent
commit
c4e1c30342
2 changed files with 7 additions and 5 deletions
  1. 5 5
      src/extras/ImageUtils.js
  2. 2 0
      src/loaders/ImageLoader.js

+ 5 - 5
src/extras/ImageUtils.js

@@ -9,20 +9,20 @@ THREE.ImageUtils = {
 
 	loadTexture: function ( url, mapping, onLoad, onError ) {
 
-		var image = new Image();
-		var texture = new THREE.Texture( image, mapping );
-
 		var loader = new THREE.ImageLoader();
 		loader.crossOrigin = this.crossOrigin;
-		loader.load( url, function ( image ) {
 
-			texture.image = image;
+		var texture = new THREE.Texture( undefined, mapping );
+
+		var image = loader.load( url, function () {
+
 			texture.needsUpdate = true;
 
 			if ( onLoad ) onLoad( texture );
 
 		} );
 
+		texture.image = image;
 		texture.sourceFile = url;
 
 		return texture;

+ 2 - 0
src/loaders/ImageLoader.js

@@ -54,6 +54,8 @@ THREE.ImageLoader.prototype = {
 
 		scope.manager.itemStart( url );
 
+		return image;
+
 	},
 
 	setCrossOrigin: function ( value ) {