|
@@ -355,16 +355,17 @@ THREE.EXRLoader.prototype._parser = function ( buffer ) {
|
|
lc -= 8;
|
|
lc -= 8;
|
|
|
|
|
|
var cs = ( c >> lc );
|
|
var cs = ( c >> lc );
|
|
|
|
+ var cs = new Uint8Array([cs])[0];
|
|
|
|
|
|
- if ( out + cs > oe ) {
|
|
|
|
|
|
+ if ( outBufferOffset.value + cs > outBufferEndOffset ) {
|
|
|
|
|
|
- throw 'Issue with getCode';
|
|
|
|
|
|
+ return false;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- var s = out[ - 1 ];
|
|
|
|
|
|
+ var s = outBuffer[ outBufferOffset.value - 1 ];
|
|
|
|
|
|
- while ( cs -- > 0 ) {
|
|
|
|
|
|
+ while ( cs-- > 0 ) {
|
|
|
|
|
|
outBuffer[ outBufferOffset.value ++ ] = s;
|
|
outBuffer[ outBufferOffset.value ++ ] = s;
|
|
|
|
|
|
@@ -376,7 +377,7 @@ THREE.EXRLoader.prototype._parser = function ( buffer ) {
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
- throw 'Issue with getCode';
|
|
|
|
|
|
+ return false;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1171,7 +1172,7 @@ THREE.EXRLoader.prototype._parser = function ( buffer ) {
|
|
width: width,
|
|
width: width,
|
|
height: height,
|
|
height: height,
|
|
data: byteArray,
|
|
data: byteArray,
|
|
- format: THREE.RGBFormat,
|
|
|
|
|
|
+ format: EXRHeader.channels.length == 4 ? THREE.RGBAFormat : THREE.RGBFormat,
|
|
type: THREE.FloatType
|
|
type: THREE.FloatType
|
|
};
|
|
};
|
|
|
|
|