@onerjs/core 8.31.6 → 8.31.7

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 (52) hide show
  1. package/Animations/animation.d.ts +2 -1
  2. package/Animations/animation.js +3 -2
  3. package/Animations/animation.js.map +1 -1
  4. package/Behaviors/Cameras/interpolatingBehavior.d.ts +2 -1
  5. package/Behaviors/Cameras/interpolatingBehavior.js +2 -2
  6. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  7. package/Cameras/geospatialCamera.d.ts +12 -3
  8. package/Cameras/geospatialCamera.js +91 -36
  9. package/Cameras/geospatialCamera.js.map +1 -1
  10. package/Cameras/geospatialCameraMovement.d.ts +6 -2
  11. package/Cameras/geospatialCameraMovement.js +10 -10
  12. package/Cameras/geospatialCameraMovement.js.map +1 -1
  13. package/Engines/abstractEngine.js +2 -2
  14. package/Engines/abstractEngine.js.map +1 -1
  15. package/Engines/thinEngine.js +1 -1
  16. package/Engines/thinEngine.js.map +1 -1
  17. package/FrameGraph/Node/nodeRenderGraph.d.ts +22 -5
  18. package/FrameGraph/Node/nodeRenderGraph.js +39 -18
  19. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  20. package/FrameGraph/Passes/pass.d.ts +2 -0
  21. package/FrameGraph/Passes/pass.js +2 -0
  22. package/FrameGraph/Passes/pass.js.map +1 -1
  23. package/FrameGraph/Passes/renderPass.d.ts +2 -0
  24. package/FrameGraph/Passes/renderPass.js +4 -0
  25. package/FrameGraph/Passes/renderPass.js.map +1 -1
  26. package/FrameGraph/frameGraph.d.ts +13 -4
  27. package/FrameGraph/frameGraph.js +45 -5
  28. package/FrameGraph/frameGraph.js.map +1 -1
  29. package/FrameGraph/frameGraphRenderTarget.d.ts +1 -0
  30. package/FrameGraph/frameGraphRenderTarget.js +3 -0
  31. package/FrameGraph/frameGraphRenderTarget.js.map +1 -1
  32. package/FrameGraph/frameGraphTask.d.ts +6 -0
  33. package/FrameGraph/frameGraphTask.js +15 -0
  34. package/FrameGraph/frameGraphTask.js.map +1 -1
  35. package/FrameGraph/frameGraphTypes.d.ts +2 -0
  36. package/FrameGraph/frameGraphTypes.js.map +1 -1
  37. package/Materials/Node/nodeMaterial.js +3 -0
  38. package/Materials/Node/nodeMaterial.js.map +1 -1
  39. package/Materials/materialHelper.functions.d.ts +29 -7
  40. package/Materials/materialHelper.functions.js +59 -24
  41. package/Materials/materialHelper.functions.js.map +1 -1
  42. package/Materials/shaderMaterial.d.ts +1 -0
  43. package/Materials/shaderMaterial.js +6 -17
  44. package/Materials/shaderMaterial.js.map +1 -1
  45. package/Meshes/mesh.js +1 -1
  46. package/Meshes/mesh.js.map +1 -1
  47. package/Misc/screenshotTools.js +2 -8
  48. package/Misc/screenshotTools.js.map +1 -1
  49. package/ShadersWGSL/iblVoxelGrid.vertex.d.ts +1 -0
  50. package/ShadersWGSL/iblVoxelGrid.vertex.js +53 -64
  51. package/ShadersWGSL/iblVoxelGrid.vertex.js.map +1 -1
  52. package/package.json +1 -1
@@ -10,8 +10,7 @@ import { PushMaterial } from "./pushMaterial.js";
10
10
  import { EngineStore } from "../Engines/engineStore.js";
11
11
 
12
12
  import { AddClipPlaneUniforms, BindClipPlane, PrepareStringDefinesForClipPlanes } from "./clipPlaneMaterialHelper.js";
13
- import { GetTypeByteLength } from "../Buffers/bufferUtils.js";
14
- import { BindBonesParameters, BindFogParameters, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, PrepareDefinesAndAttributesForMorphTargets, PushAttributesForInstances, } from "./materialHelper.functions.js";
13
+ import { BindBonesParameters, BindFogParameters, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, PrepareDefinesAndAttributesForMorphTargets, PrepareVertexPullingUniforms, BindVertexPullingUniforms, PushAttributesForInstances, } from "./materialHelper.functions.js";
15
14
  const OnCreatedEffectParameters = { effect: null, subMesh: null };
16
15
  /**
17
16
  * The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh.
@@ -64,6 +63,7 @@ export class ShaderMaterial extends PushMaterial {
64
63
  this._cachedWorldViewMatrix = new Matrix();
65
64
  this._cachedWorldViewProjectionMatrix = new Matrix();
66
65
  this._multiview = false;
66
+ this._vertexPullingMetadata = null;
67
67
  /**
68
68
  * @internal
69
69
  */
@@ -705,21 +705,7 @@ export class ShaderMaterial extends PushMaterial {
705
705
  // Add vertex buffer metadata defines for proper stride/offset handling
706
706
  const geometry = renderingMesh.geometry;
707
707
  if (geometry) {
708
- const vertexBuffers = geometry.getVertexBuffers();
709
- if (vertexBuffers) {
710
- for (const attributeName in vertexBuffers) {
711
- const vertexBuffer = vertexBuffers[attributeName];
712
- if (vertexBuffer) {
713
- const componentBytes = GetTypeByteLength(vertexBuffer.type);
714
- const upperName = attributeName.toUpperCase();
715
- const stride = vertexBuffer.effectiveByteStride / 4;
716
- const offset = vertexBuffer.effectiveByteOffset / 4;
717
- defines.push(`#define ${upperName}_STRIDE ${stride}`);
718
- defines.push(`#define ${upperName}_OFFSET ${offset}`);
719
- defines.push(`#define ${upperName}_COMPONENT_BYTES ${componentBytes}`);
720
- }
721
- }
722
- }
708
+ this._vertexPullingMetadata = PrepareVertexPullingUniforms(geometry);
723
709
  }
724
710
  }
725
711
  const drawWrapper = storeEffectOnSubMeshes ? subMesh._getDrawWrapper(undefined, true) : this._drawWrapper;
@@ -857,6 +843,9 @@ export class ShaderMaterial extends PushMaterial {
857
843
  BindBonesParameters(mesh, effect);
858
844
  // Clip plane
859
845
  BindClipPlane(effect, this, scene);
846
+ if (this._vertexPullingMetadata) {
847
+ BindVertexPullingUniforms(effect, this._vertexPullingMetadata);
848
+ }
860
849
  // Misc
861
850
  if (this._useLogarithmicDepth) {
862
851
  BindLogDepth(storeEffectOnSubMeshes ? subMesh.materialDefines : effect.defines, effect, scene);