1 |
- {"ast":null,"code":"import { Matrix } from \"../Maths/math.vector.js\";\n/**\n * Type of clear operation to perform on a geometry texture.\n */\nexport var GeometryRenderingTextureClearType;\n(function (GeometryRenderingTextureClearType) {\n /**\n * Clear the texture with zero.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"Zero\"] = 0] = \"Zero\";\n /**\n * Clear the texture with one.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"One\"] = 1] = \"One\";\n /**\n * Clear the texture with the maximum view Z value.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"MaxViewZ\"] = 2] = \"MaxViewZ\";\n})(GeometryRenderingTextureClearType || (GeometryRenderingTextureClearType = {}));\n/**\n * Helper class to manage geometry rendering.\n */\nexport class MaterialHelperGeometryRendering {\n /**\n * Creates a new geometry rendering configuration.\n * @param renderPassId Render pass id the configuration is created for.\n * @returns The created configuration.\n */\n static CreateConfiguration(renderPassId) {\n MaterialHelperGeometryRendering._Configurations[renderPassId] = {\n defines: {},\n previousWorldMatrices: {},\n previousViewProjection: Matrix.Zero(),\n currentViewProjection: Matrix.Zero(),\n previousBones: {},\n lastUpdateFrameId: -1,\n excludedSkinnedMesh: []\n };\n return MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Deletes a geometry rendering configuration.\n * @param renderPassId The render pass id of the configuration to delete.\n */\n static DeleteConfiguration(renderPassId) {\n delete MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Gets a geometry rendering configuration.\n * @param renderPassId The render pass id of the configuration to get.\n * @returns The configuration.\n */\n static GetConfiguration(renderPassId) {\n return MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Adds uniforms and samplers for geometry rendering.\n * @param uniforms The array of uniforms to add to.\n * @param _samplers The array of samplers to add to.\n */\n static AddUniformsAndSamplers(uniforms, _samplers) {\n uniforms.push(\"previousWorld\", \"previousViewProjection\", \"mPreviousBones\");\n }\n /**\n * Marks a list of meshes as dirty for geometry rendering.\n * @param renderPassId The render pass id the meshes are marked as dirty for.\n * @param meshes The list of meshes to mark as dirty.\n */\n static MarkAsDirty(renderPassId, meshes) {\n for (const mesh of meshes) {\n if (!mesh.subMeshes) {\n continue;\n }\n for (const subMesh of mesh.subMeshes) {\n subMesh._removeDrawWrapper(renderPassId);\n }\n }\n }\n /**\n * Prepares defines for geometry rendering.\n * @param renderPassId The render pass id the defines are prepared for.\n * @param mesh The mesh the defines are prepared for.\n * @param defines The defines to update according to the geometry rendering configuration.\n */\n static PrepareDefines(renderPassId, mesh, defines) {\n if (!defines._arePrePassDirty) {\n return;\n }\n const configuration = MaterialHelperGeometryRendering._Configurations[renderPassId];\n if (!configuration) {\n return;\n }\n defines[\"PREPASS\"] = true;\n defines[\"PREPASS_COLOR\"] = false;\n defines[\"PREPASS_COLOR_INDEX\"] = -1;\n let numMRT = 0;\n for (let i = 0; i < MaterialHelperGeometryRendering.GeometryTextureDescriptions.length; i++) {\n const geometryTextureDescription = MaterialHelperGeometryRendering.GeometryTextureDescriptions[i];\n const defineName = geometryTextureDescription.define;\n const defineIndex = geometryTextureDescription.defineIndex;\n const index = configuration.defines[defineIndex];\n if (index !== undefined) {\n defines[defineName] = true;\n defines[defineIndex] = index;\n numMRT++;\n } else {\n defines[defineName] = false;\n delete defines[defineIndex];\n }\n }\n defines[\"SCENE_MRT_COUNT\"] = numMRT;\n defines[\"BONES_VELOCITY_ENABLED\"] = mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton && !mesh.skeleton.isUsingTextureForMatrices && configuration.excludedSkinnedMesh.indexOf(mesh) === -1;\n }\n /**\n * Binds geometry rendering data for a mesh.\n * @param renderPassId The render pass id the geometry rendering data is bound for.\n * @param effect The effect to bind the geometry rendering data to.\n * @param mesh The mesh to bind the geometry rendering data for.\n * @param world The world matrix of the mesh.\n */\n static Bind(renderPassId, effect, mesh, world) {\n const configuration = MaterialHelperGeometryRendering._Configurations[renderPassId];\n if (!configuration) {\n return;\n }\n if (configuration.defines[\"PREPASS_VELOCITY_INDEX\"] !== undefined || configuration.defines[\"PREPASS_VELOCITY_LINEAR_INDEX\"] !== undefined) {\n if (!configuration.previousWorldMatrices[mesh.uniqueId]) {\n configuration.previousWorldMatrices[mesh.uniqueId] = world.clone();\n }\n const scene = mesh.getScene();\n if (!configuration.previousViewProjection) {\n configuration.previousViewProjection = scene.getTransformMatrix().clone();\n configuration.currentViewProjection = scene.getTransformMatrix().clone();\n }\n const engine = scene.getEngine();\n if (configuration.currentViewProjection.updateFlag !== scene.getTransformMatrix().updateFlag) {\n // First update of the prepass configuration for this rendering pass\n configuration.lastUpdateFrameId = engine.frameId;\n configuration.previousViewProjection.copyFrom(configuration.currentViewProjection);\n configuration.currentViewProjection.copyFrom(scene.getTransformMatrix());\n } else if (configuration.lastUpdateFrameId !== engine.frameId) {\n // The scene transformation did not change from the previous frame (so no camera motion), we must update previousViewProjection accordingly\n configuration.lastUpdateFrameId = engine.frameId;\n configuration.previousViewProjection.copyFrom(configuration.currentViewProjection);\n }\n effect.setMatrix(\"previousWorld\", configuration.previousWorldMatrices[mesh.uniqueId]);\n effect.setMatrix(\"previousViewProjection\", configuration.previousViewProjection);\n configuration.previousWorldMatrices[mesh.uniqueId] = world.clone();\n if (mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton) {\n const skeleton = mesh.skeleton;\n if (!skeleton.isUsingTextureForMatrices || effect.getUniformIndex(\"boneTextureWidth\") === -1) {\n const matrices = skeleton.getTransformMatrices(mesh);\n if (matrices) {\n if (!configuration.previousBones[mesh.uniqueId]) {\n configuration.previousBones[mesh.uniqueId] = matrices.slice();\n }\n effect.setMatrices(\"mPreviousBones\", configuration.previousBones[mesh.uniqueId]);\n configuration.previousBones[mesh.uniqueId].set(matrices);\n }\n }\n }\n }\n }\n}\n/**\n * Descriptions of the geometry textures.\n */\nMaterialHelperGeometryRendering.GeometryTextureDescriptions = [{\n type: 0,\n name: \"Irradiance\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_IRRADIANCE\",\n defineIndex: \"PREPASS_IRRADIANCE_INDEX\"\n}, {\n type: 1,\n name: \"WorldPosition\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_POSITION\",\n defineIndex: \"PREPASS_POSITION_INDEX\"\n}, {\n type: 2,\n name: \"Velocity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_VELOCITY\",\n defineIndex: \"PREPASS_VELOCITY_INDEX\"\n}, {\n type: 3,\n name: \"Reflectivity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_REFLECTIVITY\",\n defineIndex: \"PREPASS_REFLECTIVITY_INDEX\"\n}, {\n type: 5,\n name: \"ViewDepth\",\n clearType: 2 /* GeometryRenderingTextureClearType.MaxViewZ */,\n define: \"PREPASS_DEPTH\",\n defineIndex: \"PREPASS_DEPTH_INDEX\"\n}, {\n type: 6,\n name: \"ViewNormal\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_NORMAL\",\n defineIndex: \"PREPASS_NORMAL_INDEX\"\n}, {\n type: 7,\n name: \"AlbedoSqrt\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_ALBEDO_SQRT\",\n defineIndex: \"PREPASS_ALBEDO_SQRT_INDEX\"\n}, {\n type: 8,\n name: \"WorldNormal\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_WORLD_NORMAL\",\n defineIndex: \"PREPASS_WORLD_NORMAL_INDEX\"\n}, {\n type: 9,\n name: \"LocalPosition\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_LOCAL_POSITION\",\n defineIndex: \"PREPASS_LOCAL_POSITION_INDEX\"\n}, {\n type: 10,\n name: \"ScreenDepth\",\n clearType: 1 /* GeometryRenderingTextureClearType.One */,\n define: \"PREPASS_SCREENSPACE_DEPTH\",\n defineIndex: \"PREPASS_SCREENSPACE_DEPTH_INDEX\"\n}, {\n type: 11,\n name: \"LinearVelocity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_VELOCITY_LINEAR\",\n defineIndex: \"PREPASS_VELOCITY_LINEAR_INDEX\"\n}, {\n type: 12,\n name: \"Albedo\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_ALBEDO\",\n defineIndex: \"PREPASS_ALBEDO_INDEX\"\n}];\nMaterialHelperGeometryRendering._Configurations = {};","map":{"version":3,"names":["Matrix","GeometryRenderingTextureClearType","MaterialHelperGeometryRendering","CreateConfiguration","renderPassId","_Configurations","defines","previousWorldMatrices","previousViewProjection","Zero","currentViewProjection","previousBones","lastUpdateFrameId","excludedSkinnedMesh","DeleteConfiguration","GetConfiguration","AddUniformsAndSamplers","uniforms","_samplers","push","MarkAsDirty","meshes","mesh","subMeshes","subMesh","_removeDrawWrapper","PrepareDefines","_arePrePassDirty","configuration","numMRT","i","GeometryTextureDescriptions","length","geometryTextureDescription","defineName","define","defineIndex","index","undefined","useBones","computeBonesUsingShaders","skeleton","isUsingTextureForMatrices","indexOf","Bind","effect","world","uniqueId","clone","scene","getScene","getTransformMatrix","engine","getEngine","updateFlag","frameId","copyFrom","setMatrix","getUniformIndex","matrices","getTransformMatrices","slice","setMatrices","set","type","name","clearType"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/materialHelper.geometryrendering.js"],"sourcesContent":["\nimport { Matrix } from \"../Maths/math.vector.js\";\n/**\n * Type of clear operation to perform on a geometry texture.\n */\nexport var GeometryRenderingTextureClearType;\n(function (GeometryRenderingTextureClearType) {\n /**\n * Clear the texture with zero.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"Zero\"] = 0] = \"Zero\";\n /**\n * Clear the texture with one.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"One\"] = 1] = \"One\";\n /**\n * Clear the texture with the maximum view Z value.\n */\n GeometryRenderingTextureClearType[GeometryRenderingTextureClearType[\"MaxViewZ\"] = 2] = \"MaxViewZ\";\n})(GeometryRenderingTextureClearType || (GeometryRenderingTextureClearType = {}));\n/**\n * Helper class to manage geometry rendering.\n */\nexport class MaterialHelperGeometryRendering {\n /**\n * Creates a new geometry rendering configuration.\n * @param renderPassId Render pass id the configuration is created for.\n * @returns The created configuration.\n */\n static CreateConfiguration(renderPassId) {\n MaterialHelperGeometryRendering._Configurations[renderPassId] = {\n defines: {},\n previousWorldMatrices: {},\n previousViewProjection: Matrix.Zero(),\n currentViewProjection: Matrix.Zero(),\n previousBones: {},\n lastUpdateFrameId: -1,\n excludedSkinnedMesh: [],\n };\n return MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Deletes a geometry rendering configuration.\n * @param renderPassId The render pass id of the configuration to delete.\n */\n static DeleteConfiguration(renderPassId) {\n delete MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Gets a geometry rendering configuration.\n * @param renderPassId The render pass id of the configuration to get.\n * @returns The configuration.\n */\n static GetConfiguration(renderPassId) {\n return MaterialHelperGeometryRendering._Configurations[renderPassId];\n }\n /**\n * Adds uniforms and samplers for geometry rendering.\n * @param uniforms The array of uniforms to add to.\n * @param _samplers The array of samplers to add to.\n */\n static AddUniformsAndSamplers(uniforms, _samplers) {\n uniforms.push(\"previousWorld\", \"previousViewProjection\", \"mPreviousBones\");\n }\n /**\n * Marks a list of meshes as dirty for geometry rendering.\n * @param renderPassId The render pass id the meshes are marked as dirty for.\n * @param meshes The list of meshes to mark as dirty.\n */\n static MarkAsDirty(renderPassId, meshes) {\n for (const mesh of meshes) {\n if (!mesh.subMeshes) {\n continue;\n }\n for (const subMesh of mesh.subMeshes) {\n subMesh._removeDrawWrapper(renderPassId);\n }\n }\n }\n /**\n * Prepares defines for geometry rendering.\n * @param renderPassId The render pass id the defines are prepared for.\n * @param mesh The mesh the defines are prepared for.\n * @param defines The defines to update according to the geometry rendering configuration.\n */\n static PrepareDefines(renderPassId, mesh, defines) {\n if (!defines._arePrePassDirty) {\n return;\n }\n const configuration = MaterialHelperGeometryRendering._Configurations[renderPassId];\n if (!configuration) {\n return;\n }\n defines[\"PREPASS\"] = true;\n defines[\"PREPASS_COLOR\"] = false;\n defines[\"PREPASS_COLOR_INDEX\"] = -1;\n let numMRT = 0;\n for (let i = 0; i < MaterialHelperGeometryRendering.GeometryTextureDescriptions.length; i++) {\n const geometryTextureDescription = MaterialHelperGeometryRendering.GeometryTextureDescriptions[i];\n const defineName = geometryTextureDescription.define;\n const defineIndex = geometryTextureDescription.defineIndex;\n const index = configuration.defines[defineIndex];\n if (index !== undefined) {\n defines[defineName] = true;\n defines[defineIndex] = index;\n numMRT++;\n }\n else {\n defines[defineName] = false;\n delete defines[defineIndex];\n }\n }\n defines[\"SCENE_MRT_COUNT\"] = numMRT;\n defines[\"BONES_VELOCITY_ENABLED\"] =\n mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton && !mesh.skeleton.isUsingTextureForMatrices && configuration.excludedSkinnedMesh.indexOf(mesh) === -1;\n }\n /**\n * Binds geometry rendering data for a mesh.\n * @param renderPassId The render pass id the geometry rendering data is bound for.\n * @param effect The effect to bind the geometry rendering data to.\n * @param mesh The mesh to bind the geometry rendering data for.\n * @param world The world matrix of the mesh.\n */\n static Bind(renderPassId, effect, mesh, world) {\n const configuration = MaterialHelperGeometryRendering._Configurations[renderPassId];\n if (!configuration) {\n return;\n }\n if (configuration.defines[\"PREPASS_VELOCITY_INDEX\"] !== undefined || configuration.defines[\"PREPASS_VELOCITY_LINEAR_INDEX\"] !== undefined) {\n if (!configuration.previousWorldMatrices[mesh.uniqueId]) {\n configuration.previousWorldMatrices[mesh.uniqueId] = world.clone();\n }\n const scene = mesh.getScene();\n if (!configuration.previousViewProjection) {\n configuration.previousViewProjection = scene.getTransformMatrix().clone();\n configuration.currentViewProjection = scene.getTransformMatrix().clone();\n }\n const engine = scene.getEngine();\n if (configuration.currentViewProjection.updateFlag !== scene.getTransformMatrix().updateFlag) {\n // First update of the prepass configuration for this rendering pass\n configuration.lastUpdateFrameId = engine.frameId;\n configuration.previousViewProjection.copyFrom(configuration.currentViewProjection);\n configuration.currentViewProjection.copyFrom(scene.getTransformMatrix());\n }\n else if (configuration.lastUpdateFrameId !== engine.frameId) {\n // The scene transformation did not change from the previous frame (so no camera motion), we must update previousViewProjection accordingly\n configuration.lastUpdateFrameId = engine.frameId;\n configuration.previousViewProjection.copyFrom(configuration.currentViewProjection);\n }\n effect.setMatrix(\"previousWorld\", configuration.previousWorldMatrices[mesh.uniqueId]);\n effect.setMatrix(\"previousViewProjection\", configuration.previousViewProjection);\n configuration.previousWorldMatrices[mesh.uniqueId] = world.clone();\n if (mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton) {\n const skeleton = mesh.skeleton;\n if (!skeleton.isUsingTextureForMatrices || effect.getUniformIndex(\"boneTextureWidth\") === -1) {\n const matrices = skeleton.getTransformMatrices(mesh);\n if (matrices) {\n if (!configuration.previousBones[mesh.uniqueId]) {\n configuration.previousBones[mesh.uniqueId] = matrices.slice();\n }\n effect.setMatrices(\"mPreviousBones\", configuration.previousBones[mesh.uniqueId]);\n configuration.previousBones[mesh.uniqueId].set(matrices);\n }\n }\n }\n }\n }\n}\n/**\n * Descriptions of the geometry textures.\n */\nMaterialHelperGeometryRendering.GeometryTextureDescriptions = [\n {\n type: 0,\n name: \"Irradiance\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_IRRADIANCE\",\n defineIndex: \"PREPASS_IRRADIANCE_INDEX\",\n },\n {\n type: 1,\n name: \"WorldPosition\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_POSITION\",\n defineIndex: \"PREPASS_POSITION_INDEX\",\n },\n {\n type: 2,\n name: \"Velocity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_VELOCITY\",\n defineIndex: \"PREPASS_VELOCITY_INDEX\",\n },\n {\n type: 3,\n name: \"Reflectivity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_REFLECTIVITY\",\n defineIndex: \"PREPASS_REFLECTIVITY_INDEX\",\n },\n {\n type: 5,\n name: \"ViewDepth\",\n clearType: 2 /* GeometryRenderingTextureClearType.MaxViewZ */,\n define: \"PREPASS_DEPTH\",\n defineIndex: \"PREPASS_DEPTH_INDEX\",\n },\n {\n type: 6,\n name: \"ViewNormal\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_NORMAL\",\n defineIndex: \"PREPASS_NORMAL_INDEX\",\n },\n {\n type: 7,\n name: \"AlbedoSqrt\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_ALBEDO_SQRT\",\n defineIndex: \"PREPASS_ALBEDO_SQRT_INDEX\",\n },\n {\n type: 8,\n name: \"WorldNormal\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_WORLD_NORMAL\",\n defineIndex: \"PREPASS_WORLD_NORMAL_INDEX\",\n },\n {\n type: 9,\n name: \"LocalPosition\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_LOCAL_POSITION\",\n defineIndex: \"PREPASS_LOCAL_POSITION_INDEX\",\n },\n {\n type: 10,\n name: \"ScreenDepth\",\n clearType: 1 /* GeometryRenderingTextureClearType.One */,\n define: \"PREPASS_SCREENSPACE_DEPTH\",\n defineIndex: \"PREPASS_SCREENSPACE_DEPTH_INDEX\",\n },\n {\n type: 11,\n name: \"LinearVelocity\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_VELOCITY_LINEAR\",\n defineIndex: \"PREPASS_VELOCITY_LINEAR_INDEX\",\n },\n {\n type: 12,\n name: \"Albedo\",\n clearType: 0 /* GeometryRenderingTextureClearType.Zero */,\n define: \"PREPASS_ALBEDO\",\n defineIndex: \"PREPASS_ALBEDO_INDEX\",\n },\n];\nMaterialHelperGeometryRendering._Configurations = {};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|