three
Version:
JavaScript 3D library
27 lines (21 loc) • 1.11 kB
JavaScript
/**
* @author Ben Houston / http://clara.io / bhouston
* @author Prashant Sharma / spidersharma03
*/
THREE.Encodings = function() {
if( THREE.toHalf === undefined ) throw new Error("THREE.Encodings is required for HDRCubeMapLoader when loading half data.");
}
THREE.Encodings.RGBEByteToRGBFloat = function( sourceArray, sourceOffset, destArray, destOffset ) {
var e = sourceArray[sourceOffset+3];
var scale = Math.pow(2.0, e - 128.0) / 255.0;
destArray[destOffset+0] = sourceArray[sourceOffset+0] * scale;
destArray[destOffset+1] = sourceArray[sourceOffset+1] * scale;
destArray[destOffset+2] = sourceArray[sourceOffset+2] * scale;
}
THREE.Encodings.RGBEByteToRGBHalf = function( sourceArray, sourceOffset, destArray, destOffset ) {
var e = sourceArray[sourceOffset+3];
var scale = Math.pow(2.0, e - 128.0) / 255.0;
destArray[destOffset+0] = THREE.toHalf( sourceArray[sourceOffset+0] * scale );
destArray[destOffset+1] = THREE.toHalf( sourceArray[sourceOffset+1] * scale );
destArray[destOffset+2] = THREE.toHalf( sourceArray[sourceOffset+2] * scale );
}