@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
33 lines • 1.3 kB
JavaScript
import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader.js";
import { getParam } from "../engine_utils.js";
const debug = getParam("debugexr");
export class EXT_texture_exr {
get name() { return "EXT_texture_exr"; }
parser;
constructor(parser) {
this.parser = parser;
if (debug)
console.log(parser);
}
loadTexture(textureIndex) {
const name = this.name;
const parser = this.parser;
const json = parser.json;
const textureDef = json.textures[textureIndex];
if (debug)
console.log("EXT_texture_exr.loadTexture", textureIndex, textureDef);
if (!textureDef.extensions || !textureDef.extensions[name]) {
return null;
}
const extension = textureDef.extensions[name];
// TODO should the loader be cached here?
const loader = new EXRLoader(parser.options.manager);
if (debug)
console.log("EXT_texture_exr.loadTexture", extension);
const promise = parser.loadTextureImage(textureIndex, extension.source, loader);
return promise;
}
}
if (typeof window !== "undefined")
window.addEventListener('unhandledrejection', (_event) => { });
//# sourceMappingURL=EXT_texture_exr.js.map