@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.
- package/Animations/animation.d.ts +2 -1
- package/Animations/animation.js +3 -2
- package/Animations/animation.js.map +1 -1
- package/Behaviors/Cameras/interpolatingBehavior.d.ts +2 -1
- package/Behaviors/Cameras/interpolatingBehavior.js +2 -2
- package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
- package/Cameras/geospatialCamera.d.ts +12 -3
- package/Cameras/geospatialCamera.js +91 -36
- package/Cameras/geospatialCamera.js.map +1 -1
- package/Cameras/geospatialCameraMovement.d.ts +6 -2
- package/Cameras/geospatialCameraMovement.js +10 -10
- package/Cameras/geospatialCameraMovement.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/thinEngine.js +1 -1
- package/Engines/thinEngine.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraph.d.ts +22 -5
- package/FrameGraph/Node/nodeRenderGraph.js +39 -18
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
- package/FrameGraph/Passes/pass.d.ts +2 -0
- package/FrameGraph/Passes/pass.js +2 -0
- package/FrameGraph/Passes/pass.js.map +1 -1
- package/FrameGraph/Passes/renderPass.d.ts +2 -0
- package/FrameGraph/Passes/renderPass.js +4 -0
- package/FrameGraph/Passes/renderPass.js.map +1 -1
- package/FrameGraph/frameGraph.d.ts +13 -4
- package/FrameGraph/frameGraph.js +45 -5
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphRenderTarget.d.ts +1 -0
- package/FrameGraph/frameGraphRenderTarget.js +3 -0
- package/FrameGraph/frameGraphRenderTarget.js.map +1 -1
- package/FrameGraph/frameGraphTask.d.ts +6 -0
- package/FrameGraph/frameGraphTask.js +15 -0
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/FrameGraph/frameGraphTypes.d.ts +2 -0
- package/FrameGraph/frameGraphTypes.js.map +1 -1
- package/Materials/Node/nodeMaterial.js +3 -0
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +29 -7
- package/Materials/materialHelper.functions.js +59 -24
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +1 -0
- package/Materials/shaderMaterial.js +6 -17
- package/Materials/shaderMaterial.js.map +1 -1
- package/Meshes/mesh.js +1 -1
- package/Meshes/mesh.js.map +1 -1
- package/Misc/screenshotTools.js +2 -8
- package/Misc/screenshotTools.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.d.ts +1 -0
- package/ShadersWGSL/iblVoxelGrid.vertex.js +53 -64
- package/ShadersWGSL/iblVoxelGrid.vertex.js.map +1 -1
- 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 {
|
|
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
|
-
|
|
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);
|