@needle-tools/engine 3.2.5-alpha → 3.2.6-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/needle-engine.js +7125 -6981
  3. package/dist/needle-engine.min.js +277 -277
  4. package/dist/needle-engine.umd.cjs +275 -275
  5. package/lib/engine/api.d.ts +4 -1
  6. package/lib/engine/api.js +3 -1
  7. package/lib/engine/api.js.map +1 -1
  8. package/lib/engine/engine_context.d.ts +4 -2
  9. package/lib/engine/engine_context.js +5 -3
  10. package/lib/engine/engine_context.js.map +1 -1
  11. package/lib/engine/engine_element_loading.js +0 -1
  12. package/lib/engine/engine_element_loading.js.map +1 -1
  13. package/lib/engine/engine_mainloop_utils.js +4 -2
  14. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  15. package/lib/engine/engine_scenelighting.d.ts +68 -0
  16. package/lib/engine/{engine_rendererdata.js → engine_scenelighting.js} +102 -30
  17. package/lib/engine/engine_scenelighting.js.map +1 -0
  18. package/lib/engine/engine_serialization_core.d.ts +5 -8
  19. package/lib/engine/engine_serialization_core.js.map +1 -1
  20. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +3 -1
  21. package/lib/engine/extensions/NEEDLE_lighting_settings.js +32 -20
  22. package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
  23. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -3
  24. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  25. package/lib/engine/extensions/index.d.ts +5 -0
  26. package/lib/engine/extensions/index.js +6 -0
  27. package/lib/engine/extensions/index.js.map +1 -0
  28. package/lib/engine-components/Component.js +15 -3
  29. package/lib/engine-components/Component.js.map +1 -1
  30. package/lib/engine-components/Renderer.js +1 -1
  31. package/lib/engine-components/Renderer.js.map +1 -1
  32. package/lib/engine-components/SceneSwitcher.d.ts +2 -0
  33. package/lib/engine-components/SceneSwitcher.js +16 -4
  34. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  35. package/lib/engine-components/api.d.ts +1 -0
  36. package/lib/engine-components/api.js +1 -0
  37. package/lib/engine-components/api.js.map +1 -1
  38. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  39. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +1 -1
  40. package/lib/engine-components/postprocessing/VolumeParameter.js +7 -6
  41. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  42. package/lib/engine-components/webxr/index.d.ts +2 -0
  43. package/lib/engine-components/webxr/index.js +2 -0
  44. package/lib/engine-components/webxr/index.js.map +1 -1
  45. package/lib/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/src/engine/api.ts +4 -1
  48. package/src/engine/engine_context.ts +5 -3
  49. package/src/engine/engine_element_loading.ts +0 -1
  50. package/src/engine/engine_mainloop_utils.ts +4 -2
  51. package/src/engine/{engine_rendererdata.ts → engine_scenelighting.ts} +109 -36
  52. package/src/engine/engine_serialization_core.ts +7 -8
  53. package/src/engine/extensions/NEEDLE_lighting_settings.ts +40 -25
  54. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +3 -3
  55. package/src/engine/extensions/index.ts +5 -0
  56. package/src/engine-components/Component.ts +15 -3
  57. package/src/engine-components/Renderer.ts +1 -1
  58. package/src/engine-components/SceneSwitcher.ts +14 -4
  59. package/src/engine-components/api.ts +1 -0
  60. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  61. package/src/engine-components/postprocessing/VolumeParameter.ts +7 -6
  62. package/src/engine-components/webxr/index.ts +3 -1
  63. package/lib/engine/engine_rendererdata.d.ts +0 -49
  64. package/lib/engine/engine_rendererdata.js.map +0 -1
@@ -2,6 +2,7 @@ import { Vector4, EquirectangularReflectionMapping, sRGBEncoding, WebGLCubeRende
2
2
  import { LightProbeGenerator } from "three/examples/jsm/lights/LightProbeGenerator.js";
3
3
  import { createFlatTexture, createTrilightTexture } from "./engine_shaders";
4
4
  import { getParam } from "./engine_utils";
5
+ import { AssetReference } from "./engine_addressables";
5
6
  const debug = getParam("debugenvlight");
6
7
  export var AmbientMode;
7
8
  (function (AmbientMode) {
@@ -21,8 +22,8 @@ export class RendererData {
21
22
  this.context = context;
22
23
  this.context.pre_update_callbacks.push(this.preUpdate.bind(this));
23
24
  }
24
- _currentReflectionId;
25
- sceneLightSettings;
25
+ _currentLightSettingsId;
26
+ _sceneLightSettings;
26
27
  preUpdate() {
27
28
  const time = this.context.time;
28
29
  this._timevec4.x = time.time;
@@ -34,41 +35,102 @@ export class RendererData {
34
35
  get timeVec4() {
35
36
  return this._timevec4;
36
37
  }
38
+ /** the current environment intensity */
37
39
  get environmentIntensity() {
38
- if (!this.sceneLightSettings)
40
+ if (!this._sceneLightSettings)
39
41
  return 1;
40
- if (!this._currentReflectionId)
42
+ if (!this._currentLightSettingsId)
41
43
  return 1;
42
- const settings = this.sceneLightSettings.get(this._currentReflectionId);
44
+ const settings = this._sceneLightSettings.get(this._currentLightSettingsId);
43
45
  if (settings)
44
46
  return settings.ambientIntensity; // * Math.PI * .5;
45
47
  return 1;
46
48
  }
47
- registerSceneLightSettings(sceneLightSettings) {
49
+ /** Get all currently registered scene light settings */
50
+ get sceneLightSettings() { return this._sceneLightSettings?.values(); }
51
+ /** set the scene lighting from a specific scene. Will disable any previously enabled lighting settings */
52
+ enable(sourceId) {
53
+ if (sourceId instanceof AssetReference)
54
+ sourceId = sourceId.uri;
55
+ const settings = this._sceneLightSettings?.get(sourceId);
56
+ if (!settings) {
57
+ return false;
58
+ }
59
+ if (debug)
60
+ console.log("Enable scene light settings", sourceId, settings);
61
+ if (sourceId !== this._currentLightSettingsId && this._currentLightSettingsId) {
62
+ this.disable(this._currentLightSettingsId);
63
+ }
64
+ this._currentLightSettingsId = sourceId;
65
+ settings.enabled = true;
66
+ return true;
67
+ }
68
+ /** disable the lighting of a specific scene, will only have any effect if it is currently active */
69
+ disable(sourceId) {
70
+ if (sourceId instanceof AssetReference)
71
+ sourceId = sourceId.uri;
72
+ if (sourceId === null || sourceId === undefined)
73
+ return false;
74
+ const settings = this._sceneLightSettings?.get(sourceId);
75
+ if (!settings) {
76
+ return false;
77
+ }
78
+ if (debug)
79
+ console.log("Disable scene light settings", sourceId, settings);
80
+ settings.enabled = false;
81
+ return true;
82
+ }
83
+ /** Disables the currently active scene lighting (if any), returns the id of the previously active lighting */
84
+ disableCurrent() {
85
+ if (this._currentLightSettingsId) {
86
+ const prev = this._currentLightSettingsId;
87
+ this.disable(this._currentLightSettingsId);
88
+ return prev;
89
+ }
90
+ return null;
91
+ }
92
+ /** @internal */
93
+ internalRegisterSceneLightSettings(sceneLightSettings) {
48
94
  const sourceId = sceneLightSettings.sourceId;
49
95
  if (!sourceId) {
50
96
  console.error("Missing source id for scene light settings, can not register:", sceneLightSettings);
51
97
  return;
52
98
  }
53
99
  if (debug)
54
- console.log("Register lighting settings", sceneLightSettings?.sourceId, sceneLightSettings);
55
- if (!this.sceneLightSettings)
56
- this.sceneLightSettings = new Map();
57
- this.sceneLightSettings.set(sourceId, sceneLightSettings);
100
+ console.log("Register " + sceneLightSettings?.sourceId + " lighting", sceneLightSettings);
101
+ if (!this._sceneLightSettings)
102
+ this._sceneLightSettings = new Map();
103
+ this._sceneLightSettings.set(sourceId, sceneLightSettings);
58
104
  }
59
- registerReflection(sourceId, reflectionTexture) {
105
+ /** @internal */
106
+ internalUnregisterSceneLightSettings(sceneLightSettings) {
107
+ const sourceId = sceneLightSettings.sourceId;
108
+ if (!sourceId) {
109
+ console.error("Missing source id for scene light settings, can not unregister:", sceneLightSettings);
110
+ return;
111
+ }
112
+ if (debug)
113
+ console.log("Unregister " + sceneLightSettings?.sourceId + " lighting", sceneLightSettings);
114
+ if (!this._sceneLightSettings)
115
+ return;
116
+ this._sceneLightSettings.delete(sourceId);
117
+ }
118
+ /** @internal */
119
+ internalRegisterReflection(sourceId, reflectionTexture) {
60
120
  if (debug)
61
121
  console.log("Register reflection", sourceId, reflectionTexture);
62
122
  const h = new LightData(this.context, reflectionTexture, 1);
63
123
  this._lighting[sourceId] = h;
64
124
  }
65
- getReflection(sourceId) {
125
+ /** @internal */
126
+ internalGetReflection(sourceId) {
66
127
  return this._lighting[sourceId];
67
128
  }
68
- enableReflection(sourceId) {
69
- const previousId = this._currentReflectionId;
70
- this._currentReflectionId = sourceId;
71
- const settings = this.sceneLightSettings?.get(sourceId);
129
+ __currentReflectionId = null;
130
+ /** @internal */
131
+ internalEnableReflection(sourceId) {
132
+ this.__currentReflectionId = sourceId;
133
+ const settings = this._sceneLightSettings?.get(sourceId);
72
134
  if (debug) {
73
135
  console.log("Enable reflection", sourceId, settings ? AmbientMode[settings.ambientMode] : "Unknown ambient mode");
74
136
  }
@@ -76,10 +138,10 @@ export class RendererData {
76
138
  case AmbientMode.Skybox:
77
139
  case AmbientMode.Custom:
78
140
  // only set environment reflection when ambient mode is skybox or custom
79
- const existing = this.getReflection(sourceId);
141
+ const existing = this.internalGetReflection(sourceId);
80
142
  if (existing && existing.Source) {
81
143
  if (debug)
82
- console.log("Setting environment reflection", existing.Source);
144
+ console.log("Setting environment reflection", existing);
83
145
  const scene = this.context.scene;
84
146
  const tex = existing.Source;
85
147
  tex.encoding = sRGBEncoding;
@@ -119,13 +181,20 @@ export class RendererData {
119
181
  }
120
182
  }
121
183
  }
122
- disableReflection(sourceId) {
123
- if (sourceId && sourceId !== this._currentReflectionId)
184
+ /** @internal */
185
+ internalDisableReflection(sourceId) {
186
+ if (sourceId && sourceId !== this.__currentReflectionId) {
187
+ if (debug)
188
+ console.log("Not disabling reflection for", sourceId, "because it is not the current light settings id", this.__currentReflectionId);
124
189
  return;
190
+ }
191
+ if (debug)
192
+ console.log("Disable reflection", sourceId);
125
193
  const scene = this.context.scene;
126
194
  scene.environment = null;
127
195
  }
128
- async getSceneLightingData(sourceId) {
196
+ /** @internal */
197
+ async internalGetSceneLightingData(sourceId) {
129
198
  if (debug)
130
199
  console.log("GET SCENE LIGHT DATA", sourceId);
131
200
  // const existing = this.getReflection(sourceId);
@@ -139,7 +208,7 @@ export class RendererData {
139
208
  return this._waitPromise;
140
209
  this._waitPromise = new Promise((res, _rej) => {
141
210
  let interval = setInterval(async () => {
142
- const ex = this.getReflection(sourceId);
211
+ const ex = this.internalGetReflection(sourceId);
143
212
  if (ex) {
144
213
  clearInterval(interval);
145
214
  res(ex.getSphericalHarmonicsArray(this.environmentIntensity ?? 1));
@@ -180,7 +249,8 @@ export class LightData {
180
249
  const size = Math.min(reflection.image.width, 512);
181
250
  const target = new WebGLCubeRenderTarget(size);
182
251
  rt = target.fromEquirectangularTexture(this._context.renderer, reflection);
183
- this._source = rt.texture;
252
+ // Not sure why we did assign the resulting texture here again but this causes rendering to break when toggling env lighting (e.g. on website) because this texture will then be set as the scene.environment
253
+ // this._source = rt.texture;
184
254
  }
185
255
  this._sphericalHarmonicsArray = [];
186
256
  if (rt) {
@@ -190,13 +260,15 @@ export class LightData {
190
260
  // console.log(intensityFactor, lightFactor);
191
261
  this._sphericalHarmonics = sampledProbe.sh;
192
262
  this._sphericalHarmonicsArray = this._sphericalHarmonics.toArray();
193
- const factor = ((intensityFactor) / (Math.PI * .5));
194
- for (let i = 0; i < this._sphericalHarmonicsArray.length; i++) {
195
- this._sphericalHarmonicsArray[i] *= factor;
263
+ if (this._sphericalHarmonicsArray) {
264
+ const factor = ((intensityFactor) / (Math.PI * .5));
265
+ for (let i = 0; i < this._sphericalHarmonicsArray.length; i++) {
266
+ this._sphericalHarmonicsArray[i] *= factor;
267
+ }
268
+ sampledProbe.sh.scale(lightFactor);
269
+ if (this._source)
270
+ return { array: this._sphericalHarmonicsArray, texture: this._source, lightProbe: sampledProbe };
196
271
  }
197
- sampledProbe.sh.scale(lightFactor);
198
- if (this._source)
199
- return { array: this._sphericalHarmonicsArray, texture: this._source, lightProbe: sampledProbe };
200
272
  }
201
273
  }
202
274
  catch (err) {
@@ -205,4 +277,4 @@ export class LightData {
205
277
  return null;
206
278
  }
207
279
  }
208
- //# sourceMappingURL=engine_rendererdata.js.map
280
+ //# sourceMappingURL=engine_scenelighting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine_scenelighting.js","sourceRoot":"","sources":["../../src/engine/engine_scenelighting.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import { GLTF } from "three/examples/jsm/loaders/GLTFLoader";
2
2
  import { Object3D } from "three";
3
3
  import { Context } from "./engine_setup";
4
- import { SourceIdentifier } from "./engine_types";
5
- export type Constructor<T> = {
6
- new (...args: any[]): T;
7
- };
4
+ import { ConstructorConcrete, SourceIdentifier } from "./engine_types";
8
5
  export declare type NodeToObjectMap = {
9
6
  [nodeId: string]: Object3D;
10
7
  };
@@ -34,12 +31,12 @@ export interface ITypeSerializer {
34
31
  * }
35
32
  */
36
33
  export declare abstract class TypeSerializer implements ITypeSerializer {
37
- constructor(type: Constructor<any> | Constructor<any>[]);
34
+ constructor(type: ConstructorConcrete<any> | ConstructorConcrete<any>[]);
38
35
  abstract onSerialize(data: any, context: SerializationContext): any | void;
39
36
  abstract onDeserialize(data: any, context: SerializationContext): any | void;
40
37
  }
41
38
  export interface ITypeInformation {
42
- type?: Constructor<any>;
39
+ type?: ConstructorConcrete<any>;
43
40
  }
44
41
  /** holds information if a field was undefined before serialization. This gives us info if we might want to warn the user about missing attributes */
45
42
  export declare class ImplementationInformation {
@@ -61,14 +58,14 @@ export declare class SerializationContext {
61
58
  objectToNode?: ObjectToNodeMap;
62
59
  context?: Context;
63
60
  path?: string;
64
- type?: Constructor<any>;
61
+ type?: ConstructorConcrete<any>;
65
62
  /** holds information if a field was undefined before serialization. This gives us info if we might want to warn the user about missing attributes */
66
63
  implementationInformation?: ImplementationInformation;
67
64
  constructor(root: THREE.Object3D);
68
65
  }
69
66
  export interface ISerializable {
70
67
  $serializedTypes?: {
71
- [key: string]: Constructor<any> | ITypeInformation | null;
68
+ [key: string]: ConstructorConcrete<any> | ITypeInformation | null;
72
69
  };
73
70
  onBeforeDeserialize?(data: any, context: SerializationContext): void | undefined | boolean;
74
71
  onBeforeDeserializeMember?(key: string, data: any, context: SerializationContext): void | undefined | boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_serialization_core.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_serialization_core.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_core.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Color } from "three";
2
2
  import { GLTF, GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader";
3
3
  import { SourceIdentifier } from "../engine_types";
4
4
  import { Behaviour } from "../../engine-components/Component";
5
- import { AmbientMode, DefaultReflectionMode } from "../engine_rendererdata";
5
+ import { AmbientMode, DefaultReflectionMode } from "../engine_scenelighting";
6
6
  import { Context } from "../engine_setup";
7
7
  export declare const EXTENSION_NAME = "NEEDLE_lighting_settings";
8
8
  export type LightingSettings = {
@@ -28,8 +28,10 @@ export declare class SceneLightSettings extends Behaviour {
28
28
  environmentReflectionSource: DefaultReflectionMode;
29
29
  private _hasReflection;
30
30
  private _ambientLightObj?;
31
+ private _hemisphereLightObj?;
31
32
  private _lightProbeObj?;
32
33
  awake(): void;
34
+ onDestroy(): void;
33
35
  onEnable(): void;
34
36
  onDisable(): void;
35
37
  }
@@ -1,8 +1,9 @@
1
1
  import { AmbientLight, Color, HemisphereLight, Object3D } from "three";
2
2
  import { Behaviour, GameObject } from "../../engine-components/Component";
3
- import { AmbientMode, DefaultReflectionMode } from "../engine_rendererdata";
3
+ import { AmbientMode, DefaultReflectionMode } from "../engine_scenelighting";
4
4
  import { LightmapType } from "./NEEDLE_lightmaps";
5
5
  import { getParam } from "../engine_utils";
6
+ import { ContextEvent, ContextRegistry } from "../engine_context_registry";
6
7
  export const EXTENSION_NAME = "NEEDLE_lighting_settings";
7
8
  const debug = getParam("debugenvlight");
8
9
  export class NEEDLE_lighting_settings {
@@ -23,7 +24,7 @@ export class NEEDLE_lighting_settings {
23
24
  const ext = extensions[EXTENSION_NAME];
24
25
  if (ext) {
25
26
  if (debug)
26
- console.log("Apply \"" + this.name + "\", src: \"" + this.sourceId + "\"", ext);
27
+ console.log("Loaded \"" + this.name + "\", src: \"" + this.sourceId + "\"", ext);
27
28
  let settings = undefined;
28
29
  // If the result scene has only one child we add the LightingSettingsComponent to that child
29
30
  if (_result.scene.children.length === 1) {
@@ -33,7 +34,7 @@ export class NEEDLE_lighting_settings {
33
34
  // if the scene already has multiple children we add it as a new object
34
35
  else {
35
36
  const lightSettings = new Object3D();
36
- lightSettings.name = "Needle LightSettings";
37
+ lightSettings.name = "LightSettings " + this.sourceId;
37
38
  _result.scene.add(lightSettings);
38
39
  settings = GameObject.addNewComponent(lightSettings, SceneLightSettings, false);
39
40
  }
@@ -44,13 +45,17 @@ export class NEEDLE_lighting_settings {
44
45
  settings.ambientTrilight = ext.ambientTrilight.map(c => new Color().fromArray(c));
45
46
  settings.ambientMode = ext.ambientMode;
46
47
  settings.environmentReflectionSource = ext.environmentReflectionSource;
47
- if (this.context)
48
- this.context.rendererData.registerSceneLightSettings(settings);
49
48
  }
50
49
  }
51
50
  return null;
52
51
  }
53
52
  }
53
+ ContextRegistry.registerCallback(ContextEvent.ContextCreated, e => {
54
+ const ctx = e.context;
55
+ const lightingSettings = GameObject.findObjectOfType(SceneLightSettings, ctx);
56
+ if (lightingSettings?.sourceId)
57
+ ctx.sceneLighting.enable(lightingSettings.sourceId);
58
+ });
54
59
  // exists once per gltf scene root (if it contains reflection)
55
60
  // when enabled it does currently automatically set the reflection
56
61
  // this might not be desireable
@@ -62,6 +67,7 @@ export class SceneLightSettings extends Behaviour {
62
67
  environmentReflectionSource = DefaultReflectionMode.Skybox;
63
68
  _hasReflection = false;
64
69
  _ambientLightObj;
70
+ _hemisphereLightObj;
65
71
  // used when skybox is used to support ambient intensity for "non custom shaders"
66
72
  _lightProbeObj;
67
73
  awake() {
@@ -70,10 +76,14 @@ export class SceneLightSettings extends Behaviour {
70
76
  const tex = this.context.lightmaps.tryGet(this.sourceId, type, 0);
71
77
  this._hasReflection = tex !== null && tex !== undefined;
72
78
  if (tex)
73
- this.context.rendererData.registerReflection(this.sourceId, tex);
79
+ this.context.sceneLighting.internalRegisterReflection(this.sourceId, tex);
74
80
  }
81
+ this.enabled = false;
82
+ this.context.sceneLighting.internalRegisterSceneLightSettings(this);
75
83
  if (debug) {
76
84
  window.addEventListener("keydown", evt => {
85
+ if (this.destroyed)
86
+ return;
77
87
  switch (evt.key) {
78
88
  case "l":
79
89
  this.enabled = !this.enabled;
@@ -82,19 +92,17 @@ export class SceneLightSettings extends Behaviour {
82
92
  });
83
93
  }
84
94
  }
95
+ onDestroy() {
96
+ this.context.sceneLighting.internalUnregisterSceneLightSettings(this);
97
+ }
85
98
  onEnable() {
86
- const isActive = this.context.mainCameraComponent?.sourceId === this.sourceId;
87
99
  if (debug)
88
- console.log("Enable scene lighting", this.sourceId, isActive, this, this.context.mainCameraComponent?.sourceId);
89
- if (!isActive) {
90
- if (debug)
91
- console.warn("This environment light is not active??!", this.context.mainCameraComponent?.sourceId);
92
- this.enabled = false;
93
- return;
94
- }
100
+ console.warn("💡🟡 >>> Enable lighting", this.sourceId, this);
95
101
  if (this.ambientMode == AmbientMode.Flat) {
96
102
  if (this.ambientLight && !this._ambientLightObj) {
97
103
  this._ambientLightObj = new AmbientLight(this.ambientLight, this.ambientIntensity);
104
+ if (debug)
105
+ console.log("Created ambient light", this.sourceId, this._ambientLightObj);
98
106
  }
99
107
  if (this._ambientLightObj) {
100
108
  this.gameObject.add(this._ambientLightObj);
@@ -106,17 +114,19 @@ export class SceneLightSettings extends Behaviour {
106
114
  if (this.ambientTrilight) {
107
115
  const ground = this.ambientTrilight[0];
108
116
  const sky = this.ambientTrilight[this.ambientTrilight.length - 1];
109
- const hemisphere = new HemisphereLight(sky, ground, this.ambientIntensity);
110
- this.gameObject.add(hemisphere);
117
+ this._hemisphereLightObj = new HemisphereLight(sky, ground, this.ambientIntensity);
118
+ this.gameObject.add(this._hemisphereLightObj);
111
119
  }
112
120
  }
113
121
  else {
114
122
  if (this._ambientLightObj)
115
123
  this._ambientLightObj.removeFromParent();
124
+ if (this._hemisphereLightObj)
125
+ this._hemisphereLightObj.removeFromParent();
116
126
  // create light probe object
117
127
  if (!this._lightProbeObj) {
118
128
  if (this.sourceId) {
119
- this.context.rendererData.getSceneLightingData(this.sourceId).then(data => {
129
+ this.context.sceneLighting.internalGetSceneLightingData(this.sourceId).then(data => {
120
130
  if (!data)
121
131
  return;
122
132
  this._lightProbeObj = data.lightProbe;
@@ -135,17 +145,19 @@ export class SceneLightSettings extends Behaviour {
135
145
  }
136
146
  }
137
147
  if (this.sourceId)
138
- this.context.rendererData.enableReflection(this.sourceId);
148
+ this.context.sceneLighting.internalEnableReflection(this.sourceId);
139
149
  }
140
150
  onDisable() {
141
151
  if (debug)
142
- console.log("Disable envlight:", this.sourceId, this);
152
+ console.warn("💡⚫ <<< Disable lighting:", this.sourceId, this);
143
153
  if (this._lightProbeObj)
144
154
  this._lightProbeObj.removeFromParent();
145
155
  if (this._ambientLightObj)
146
156
  this._ambientLightObj.removeFromParent();
157
+ if (this._hemisphereLightObj)
158
+ this._hemisphereLightObj.removeFromParent();
147
159
  if (this.sourceId)
148
- this.context.rendererData.disableReflection(this.sourceId);
160
+ this.context.sceneLighting.internalDisableReflection(this.sourceId);
149
161
  }
150
162
  }
151
163
  //# sourceMappingURL=NEEDLE_lighting_settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NEEDLE_lighting_settings.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_lighting_settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NEEDLE_lighting_settings.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_lighting_settings.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ export class CustomShader extends RawShaderMaterial {
99
99
  console.error("Missing context");
100
100
  return;
101
101
  }
102
- const data = await context.rendererData.getSceneLightingData(this.identifier);
102
+ const data = await context.sceneLighting.internalGetSceneLightingData(this.identifier);
103
103
  if (!data || !data.array) {
104
104
  console.warn("Missing lighting data for custom shader, getSceneLightingData did not return anything");
105
105
  return;
@@ -177,10 +177,10 @@ export class CustomShader extends RawShaderMaterial {
177
177
  }
178
178
  // this._lastFrame = context.time.frame;
179
179
  if (this.uniforms["_TimeParameters"]) {
180
- this.uniforms["_TimeParameters"].value = context.rendererData.timeVec4;
180
+ this.uniforms["_TimeParameters"].value = context.sceneLighting.timeVec4;
181
181
  }
182
182
  else if (this.uniforms["_Time"]) {
183
- this.uniforms["_Time"].value = context.rendererData.timeVec4;
183
+ this.uniforms["_Time"].value = context.sceneLighting.timeVec4;
184
184
  }
185
185
  const mainLight = context.mainLight;
186
186
  if (mainLight) {