@onerjs/core 8.54.5 → 8.54.6

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 (68) hide show
  1. package/Engines/Native/nativeHelpers.js +5 -0
  2. package/Engines/Native/nativeHelpers.js.map +1 -1
  3. package/Engines/abstractEngine.pure.js +2 -2
  4. package/Engines/abstractEngine.pure.js.map +1 -1
  5. package/Engines/engineCapabilities.d.ts +5 -0
  6. package/Engines/engineCapabilities.js.map +1 -1
  7. package/Engines/thinNativeEngine.pure.js +23 -4
  8. package/Engines/thinNativeEngine.pure.js.map +1 -1
  9. package/Engines/webgpuEngine.pure.js +1 -0
  10. package/Engines/webgpuEngine.pure.js.map +1 -1
  11. package/Materials/Node/nodeMaterial.pure.d.ts +3 -1
  12. package/Materials/Node/nodeMaterial.pure.js +18 -1
  13. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  14. package/Materials/Textures/envCubeTexture.pure.js +7 -2
  15. package/Materials/Textures/envCubeTexture.pure.js.map +1 -1
  16. package/Materials/materialHelper.functions.d.ts +14 -0
  17. package/Materials/materialHelper.functions.js +67 -0
  18. package/Materials/materialHelper.functions.js.map +1 -1
  19. package/Maths/math.vector.pure.d.ts +1 -1
  20. package/Maths/math.vector.pure.js.map +1 -1
  21. package/Meshes/abstractMesh.pure.js +1 -0
  22. package/Meshes/abstractMesh.pure.js.map +1 -1
  23. package/Meshes/mesh.pure.js +5 -0
  24. package/Meshes/mesh.pure.js.map +1 -1
  25. package/Meshes/transformNode.pure.js +1 -0
  26. package/Meshes/transformNode.pure.js.map +1 -1
  27. package/Misc/areaLightsTextureTools.js +1 -1
  28. package/Misc/areaLightsTextureTools.js.map +1 -1
  29. package/Misc/tools.pure.js +1 -1
  30. package/Misc/tools.pure.js.map +1 -1
  31. package/PostProcesses/RenderPipeline/Pipelines/fsr1RenderingPipeline.d.ts +79 -0
  32. package/PostProcesses/RenderPipeline/Pipelines/fsr1RenderingPipeline.js +171 -0
  33. package/PostProcesses/RenderPipeline/Pipelines/fsr1RenderingPipeline.js.map +1 -0
  34. package/PostProcesses/RenderPipeline/Pipelines/index.d.ts +5 -0
  35. package/PostProcesses/RenderPipeline/Pipelines/index.js +6 -0
  36. package/PostProcesses/RenderPipeline/Pipelines/index.js.map +1 -1
  37. package/PostProcesses/RenderPipeline/Pipelines/pure.d.ts +1 -0
  38. package/PostProcesses/RenderPipeline/Pipelines/pure.js +1 -0
  39. package/PostProcesses/RenderPipeline/Pipelines/pure.js.map +1 -1
  40. package/PostProcesses/thinFSR1SharpenPostProcess.d.ts +32 -0
  41. package/PostProcesses/thinFSR1SharpenPostProcess.js +58 -0
  42. package/PostProcesses/thinFSR1SharpenPostProcess.js.map +1 -0
  43. package/PostProcesses/thinFSR1UpscalePostProcess.d.ts +37 -0
  44. package/PostProcesses/thinFSR1UpscalePostProcess.js +68 -0
  45. package/PostProcesses/thinFSR1UpscalePostProcess.js.map +1 -0
  46. package/Shaders/ShadersInclude/ffxFunctions.d.ts +5 -0
  47. package/Shaders/ShadersInclude/ffxFunctions.js +18 -0
  48. package/Shaders/ShadersInclude/ffxFunctions.js.map +1 -0
  49. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +2 -2
  50. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  51. package/Shaders/ShadersInclude/openpbrIblFunctions.js +1 -6
  52. package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  53. package/Shaders/fsr1Sharpen.fragment.d.ts +5 -0
  54. package/Shaders/fsr1Sharpen.fragment.js +26 -0
  55. package/Shaders/fsr1Sharpen.fragment.js.map +1 -0
  56. package/Shaders/fsr1Upscale.fragment.d.ts +5 -0
  57. package/Shaders/fsr1Upscale.fragment.js +77 -0
  58. package/Shaders/fsr1Upscale.fragment.js.map +1 -0
  59. package/ShadersWGSL/ShadersInclude/ffxFunctions.d.ts +5 -0
  60. package/ShadersWGSL/ShadersInclude/ffxFunctions.js +18 -0
  61. package/ShadersWGSL/ShadersInclude/ffxFunctions.js.map +1 -0
  62. package/ShadersWGSL/fsr1Sharpen.fragment.d.ts +5 -0
  63. package/ShadersWGSL/fsr1Sharpen.fragment.js +34 -0
  64. package/ShadersWGSL/fsr1Sharpen.fragment.js.map +1 -0
  65. package/ShadersWGSL/fsr1Upscale.fragment.d.ts +5 -0
  66. package/ShadersWGSL/fsr1Upscale.fragment.js +68 -0
  67. package/ShadersWGSL/fsr1Upscale.fragment.js.map +1 -0
  68. package/package.json +1 -1
@@ -485,7 +485,9 @@ export declare class NodeMaterial extends NodeMaterialBase {
485
485
  private _createEffectForParticles;
486
486
  private _checkInternals;
487
487
  /**
488
- * Create the effect to be used as the custom effect for a particle system
488
+ * Create the effect to be used as the custom effect for a particle system.
489
+ * If the material has not been built successfully yet, the build is started when needed and the effect is only
490
+ * created once it completes, so the effect may not be set on the particle system when this method returns.
489
491
  * @param particleSystem Particle system to create the effect for
490
492
  * @param onCompiled defines a function to call when the effect creation is successful
491
493
  * @param onError defines a function to call when the effect creation has failed
@@ -1139,7 +1139,9 @@ let NodeMaterial = (() => {
1139
1139
  }
1140
1140
  }
1141
1141
  /**
1142
- * Create the effect to be used as the custom effect for a particle system
1142
+ * Create the effect to be used as the custom effect for a particle system.
1143
+ * If the material has not been built successfully yet, the build is started when needed and the effect is only
1144
+ * created once it completes, so the effect may not be set on the particle system when this method returns.
1143
1145
  * @param particleSystem Particle system to create the effect for
1144
1146
  * @param onCompiled defines a function to call when the effect creation is successful
1145
1147
  * @param onError defines a function to call when the effect creation has failed
@@ -1149,6 +1151,21 @@ let NodeMaterial = (() => {
1149
1151
  Logger.Log("Incompatible material mode");
1150
1152
  return;
1151
1153
  }
1154
+ // ParticleTextureBlock loads shader includes asynchronously. Wait for the build to produce
1155
+ // shader code instead of registering an empty fragment shader that falls back to a URL.
1156
+ if (!this._buildWasSuccessful) {
1157
+ const buildObserver = this.onBuildObservable.addOnce(() => {
1158
+ this.onBuildErrorObservable.remove(errorObserver);
1159
+ this.createEffectForParticles(particleSystem, onCompiled, onError);
1160
+ });
1161
+ const errorObserver = this.onBuildErrorObservable.addOnce(() => {
1162
+ this.onBuildObservable.remove(buildObserver);
1163
+ });
1164
+ if (!this._buildIsInProgress) {
1165
+ this.build();
1166
+ }
1167
+ return;
1168
+ }
1152
1169
  this._createEffectForParticles(particleSystem, BaseParticleSystem.BLENDMODE_ONEONE, onCompiled, onError);
1153
1170
  this._createEffectForParticles(particleSystem, BaseParticleSystem.BLENDMODE_MULTIPLY, onCompiled, onError);
1154
1171
  }