EXRLoader: skip unknown header attributes

上级 25bd000b
...@@ -1678,15 +1678,6 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade ...@@ -1678,15 +1678,6 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade
} }
function parsePreview( dataView, offset ) {
var width = parseUint32( dataView, offset );
var height = parseUint32( dataView, offset );
offset.value += 4 * width * height;
}
function parseInt32( dataView, offset ) { function parseInt32( dataView, offset ) {
var Int32 = dataView.getInt32( offset.value, true ); var Int32 = dataView.getInt32( offset.value, true );
...@@ -1994,13 +1985,9 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade ...@@ -1994,13 +1985,9 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade
return parseTimecode( dataView, offset ); return parseTimecode( dataView, offset );
} else if ( type === 'preview' ) {
return parsePreview( dataView, offset );
} else { } else {
throw 'Cannot parse value for unsupported type: ' + type; return undefined;
} }
...@@ -2035,12 +2022,21 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade ...@@ -2035,12 +2022,21 @@ THREE.EXRLoader.prototype = Object.assign( Object.create( THREE.DataTextureLoade
var attributeSize = parseUint32( bufferDataView, offset ); var attributeSize = parseUint32( bufferDataView, offset );
var attributeValue = parseValue( bufferDataView, buffer, offset, attributeType, attributeSize ); var attributeValue = parseValue( bufferDataView, buffer, offset, attributeType, attributeSize );
if ( attributeValue === undefined ) {
console.warn( `EXRLoader.parse: skipped unknown header attribute type \'${attributeType}\'.` );
offset.value += attributeSize;
} else {
EXRHeader[ attributeName ] = attributeValue; EXRHeader[ attributeName ] = attributeValue;
} }
} }
}
// offsets // offsets
var dataWindowHeight = EXRHeader.dataWindow.yMax + 1; var dataWindowHeight = EXRHeader.dataWindow.yMax + 1;
......
...@@ -1691,15 +1691,6 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype ...@@ -1691,15 +1691,6 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype
} }
function parsePreview( dataView, offset ) {
var width = parseUint32( dataView, offset );
var height = parseUint32( dataView, offset );
offset.value += 4 * width * height;
}
function parseInt32( dataView, offset ) { function parseInt32( dataView, offset ) {
var Int32 = dataView.getInt32( offset.value, true ); var Int32 = dataView.getInt32( offset.value, true );
...@@ -2007,13 +1998,9 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype ...@@ -2007,13 +1998,9 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype
return parseTimecode( dataView, offset ); return parseTimecode( dataView, offset );
} else if ( type === 'preview' ) {
return parsePreview( dataView, offset );
} else { } else {
throw 'Cannot parse value for unsupported type: ' + type; return undefined;
} }
...@@ -2048,12 +2035,21 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype ...@@ -2048,12 +2035,21 @@ EXRLoader.prototype = Object.assign( Object.create( DataTextureLoader.prototype
var attributeSize = parseUint32( bufferDataView, offset ); var attributeSize = parseUint32( bufferDataView, offset );
var attributeValue = parseValue( bufferDataView, buffer, offset, attributeType, attributeSize ); var attributeValue = parseValue( bufferDataView, buffer, offset, attributeType, attributeSize );
if ( attributeValue === undefined ) {
console.warn( `EXRLoader.parse: skipped unknown header attribute type \'${attributeType}\'.` );
offset.value += attributeSize;
} else {
EXRHeader[ attributeName ] = attributeValue; EXRHeader[ attributeName ] = attributeValue;
} }
} }
}
// offsets // offsets
var dataWindowHeight = EXRHeader.dataWindow.yMax + 1; var dataWindowHeight = EXRHeader.dataWindow.yMax + 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册