|
@@ -49,14 +49,15 @@ UI.Texture = function ( mapping ) {
|
|
if ( file.type.match( 'image.*' ) ) {
|
|
if ( file.type.match( 'image.*' ) ) {
|
|
|
|
|
|
var reader = new FileReader();
|
|
var reader = new FileReader();
|
|
- reader.addEventListener( 'load', function ( event ) {
|
|
|
|
|
|
|
|
- var image = document.createElement( 'img' );
|
|
|
|
- image.addEventListener( 'load', function( event ) {
|
|
|
|
|
|
+ if ( file.type === 'image/targa' ) {
|
|
|
|
|
|
- var texture = new THREE.Texture( this, mapping );
|
|
|
|
|
|
+ reader.addEventListener( 'load', function ( event ) {
|
|
|
|
+
|
|
|
|
+ var canvas = new THREE.TGALoader().parse( event.target.result );
|
|
|
|
+
|
|
|
|
+ var texture = new THREE.CanvasTexture( canvas, mapping );
|
|
texture.sourceFile = file.name;
|
|
texture.sourceFile = file.name;
|
|
- texture.needsUpdate = true;
|
|
|
|
|
|
|
|
scope.setValue( texture );
|
|
scope.setValue( texture );
|
|
|
|
|
|
@@ -64,11 +65,32 @@ UI.Texture = function ( mapping ) {
|
|
|
|
|
|
}, false );
|
|
}, false );
|
|
|
|
|
|
- image.src = event.target.result;
|
|
|
|
|
|
+ reader.readAsArrayBuffer( file );
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ reader.addEventListener( 'load', function ( event ) {
|
|
|
|
+
|
|
|
|
+ var image = document.createElement( 'img' );
|
|
|
|
+ image.addEventListener( 'load', function( event ) {
|
|
|
|
+
|
|
|
|
+ var texture = new THREE.Texture( this, mapping );
|
|
|
|
+ texture.sourceFile = file.name;
|
|
|
|
+ texture.needsUpdate = true;
|
|
|
|
+
|
|
|
|
+ scope.setValue( texture );
|
|
|
|
|
|
- }, false );
|
|
|
|
|
|
+ if ( scope.onChangeCallback ) scope.onChangeCallback();
|
|
|
|
|
|
- reader.readAsDataURL( file );
|
|
|
|
|
|
+ }, false );
|
|
|
|
+
|
|
|
|
+ image.src = event.target.result;
|
|
|
|
+
|
|
|
|
+ }, false );
|
|
|
|
+
|
|
|
|
+ reader.readAsDataURL( file );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|