EXRLoader: clean up

上级 343c6f1c
...@@ -769,7 +769,7 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade ...@@ -769,7 +769,7 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade
function uncompressRaw( info ) { function uncompressRaw( info ) {
return new DataView( info.array.buffer, info.offset.value, info.size ); // return new DataView( info.array.buffer, info.offset.value, info.size );
} }
...@@ -1206,38 +1206,45 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade ...@@ -1206,38 +1206,45 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade
// offsets // offsets
var dataWindowHeight = EXRHeader.dataWindow.yMax + 1; var dataWindowHeight = EXRHeader.dataWindow.yMax + 1;
var scanlineBlockSize = 1; // 1 for NO_COMPRESSION
var uncompress; var uncompress;
var scanlineBlockSize;
if ( EXRHeader.compression === 'NO_COMPRESSION' ) { switch ( EXRHeader.compression ) {
scanlineBlockSize = 1; case 'NO_COMPRESSION':
uncompress = uncompressRaw;
} else if ( EXRHeader.compression === 'RLE_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressRaw;
break;
scanlineBlockSize = 1; case 'RLE_COMPRESSION':
uncompress = uncompressRLE;
} else if ( EXRHeader.compression === 'ZIPS_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressRLE;
break;
scanlineBlockSize = 1; case 'ZIPS_COMPRESSION':
uncompress = uncompressZIP;
} else if ( EXRHeader.compression === 'ZIP_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressZIP;
break;
scanlineBlockSize = 16; case 'ZIP_COMPRESSION':
uncompress = uncompressZIP;
scanlineBlockSize = 16;
uncompress = uncompressZIP;
break;
} else if ( EXRHeader.compression === 'PIZ_COMPRESSION' ) { case 'PIZ_COMPRESSION':
scanlineBlockSize = 32; scanlineBlockSize = 32;
uncompress = uncompressPIZ; uncompress = uncompressPIZ;
break;
} else { default:
throw 'EXRLoader.parse: ' + EXRHeader.compression + ' is unsupported'; throw 'EXRLoader.parse: ' + EXRHeader.compression + ' is unsupported';
} }
......
...@@ -780,7 +780,7 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype ...@@ -780,7 +780,7 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype
function uncompressRaw( info ) { function uncompressRaw( info ) {
return new DataView( info.array.buffer, info.offset.value, info.size ); // return new DataView( info.array.buffer, info.offset.value, info.size );
} }
...@@ -1217,38 +1217,45 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype ...@@ -1217,38 +1217,45 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype
// offsets // offsets
var dataWindowHeight = EXRHeader.dataWindow.yMax + 1; var dataWindowHeight = EXRHeader.dataWindow.yMax + 1;
var scanlineBlockSize = 1; // 1 for NO_COMPRESSION
var uncompress; var uncompress;
var scanlineBlockSize;
if ( EXRHeader.compression === 'NO_COMPRESSION' ) { switch ( EXRHeader.compression ) {
scanlineBlockSize = 1; case 'NO_COMPRESSION':
uncompress = uncompressRaw;
} else if ( EXRHeader.compression === 'RLE_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressRaw;
break;
scanlineBlockSize = 1; case 'RLE_COMPRESSION':
uncompress = uncompressRLE;
} else if ( EXRHeader.compression === 'ZIPS_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressRLE;
break;
scanlineBlockSize = 1; case 'ZIPS_COMPRESSION':
uncompress = uncompressZIP;
} else if ( EXRHeader.compression === 'ZIP_COMPRESSION' ) { scanlineBlockSize = 1;
uncompress = uncompressZIP;
break;
scanlineBlockSize = 16; case 'ZIP_COMPRESSION':
uncompress = uncompressZIP;
scanlineBlockSize = 16;
uncompress = uncompressZIP;
break;
} else if ( EXRHeader.compression === 'PIZ_COMPRESSION' ) { case 'PIZ_COMPRESSION':
scanlineBlockSize = 32; scanlineBlockSize = 32;
uncompress = uncompressPIZ; uncompress = uncompressPIZ;
break;
} else { default:
throw 'EXRLoader.parse: ' + EXRHeader.compression + ' is unsupported'; throw 'EXRLoader.parse: ' + EXRHeader.compression + ' is unsupported';
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册