@onerjs/core 8.30.8 → 8.30.9

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 (98) hide show
  1. package/Cameras/camera.js +1 -0
  2. package/Cameras/camera.js.map +1 -1
  3. package/Cameras/targetCamera.js +0 -4
  4. package/Cameras/targetCamera.js.map +1 -1
  5. package/Culling/ray.core.js +1 -1
  6. package/Culling/ray.core.js.map +1 -1
  7. package/Decorators/nodeDecorator.d.ts +9 -7
  8. package/Decorators/nodeDecorator.js +9 -7
  9. package/Decorators/nodeDecorator.js.map +1 -1
  10. package/Engines/WebGPU/webgpuTextureManager.js +2 -2
  11. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  12. package/Engines/abstractEngine.js +2 -2
  13. package/Engines/abstractEngine.js.map +1 -1
  14. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js +1 -1
  15. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js.map +1 -1
  16. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.js +1 -1
  17. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.js.map +1 -1
  18. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +1 -1
  19. package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +1 -1
  20. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js +1 -1
  21. package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.js +1 -1
  22. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js +1 -1
  23. package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.js +1 -1
  24. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +1 -1
  25. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.js +1 -1
  26. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.js.map +1 -1
  27. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.js +1 -1
  28. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.js.map +1 -1
  29. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +6 -0
  30. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +26 -0
  31. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  32. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +6 -0
  33. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +48 -22
  34. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
  35. package/FrameGraph/Node/Blocks/Textures/clearBlock.js +3 -3
  36. package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -1
  37. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +1 -1
  38. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js +1 -1
  39. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js.map +1 -1
  40. package/FrameGraph/Node/nodeRenderGraph.js +2 -1
  41. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  42. package/FrameGraph/Passes/{cullPass.d.ts → objectListPass.d.ts} +8 -8
  43. package/FrameGraph/Passes/{cullPass.js → objectListPass.js} +9 -9
  44. package/FrameGraph/Passes/objectListPass.js.map +1 -0
  45. package/FrameGraph/Passes/renderPass.d.ts +6 -2
  46. package/FrameGraph/Passes/renderPass.js +14 -2
  47. package/FrameGraph/Passes/renderPass.js.map +1 -1
  48. package/FrameGraph/Tasks/Misc/cullObjectsTask.js +2 -2
  49. package/FrameGraph/Tasks/Misc/cullObjectsTask.js.map +1 -1
  50. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +8 -0
  51. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +10 -0
  52. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  53. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +8 -0
  54. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +13 -0
  55. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  56. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
  57. package/FrameGraph/Tasks/Texture/clearTextureTask.js +7 -5
  58. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  59. package/FrameGraph/frameGraph.d.ts +10 -4
  60. package/FrameGraph/frameGraph.js +22 -9
  61. package/FrameGraph/frameGraph.js.map +1 -1
  62. package/FrameGraph/frameGraphTask.js +3 -3
  63. package/FrameGraph/frameGraphTask.js.map +1 -1
  64. package/FrameGraph/index.d.ts +1 -1
  65. package/FrameGraph/index.js +1 -1
  66. package/FrameGraph/index.js.map +1 -1
  67. package/Materials/floatingOriginMatrixOverrides.js +19 -0
  68. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  69. package/Materials/shaderMaterial.d.ts +9 -0
  70. package/Materials/shaderMaterial.js +35 -0
  71. package/Materials/shaderMaterial.js.map +1 -1
  72. package/Particles/EmitterTypes/coneParticleEmitter.d.ts +6 -4
  73. package/Particles/EmitterTypes/coneParticleEmitter.js +18 -12
  74. package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
  75. package/Particles/EmitterTypes/customParticleEmitter.d.ts +5 -3
  76. package/Particles/EmitterTypes/customParticleEmitter.js +8 -6
  77. package/Particles/EmitterTypes/customParticleEmitter.js.map +1 -1
  78. package/Particles/Node/Blocks/Emitters/coneShapeBlock.d.ts +15 -4
  79. package/Particles/Node/Blocks/Emitters/coneShapeBlock.js +66 -36
  80. package/Particles/Node/Blocks/Emitters/coneShapeBlock.js.map +1 -1
  81. package/Particles/Node/Blocks/Emitters/customShapeBlock.d.ts +13 -9
  82. package/Particles/Node/Blocks/Emitters/customShapeBlock.js +36 -23
  83. package/Particles/Node/Blocks/Emitters/customShapeBlock.js.map +1 -1
  84. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.d.ts +6 -0
  85. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js +22 -1
  86. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js.map +1 -1
  87. package/Particles/Node/Blocks/systemBlock.d.ts +4 -4
  88. package/Particles/Node/Blocks/systemBlock.js +8 -12
  89. package/Particles/Node/Blocks/systemBlock.js.map +1 -1
  90. package/Particles/Node/nodeParticleSystemSet.helper.js +153 -19
  91. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  92. package/Particles/thinParticleSystem.js +1 -1
  93. package/Particles/thinParticleSystem.js.map +1 -1
  94. package/package.json +1 -1
  95. package/scene.d.ts +1 -3
  96. package/scene.js +8 -7
  97. package/scene.js.map +1 -1
  98. package/FrameGraph/Passes/cullPass.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onerjs/core",
3
- "version": "8.30.8",
3
+ "version": "8.30.9",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",
package/scene.d.ts CHANGED
@@ -169,8 +169,6 @@ export declare class Scene implements IAnimatable, IClipPlanesHolder, IAssetCont
169
169
  */
170
170
  autoClearDepthAndStencil: boolean;
171
171
  private _clearColor;
172
- private _tempVect3;
173
- private _tempVect4;
174
172
  /**
175
173
  * Observable triggered when the performance priority is changed
176
174
  */
@@ -834,7 +832,7 @@ export declare class Scene implements IAnimatable, IClipPlanesHolder, IAssetCont
834
832
  * @param effect The effect to be bound
835
833
  * @param variableName name of the shader variable that will hold the eye position
836
834
  * @param isVector3 true to indicates that variableName is a Vector3 and not a Vector4
837
- * @returns the computed eye position
835
+ * @returns the computed eye position in a temp vector, caller can copy values as needed
838
836
  */
839
837
  bindEyePosition(effect: Nullable<Effect>, variableName?: string, isVector3?: boolean): Vector4;
840
838
  /**
package/scene.js CHANGED
@@ -4,7 +4,7 @@ import { Observable } from "./Misc/observable.js";
4
4
  import { SmartArrayNoDuplicate, SmartArray } from "./Misc/smartArray.js";
5
5
  import { StringDictionary } from "./Misc/stringDictionary.js";
6
6
  import { Tags } from "./Misc/tags.js";
7
- import { Vector3, Vector4, Matrix, TmpVectors } from "./Maths/math.vector.js";
7
+ import { Vector3, Vector4, Matrix } from "./Maths/math.vector.js";
8
8
  import { ImageProcessingConfiguration } from "./Materials/imageProcessingConfiguration.js";
9
9
  import { UniformBuffer } from "./Materials/uniformBuffer.js";
10
10
  import { PickingInfo } from "./Collisions/pickingInfo.js";
@@ -30,6 +30,9 @@ import { Logger } from "./Misc/logger.js";
30
30
  import { RegisterClass } from "./Misc/typeStore.js";
31
31
  import { FrameGraphObjectRendererTask } from "./FrameGraph/Tasks/Rendering/objectRendererTask.js";
32
32
  import { _RetryWithInterval } from "./Misc/timingTools.js";
33
+ // Defining Temps for the file to avoid misuse of shared TmpVectors
34
+ const TempVect1 = new Vector4();
35
+ const TempVect2 = new Vector4();
33
36
  /**
34
37
  * Define how the scene should favor performance over ease of use
35
38
  */
@@ -366,21 +369,21 @@ export class Scene {
366
369
  * Gets the current eye position in order of forcedViewPosition, activeCamera world position, Vector3.ZeroReadOnly
367
370
  */
368
371
  get _eyePosition() {
369
- return this._forcedViewPosition ?? this.activeCamera?.getWorldMatrix().getTranslationToRef(this._tempVect3) ?? Vector3.ZeroReadOnly;
372
+ return this._forcedViewPosition ?? this.activeCamera?.globalPosition ?? Vector3.ZeroReadOnly;
370
373
  }
371
374
  /**
372
375
  * Bind the current view position to an effect.
373
376
  * @param effect The effect to be bound
374
377
  * @param variableName name of the shader variable that will hold the eye position
375
378
  * @param isVector3 true to indicates that variableName is a Vector3 and not a Vector4
376
- * @returns the computed eye position
379
+ * @returns the computed eye position in a temp vector, caller can copy values as needed
377
380
  */
378
381
  bindEyePosition(effect, variableName = "vEyePosition", isVector3 = false) {
379
382
  const eyePosition = this._eyePosition;
380
383
  const invertNormal = this.useRightHandedSystem === (this._mirroredCameraPosition != null);
381
384
  const offset = this.floatingOriginOffset;
382
- const eyePos = this._tempVect4.set(eyePosition.x, eyePosition.y, eyePosition.z, invertNormal ? -1 : 1);
383
- const offsetEyePos = eyePos.subtractFromFloatsToRef(offset.x, offset.y, offset.z, 0, TmpVectors.Vector4[1]);
385
+ const eyePos = TempVect1.set(eyePosition.x, eyePosition.y, eyePosition.z, invertNormal ? -1 : 1);
386
+ const offsetEyePos = eyePos.subtractFromFloatsToRef(offset.x, offset.y, offset.z, 0, TempVect2);
384
387
  if (effect) {
385
388
  if (isVector3) {
386
389
  effect.setFloat3(variableName, offsetEyePos.x, offsetEyePos.y, offsetEyePos.z);
@@ -687,8 +690,6 @@ export class Scene {
687
690
  */
688
691
  this.autoClearDepthAndStencil = true;
689
692
  this._clearColor = new Color4(0.2, 0.2, 0.3, 1.0);
690
- this._tempVect3 = new Vector3();
691
- this._tempVect4 = new Vector4();
692
693
  /**
693
694
  * Observable triggered when the performance priority is changed
694
695
  */