Spaces:
Running
Running
import { | |
DataTextureLoader, | |
LinearFilter, | |
LinearMipmapLinearFilter | |
} from 'three'; | |
import UTIF from '../libs/utif.module.js'; | |
class TIFFLoader extends DataTextureLoader { | |
constructor( manager ) { | |
super( manager ); | |
} | |
parse( buffer ) { | |
const ifds = UTIF.decode( buffer ); | |
UTIF.decodeImage( buffer, ifds[ 0 ] ); | |
const rgba = UTIF.toRGBA8( ifds[ 0 ] ); | |
return { | |
width: ifds[ 0 ].width, | |
height: ifds[ 0 ].height, | |
data: rgba, | |
flipY: true, | |
magFilter: LinearFilter, | |
minFilter: LinearMipmapLinearFilter | |
}; | |
} | |
} | |
export { TIFFLoader }; | |