5106b1ebe54f7b6529812c777f305cad8b83c5c36f358e92ed217b0f9f27057a.json 13 KB

1
  1. {"ast":null,"code":"import { Vector3 } from \"@babylonjs/core/Maths/math.vector.js\";\nimport { Color3 } from \"@babylonjs/core/Maths/math.color.js\";\nimport { DirectionalLight } from \"@babylonjs/core/Lights/directionalLight.js\";\nimport { PointLight } from \"@babylonjs/core/Lights/pointLight.js\";\nimport { SpotLight } from \"@babylonjs/core/Lights/spotLight.js\";\nimport { Light } from \"@babylonjs/core/Lights/light.js\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.js\";\nconst NAME = \"KHR_lights_punctual\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_lights {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n delete this._lights;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._lights = extension.lights;\n ArrayItem.Assign(this._lights);\n }\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n this._loader._allMaterialsDirtyRequired = true;\n return this._loader.loadNodeAsync(context, node, babylonMesh => {\n let babylonLight;\n const light = ArrayItem.Get(extensionContext, this._lights, extension.light);\n const name = light.name || babylonMesh.name;\n this._loader.babylonScene._blockEntityCollection = !!this._loader._assetContainer;\n switch (light.type) {\n case \"directional\" /* KHRLightsPunctual_LightType.DIRECTIONAL */:\n {\n const babylonDirectionalLight = new DirectionalLight(name, Vector3.Backward(), this._loader.babylonScene);\n babylonDirectionalLight.position.setAll(0);\n babylonLight = babylonDirectionalLight;\n break;\n }\n case \"point\" /* KHRLightsPunctual_LightType.POINT */:\n {\n babylonLight = new PointLight(name, Vector3.Zero(), this._loader.babylonScene);\n break;\n }\n case \"spot\" /* KHRLightsPunctual_LightType.SPOT */:\n {\n const babylonSpotLight = new SpotLight(name, Vector3.Zero(), Vector3.Backward(), 0, 1, this._loader.babylonScene);\n babylonSpotLight.angle = (light.spot && light.spot.outerConeAngle || Math.PI / 4) * 2;\n babylonSpotLight.innerAngle = (light.spot && light.spot.innerConeAngle || 0) * 2;\n babylonLight = babylonSpotLight;\n break;\n }\n default:\n {\n this._loader.babylonScene._blockEntityCollection = false;\n throw new Error(`${extensionContext}: Invalid light type (${light.type})`);\n }\n }\n babylonLight._parentContainer = this._loader._assetContainer;\n this._loader.babylonScene._blockEntityCollection = false;\n light._babylonLight = babylonLight;\n babylonLight.falloffType = Light.FALLOFF_GLTF;\n babylonLight.diffuse = light.color ? Color3.FromArray(light.color) : Color3.White();\n babylonLight.intensity = light.intensity == undefined ? 1 : light.intensity;\n babylonLight.range = light.range == undefined ? Number.MAX_VALUE : light.range;\n babylonLight.parent = babylonMesh;\n this._loader._babylonLights.push(babylonLight);\n GLTFLoader.AddPointerMetadata(babylonLight, extensionContext);\n assign(babylonMesh);\n });\n });\n }\n}\nGLTFLoader.RegisterExtension(NAME, loader => new KHR_lights(loader));","map":{"version":3,"names":["Vector3","Color3","DirectionalLight","PointLight","SpotLight","Light","GLTFLoader","ArrayItem","NAME","KHR_lights","constructor","loader","name","_loader","enabled","isExtensionUsed","dispose","_lights","onLoading","extensions","gltf","extension","lights","Assign","loadNodeAsync","context","node","assign","LoadExtensionAsync","extensionContext","_allMaterialsDirtyRequired","babylonMesh","babylonLight","light","Get","babylonScene","_blockEntityCollection","_assetContainer","type","babylonDirectionalLight","Backward","position","setAll","Zero","babylonSpotLight","angle","spot","outerConeAngle","Math","PI","innerAngle","innerConeAngle","Error","_parentContainer","_babylonLight","falloffType","FALLOFF_GLTF","diffuse","color","FromArray","White","intensity","undefined","range","Number","MAX_VALUE","parent","_babylonLights","push","AddPointerMetadata","RegisterExtension"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.js"],"sourcesContent":["import { Vector3 } from \"@babylonjs/core/Maths/math.vector.js\";\nimport { Color3 } from \"@babylonjs/core/Maths/math.color.js\";\nimport { DirectionalLight } from \"@babylonjs/core/Lights/directionalLight.js\";\nimport { PointLight } from \"@babylonjs/core/Lights/pointLight.js\";\nimport { SpotLight } from \"@babylonjs/core/Lights/spotLight.js\";\nimport { Light } from \"@babylonjs/core/Lights/light.js\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.js\";\nconst NAME = \"KHR_lights_punctual\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_lights {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n delete this._lights;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._lights = extension.lights;\n ArrayItem.Assign(this._lights);\n }\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n this._loader._allMaterialsDirtyRequired = true;\n return this._loader.loadNodeAsync(context, node, (babylonMesh) => {\n let babylonLight;\n const light = ArrayItem.Get(extensionContext, this._lights, extension.light);\n const name = light.name || babylonMesh.name;\n this._loader.babylonScene._blockEntityCollection = !!this._loader._assetContainer;\n switch (light.type) {\n case \"directional\" /* KHRLightsPunctual_LightType.DIRECTIONAL */: {\n const babylonDirectionalLight = new DirectionalLight(name, Vector3.Backward(), this._loader.babylonScene);\n babylonDirectionalLight.position.setAll(0);\n babylonLight = babylonDirectionalLight;\n break;\n }\n case \"point\" /* KHRLightsPunctual_LightType.POINT */: {\n babylonLight = new PointLight(name, Vector3.Zero(), this._loader.babylonScene);\n break;\n }\n case \"spot\" /* KHRLightsPunctual_LightType.SPOT */: {\n const babylonSpotLight = new SpotLight(name, Vector3.Zero(), Vector3.Backward(), 0, 1, this._loader.babylonScene);\n babylonSpotLight.angle = ((light.spot && light.spot.outerConeAngle) || Math.PI / 4) * 2;\n babylonSpotLight.innerAngle = ((light.spot && light.spot.innerConeAngle) || 0) * 2;\n babylonLight = babylonSpotLight;\n break;\n }\n default: {\n this._loader.babylonScene._blockEntityCollection = false;\n throw new Error(`${extensionContext}: Invalid light type (${light.type})`);\n }\n }\n babylonLight._parentContainer = this._loader._assetContainer;\n this._loader.babylonScene._blockEntityCollection = false;\n light._babylonLight = babylonLight;\n babylonLight.falloffType = Light.FALLOFF_GLTF;\n babylonLight.diffuse = light.color ? Color3.FromArray(light.color) : Color3.White();\n babylonLight.intensity = light.intensity == undefined ? 1 : light.intensity;\n babylonLight.range = light.range == undefined ? Number.MAX_VALUE : light.range;\n babylonLight.parent = babylonMesh;\n this._loader._babylonLights.push(babylonLight);\n GLTFLoader.AddPointerMetadata(babylonLight, extensionContext);\n assign(babylonMesh);\n });\n });\n }\n}\nGLTFLoader.RegisterExtension(NAME, (loader) => new KHR_lights(loader));\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}