@onerjs/core 8.26.4 → 8.26.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.
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +6 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/frameGraphContext.d.ts +2 -1
- package/FrameGraph/frameGraphContext.js +4 -1
- package/FrameGraph/frameGraphContext.js.map +1 -1
- package/Lights/Clustered/clusteredLightContainer.d.ts +1 -1
- package/Lights/Clustered/clusteredLightContainer.js +4 -5
- package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
- package/Lights/pointLight.js +4 -4
- package/Lights/pointLight.js.map +1 -1
- package/Lights/rectAreaLight.js +4 -4
- package/Lights/rectAreaLight.js.map +1 -1
- package/Lights/spotLight.js +2 -2
- package/Lights/spotLight.js.map +1 -1
- package/Materials/Background/backgroundMaterial.d.ts +19 -91
- package/Materials/Background/backgroundMaterial.js +17 -245
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.d.ts +3 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +15 -6
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +15 -4
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.d.ts +20 -0
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js +41 -3
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/smartFilterFragmentOutputBlock.js +0 -1
- package/Materials/Node/Blocks/Fragment/smartFilterFragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +28 -5
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +57 -69
- package/Materials/Node/nodeMaterial.js +9 -86
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +3 -1
- package/Materials/Node/nodeMaterialBuildState.js +35 -15
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/PBR/index.d.ts +5 -0
- package/Materials/PBR/index.js +5 -0
- package/Materials/PBR/index.js.map +1 -1
- package/Materials/PBR/openPbrMaterial.d.ts +998 -0
- package/Materials/PBR/openPbrMaterial.js +2069 -0
- package/Materials/PBR/openPbrMaterial.js.map +1 -0
- package/Materials/PBR/pbrBaseMaterial.d.ts +65 -43
- package/Materials/PBR/pbrBaseMaterial.js +37 -308
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrMaterial.d.ts +0 -78
- package/Materials/PBR/pbrMaterial.js +0 -110
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/floatingOriginMatrixOverrides.d.ts +3 -0
- package/Materials/floatingOriginMatrixOverrides.js +91 -0
- package/Materials/floatingOriginMatrixOverrides.js.map +1 -0
- package/Materials/imageProcessing.d.ts +65 -0
- package/Materials/imageProcessing.js +162 -0
- package/Materials/imageProcessing.js.map +1 -0
- package/Materials/imageProcessingConfiguration.defines.d.ts +25 -0
- package/Materials/imageProcessingConfiguration.defines.js +27 -0
- package/Materials/imageProcessingConfiguration.defines.js.map +1 -1
- package/Materials/index.d.ts +2 -0
- package/Materials/index.js +2 -0
- package/Materials/index.js.map +1 -1
- package/Materials/material.d.ts +14 -0
- package/Materials/material.js +14 -0
- package/Materials/material.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +53 -0
- package/Materials/materialHelper.functions.js +297 -0
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/standardMaterial.d.ts +57 -121
- package/Materials/standardMaterial.js +21 -250
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uv.defines.d.ts +22 -0
- package/Materials/uv.defines.js +24 -0
- package/Materials/uv.defines.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +1 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Misc/decorators.d.ts +7 -0
- package/Misc/decorators.js +34 -0
- package/Misc/decorators.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js +10 -1
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js.map +1 -1
- package/Particles/Node/Blocks/index.d.ts +2 -0
- package/Particles/Node/Blocks/index.js +2 -0
- package/Particles/Node/Blocks/index.js.map +1 -1
- package/Particles/Node/Blocks/particleInputBlock.js +4 -1
- package/Particles/Node/Blocks/particleInputBlock.js.map +1 -1
- package/Particles/Node/Blocks/particleLocalVariableBlock.d.ts +38 -0
- package/Particles/Node/Blocks/particleLocalVariableBlock.js +108 -0
- package/Particles/Node/Blocks/particleLocalVariableBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleVectorLengthBlock.d.ts +26 -0
- package/Particles/Node/Blocks/particleVectorLengthBlock.js +50 -0
- package/Particles/Node/Blocks/particleVectorLengthBlock.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.d.ts +2 -1
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.js +45 -0
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +2 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +6 -4
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/iblCdfGenerator.js +28 -20
- package/Rendering/iblCdfGenerator.js.map +1 -1
- package/Rendering/reflectiveShadowMap.d.ts +3 -3
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clusteredLightingFunctions.js +3 -1
- package/Shaders/ShadersInclude/clusteredLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +34 -0
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +4 -0
- package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -0
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -0
- package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +2 -0
- package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/openpbr.vertex.js +1 -1
- package/Shaders/openpbr.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +28 -0
- package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/importanceSampling.js +4 -0
- package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +2 -0
- package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/ShadersWGSL/openpbr.vertex.js +1 -1
- package/ShadersWGSL/openpbr.vertex.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +21 -0
- package/scene.js +29 -3
- package/scene.js.map +1 -1
|
@@ -238,6 +238,7 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
238
238
|
state._excludeVariableName("finalColor");
|
|
239
239
|
state._excludeVariableName("vClipSpacePosition");
|
|
240
240
|
state._excludeVariableName("vDebugMode");
|
|
241
|
+
state._excludeVariableName("vViewDepth");
|
|
241
242
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
242
243
|
this._initShaderSourceAsync(state.shaderLanguage);
|
|
243
244
|
}
|
|
@@ -570,7 +571,7 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
570
571
|
break;
|
|
571
572
|
}
|
|
572
573
|
const onlyUpdateBuffersList = state.uniforms.indexOf("vLightData" + lightIndex) >= 0;
|
|
573
|
-
PrepareUniformsAndSamplersForLight(lightIndex, state.uniforms, state.samplers, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffers, onlyUpdateBuffersList, defines["IESLIGHTTEXTURE" + lightIndex]);
|
|
574
|
+
PrepareUniformsAndSamplersForLight(lightIndex, state.uniforms, state.samplers, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffers, onlyUpdateBuffersList, defines["IESLIGHTTEXTURE" + lightIndex], defines["CLUSTLIGHT" + lightIndex]);
|
|
574
575
|
}
|
|
575
576
|
}
|
|
576
577
|
isReady(mesh, nodeMaterial, defines) {
|
|
@@ -663,6 +664,10 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
663
664
|
state.compilationString += `${state._declareLocalVar("worldPos", NodeMaterialBlockConnectionPointTypes.Vector4)} = ${worldPos.associatedVariableName};\n`;
|
|
664
665
|
if (this.view.isConnected) {
|
|
665
666
|
state.compilationString += `${state._declareLocalVar("view", NodeMaterialBlockConnectionPointTypes.Matrix)} = ${this.view.associatedVariableName};\n`;
|
|
667
|
+
state._emitVaryingFromString("vViewDepth", NodeMaterialBlockConnectionPointTypes.Float);
|
|
668
|
+
state.compilationString +=
|
|
669
|
+
(state.shaderLanguage === 1 /* ShaderLanguage.WGSL */ ? "vertexOutputs." : "") +
|
|
670
|
+
`vViewDepth = (${this.view.associatedVariableName} * ${worldPos.associatedVariableName}).z;\n`;
|
|
666
671
|
}
|
|
667
672
|
state.compilationString += state._emitCodeFromInclude("shadowsVertex", comments, {
|
|
668
673
|
repeatKey: "maxSimultaneousLights",
|
|
@@ -783,17 +788,21 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
783
788
|
const comments = `//${this.name}`;
|
|
784
789
|
const normalShading = this.perturbedNormal;
|
|
785
790
|
let worldPosVarName = this.worldPosition.associatedVariableName;
|
|
791
|
+
let worldPosVarName4 = this.worldPosition.associatedVariableName;
|
|
786
792
|
let worldNormalVarName = this.worldNormal.associatedVariableName;
|
|
787
793
|
if (this.generateOnlyFragmentCode) {
|
|
788
794
|
worldPosVarName = state._getFreeVariableName("globalWorldPos");
|
|
789
|
-
state._emitFunction("pbr_globalworldpos",
|
|
795
|
+
state._emitFunction("pbr_globalworldpos", `${state._declareLocalVar(worldPosVarName, NodeMaterialBlockConnectionPointTypes.Vector3, false, true)};\n`, comments);
|
|
790
796
|
state.compilationString += `${worldPosVarName} = ${this.worldPosition.associatedVariableName}.xyz;\n`;
|
|
797
|
+
worldPosVarName4 = state._getFreeVariableName("globalWorldPos4");
|
|
798
|
+
state._emitFunction("pbr_globalworldpos4", `${state._declareLocalVar(worldPosVarName4, NodeMaterialBlockConnectionPointTypes.Vector4, false, true)};\n`, comments);
|
|
799
|
+
state.compilationString += `${worldPosVarName4} = ${this.worldPosition.associatedVariableName};\n`;
|
|
791
800
|
worldNormalVarName = state._getFreeVariableName("globalWorldNormal");
|
|
792
|
-
state._emitFunction("pbr_globalworldnorm",
|
|
801
|
+
state._emitFunction("pbr_globalworldnorm", `${state._declareLocalVar(worldNormalVarName, NodeMaterialBlockConnectionPointTypes.Vector4, false, true)};\n`, comments);
|
|
793
802
|
state.compilationString += `${worldNormalVarName} = ${this.worldNormal.associatedVariableName};\n`;
|
|
794
803
|
state.compilationString += state._emitCodeFromInclude("shadowsVertex", comments, {
|
|
795
804
|
repeatKey: "maxSimultaneousLights",
|
|
796
|
-
substitutionVars:
|
|
805
|
+
substitutionVars: `worldPos,${this.worldPosition.associatedVariableName}`,
|
|
797
806
|
});
|
|
798
807
|
state.compilationString += `#if DEBUGMODE > 0\n`;
|
|
799
808
|
state.compilationString += `${state._declareLocalVar("vClipSpacePosition", NodeMaterialBlockConnectionPointTypes.Vector4)} = vec4${state.fSuffix}((vec2${state.fSuffix}(${isWebGPU ? "fragmentInputs.position" : "gl_FragCoord.xy"}) / vec2${state.fSuffix}(1.0)) * 2.0 - 1.0, 0.0, 1.0);\n`;
|
|
@@ -827,6 +836,9 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
827
836
|
// Includes
|
|
828
837
|
//
|
|
829
838
|
if (!this.light) {
|
|
839
|
+
if (this.generateOnlyFragmentCode && this.view.isConnected) {
|
|
840
|
+
state.compilationString += `${state._declareLocalVar("vViewDepth", NodeMaterialBlockConnectionPointTypes.Float)} = (${this.view.associatedVariableName} * ${worldPosVarName4}).z;\n`;
|
|
841
|
+
}
|
|
830
842
|
// Emit for all lights
|
|
831
843
|
state._emitFunctionFromInclude(state.supportUniformBuffers ? "lightUboDeclaration" : "lightFragmentDeclaration", comments, {
|
|
832
844
|
repeatKey: "maxSimultaneousLights",
|
|
@@ -857,6 +869,10 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
857
869
|
state._emitFunctionFromInclude("pbrBlockAmbientOcclusion", comments);
|
|
858
870
|
state._emitFunctionFromInclude("pbrBlockAlphaFresnel", comments);
|
|
859
871
|
state._emitFunctionFromInclude("pbrBlockAnisotropic", comments);
|
|
872
|
+
if (!isWebGPU) {
|
|
873
|
+
// In WebGPU, those functions are part of pbrDirectLightingFunctions
|
|
874
|
+
state._emitFunctionFromInclude("pbrClusteredLightingFunctions", comments);
|
|
875
|
+
}
|
|
860
876
|
//
|
|
861
877
|
// code
|
|
862
878
|
//
|
|
@@ -1010,9 +1026,16 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
|
|
|
1010
1026
|
});
|
|
1011
1027
|
}
|
|
1012
1028
|
else {
|
|
1029
|
+
let substitutionVars = `vPositionW,${worldPosVarName}.xyz`;
|
|
1030
|
+
if (isWebGPU) {
|
|
1031
|
+
substitutionVars = "fragmentInputs." + substitutionVars;
|
|
1032
|
+
if (this.generateOnlyFragmentCode) {
|
|
1033
|
+
substitutionVars += `,fragmentInputs.vViewDepth,vViewDepth`;
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1013
1036
|
state.compilationString += state._emitCodeFromInclude("lightFragment", comments, {
|
|
1014
1037
|
repeatKey: "maxSimultaneousLights",
|
|
1015
|
-
substitutionVars:
|
|
1038
|
+
substitutionVars: substitutionVars + ",uniforms.vReflectivityColor,vReflectivityColor",
|
|
1016
1039
|
});
|
|
1017
1040
|
}
|
|
1018
1041
|
// _____________________________ Compute Final Lit Components ________________________
|