{"ast":null,"code":"import { BindBonesParameters, BindFogParameters, BindLight, BindLightProperties, BindLights, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, BindTextureMatrix, GetFogState, HandleFallbacksForShadows, PrepareAttributesForBakedVertexAnimation, PrepareAttributesForBones, PrepareAttributesForInstances, PrepareAttributesForMorphTargets, PrepareAttributesForMorphTargetsInfluencers, PrepareDefinesForAttributes, PrepareDefinesForBakedVertexAnimation, PrepareDefinesForBones, PrepareDefinesForCamera, PrepareDefinesForFrameBoundValues, PrepareDefinesForLight, PrepareDefinesForLights, PrepareDefinesForMergedUV, PrepareDefinesForMisc, PrepareDefinesForMorphTargets, PrepareDefinesForMultiview, PrepareDefinesForOIT, PrepareDefinesForPrePass, PrepareUniformsAndSamplersForLight, PrepareUniformsAndSamplersList, PushAttributesForInstances } from \"./materialHelper.functions.js\";\n/**\n * \"Static Class\" containing the most commonly used helper while dealing with material for rendering purpose.\n *\n * It contains the basic tools to help defining defines, binding uniform for the common part of the materials.\n *\n * This works by convention in BabylonJS but is meant to be use only with shader following the in place naming rules and conventions.\n */\nexport class MaterialHelper {}\n/**\n * Binds the scene's uniform buffer to the effect.\n * @param effect defines the effect to bind to the scene uniform buffer\n * @param sceneUbo defines the uniform buffer storing scene data\n */\nMaterialHelper.BindSceneUniformBuffer = BindSceneUniformBuffer;\n/**\n * Helps preparing the defines values about the UVs in used in the effect.\n * UVs are shared as much as we can across channels in the shaders.\n * @param texture The texture we are preparing the UVs for\n * @param defines The defines to update\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\n */\nMaterialHelper.PrepareDefinesForMergedUV = PrepareDefinesForMergedUV;\n/**\n * Binds a texture matrix value to its corresponding uniform\n * @param texture The texture to bind the matrix for\n * @param uniformBuffer The uniform buffer receiving the data\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\n */\nMaterialHelper.BindTextureMatrix = BindTextureMatrix;\n/**\n * Gets the current status of the fog (should it be enabled?)\n * @param mesh defines the mesh to evaluate for fog support\n * @param scene defines the hosting scene\n * @returns true if fog must be enabled\n */\nMaterialHelper.GetFogState = GetFogState;\n/**\n * Helper used to prepare the list of defines associated with misc. values for shader compilation\n * @param mesh defines the current mesh\n * @param scene defines the current scene\n * @param useLogarithmicDepth defines if logarithmic depth has to be turned on\n * @param pointsCloud defines if point cloud rendering has to be turned on\n * @param fogEnabled defines if fog has to be turned on\n * @param alphaTest defines if alpha testing has to be turned on\n * @param defines defines the current list of defines\n * @param applyDecalAfterDetail Defines if the decal is applied after or before the detail\n */\nMaterialHelper.PrepareDefinesForMisc = PrepareDefinesForMisc;\n/**\n * Helper used to prepare the defines relative to the active camera\n * @param scene defines the current scene\n * @param defines specifies the list of active defines\n * @returns true if the defines have been updated, else false\n */\nMaterialHelper.PrepareDefinesForCamera = PrepareDefinesForCamera;\n/**\n * Helper used to prepare the list of defines associated with frame values for shader compilation\n * @param scene defines the current scene\n * @param engine defines the current engine\n * @param material defines the material we are compiling the shader for\n * @param defines specifies the list of active defines\n * @param useInstances defines if instances have to be turned on\n * @param useClipPlane defines if clip plane have to be turned on\n * @param useThinInstances defines if thin instances have to be turned on\n */\nMaterialHelper.PrepareDefinesForFrameBoundValues = PrepareDefinesForFrameBoundValues;\n/**\n * Prepares the defines for bones\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForBones = PrepareDefinesForBones;\n/**\n * Prepares the defines for morph targets\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForMorphTargets = PrepareDefinesForMorphTargets;\n/**\n * Prepares the defines for baked vertex animation\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForBakedVertexAnimation = PrepareDefinesForBakedVertexAnimation;\n/**\n * Prepares the defines used in the shader depending on the attributes data available in the mesh\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n * @param useVertexColor Precise whether vertex colors should be used or not (override mesh info)\n * @param useBones Precise whether bones should be used or not (override mesh info)\n * @param useMorphTargets Precise whether morph targets should be used or not (override mesh info)\n * @param useVertexAlpha Precise whether vertex alpha should be used or not (override mesh info)\n * @param useBakedVertexAnimation Precise whether baked vertex animation should be used or not (override mesh info)\n * @returns false if defines are considered not dirty and have not been checked\n */\nMaterialHelper.PrepareDefinesForAttributes = PrepareDefinesForAttributes;\n/**\n * Prepares the defines related to multiview\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForMultiview = PrepareDefinesForMultiview;\n/**\n * Prepares the defines related to order independant transparency\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n * @param needAlphaBlending Determines if the material needs alpha blending\n */\nMaterialHelper.PrepareDefinesForOIT = PrepareDefinesForOIT;\n/**\n * Prepares the defines related to the prepass\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n * @param canRenderToMRT Indicates if this material renders to several textures in the prepass\n */\nMaterialHelper.PrepareDefinesForPrePass = PrepareDefinesForPrePass;\n/**\n * Prepares the defines related to the light information passed in parameter\n * @param scene The scene we are intending to draw\n * @param mesh The mesh the effect is compiling for\n * @param light The light the effect is compiling for\n * @param lightIndex The index of the light\n * @param defines The defines to update\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\n * @param state Defines the current state regarding what is needed (normals, etc...)\n * @param state.needNormals\n * @param state.needRebuild\n * @param state.shadowEnabled\n * @param state.specularEnabled\n * @param state.lightmapMode\n */\nMaterialHelper.PrepareDefinesForLight = PrepareDefinesForLight;\n/**\n * Prepares the defines related to the light information passed in parameter\n * @param scene The scene we are intending to draw\n * @param mesh The mesh the effect is compiling for\n * @param defines The defines to update\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\n * @param maxSimultaneousLights Specifies how manuy lights can be added to the effect at max\n * @param disableLighting Specifies whether the lighting is disabled (override scene and light)\n * @returns true if normals will be required for the rest of the effect\n */\nMaterialHelper.PrepareDefinesForLights = PrepareDefinesForLights;\n/**\n * Prepares the uniforms and samplers list to be used in the effect (for a specific light)\n * @param lightIndex defines the light index\n * @param uniformsList The uniform list\n * @param samplersList The sampler list\n * @param projectedLightTexture defines if projected texture must be used\n * @param uniformBuffersList defines an optional list of uniform buffers\n * @param updateOnlyBuffersList True to only update the uniformBuffersList array\n */\nMaterialHelper.PrepareUniformsAndSamplersForLight = PrepareUniformsAndSamplersForLight;\n/**\n * Prepares the uniforms and samplers list to be used in the effect\n * @param uniformsListOrOptions The uniform names to prepare or an EffectCreationOptions containing the list and extra information\n * @param samplersList The sampler list\n * @param defines The defines helping in the list generation\n * @param maxSimultaneousLights The maximum number of simultaneous light allowed in the effect\n */\nMaterialHelper.PrepareUniformsAndSamplersList = PrepareUniformsAndSamplersList;\n/**\n * This helps decreasing rank by rank the shadow quality (0 being the highest rank and quality)\n * @param defines The defines to update while falling back\n * @param fallbacks The authorized effect fallbacks\n * @param maxSimultaneousLights The maximum number of lights allowed\n * @param rank the current rank of the Effect\n * @returns The newly affected rank\n */\nMaterialHelper.HandleFallbacksForShadows = HandleFallbacksForShadows;\n/**\n * Prepares the list of attributes required for morph targets according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the morph targets attributes for\n * @param influencers The number of influencers\n */\nMaterialHelper.PrepareAttributesForMorphTargetsInfluencers = PrepareAttributesForMorphTargetsInfluencers;\n/**\n * Prepares the list of attributes required for morph targets according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the morph targets attributes for\n * @param defines The current Defines of the effect\n */\nMaterialHelper.PrepareAttributesForMorphTargets = PrepareAttributesForMorphTargets;\n/**\n * Prepares the list of attributes required for baked vertex animations according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare for baked vertex animations\n * @param defines The current Defines of the effect\n */\nMaterialHelper.PrepareAttributesForBakedVertexAnimation = PrepareAttributesForBakedVertexAnimation;\n/**\n * Prepares the list of attributes required for bones according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the bones attributes for\n * @param defines The current Defines of the effect\n * @param fallbacks The current effect fallback strategy\n */\nMaterialHelper.PrepareAttributesForBones = PrepareAttributesForBones;\n/**\n * Check and prepare the list of attributes required for instances according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param defines The current MaterialDefines of the effect\n */\nMaterialHelper.PrepareAttributesForInstances = PrepareAttributesForInstances;\n/**\n * Add the list of attributes required for instances to the attribs array.\n * @param attribs The current list of supported attribs\n * @param needsPreviousMatrices If the shader needs previous matrices\n */\nMaterialHelper.PushAttributesForInstances = PushAttributesForInstances;\n/**\n * Binds the light information to the effect.\n * @param light The light containing the generator\n * @param effect The effect we are binding the data to\n * @param lightIndex The light index in the effect used to render\n */\nMaterialHelper.BindLightProperties = BindLightProperties;\n/**\n * Binds the lights information from the scene to the effect for the given mesh.\n * @param light Light to bind\n * @param lightIndex Light index\n * @param scene The scene where the light belongs to\n * @param effect The effect we are binding the data to\n * @param useSpecular Defines if specular is supported\n * @param receiveShadows Defines if the effect (mesh) we bind the light for receives shadows\n */\nMaterialHelper.BindLight = BindLight;\n/**\n * Binds the lights information from the scene to the effect for the given mesh.\n * @param scene The scene the lights belongs to\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param defines The generated defines for the effect\n * @param maxSimultaneousLights The maximum number of light that can be bound to the effect\n */\nMaterialHelper.BindLights = BindLights;\n/**\n * Binds the fog information from the scene to the effect for the given mesh.\n * @param scene The scene the lights belongs to\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param linearSpace Defines if the fog effect is applied in linear space\n */\nMaterialHelper.BindFogParameters = BindFogParameters;\n/**\n * Binds the bones information from the mesh to the effect.\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param prePassConfiguration Configuration for the prepass, in case prepass is activated\n */\nMaterialHelper.BindBonesParameters = BindBonesParameters;\n/**\n * Binds the morph targets information from the mesh to the effect.\n * @param abstractMesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n */\nMaterialHelper.BindMorphTargetParameters = BindMorphTargetParameters;\n/**\n * Binds the logarithmic depth information from the scene to the effect for the given defines.\n * @param defines The generated defines used in the effect\n * @param effect The effect we are binding the data to\n * @param scene The scene we are willing to render with logarithmic scale for\n */\nMaterialHelper.BindLogDepth = BindLogDepth;","map":{"version":3,"names":["BindBonesParameters","BindFogParameters","BindLight","BindLightProperties","BindLights","BindLogDepth","BindMorphTargetParameters","BindSceneUniformBuffer","BindTextureMatrix","GetFogState","HandleFallbacksForShadows","PrepareAttributesForBakedVertexAnimation","PrepareAttributesForBones","PrepareAttributesForInstances","PrepareAttributesForMorphTargets","PrepareAttributesForMorphTargetsInfluencers","PrepareDefinesForAttributes","PrepareDefinesForBakedVertexAnimation","PrepareDefinesForBones","PrepareDefinesForCamera","PrepareDefinesForFrameBoundValues","PrepareDefinesForLight","PrepareDefinesForLights","PrepareDefinesForMergedUV","PrepareDefinesForMisc","PrepareDefinesForMorphTargets","PrepareDefinesForMultiview","PrepareDefinesForOIT","PrepareDefinesForPrePass","PrepareUniformsAndSamplersForLight","PrepareUniformsAndSamplersList","PushAttributesForInstances","MaterialHelper"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/materialHelper.js"],"sourcesContent":["import { BindBonesParameters, BindFogParameters, BindLight, BindLightProperties, BindLights, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, BindTextureMatrix, GetFogState, HandleFallbacksForShadows, PrepareAttributesForBakedVertexAnimation, PrepareAttributesForBones, PrepareAttributesForInstances, PrepareAttributesForMorphTargets, PrepareAttributesForMorphTargetsInfluencers, PrepareDefinesForAttributes, PrepareDefinesForBakedVertexAnimation, PrepareDefinesForBones, PrepareDefinesForCamera, PrepareDefinesForFrameBoundValues, PrepareDefinesForLight, PrepareDefinesForLights, PrepareDefinesForMergedUV, PrepareDefinesForMisc, PrepareDefinesForMorphTargets, PrepareDefinesForMultiview, PrepareDefinesForOIT, PrepareDefinesForPrePass, PrepareUniformsAndSamplersForLight, PrepareUniformsAndSamplersList, PushAttributesForInstances, } from \"./materialHelper.functions.js\";\n/**\n * \"Static Class\" containing the most commonly used helper while dealing with material for rendering purpose.\n *\n * It contains the basic tools to help defining defines, binding uniform for the common part of the materials.\n *\n * This works by convention in BabylonJS but is meant to be use only with shader following the in place naming rules and conventions.\n */\nexport class MaterialHelper {\n}\n/**\n * Binds the scene's uniform buffer to the effect.\n * @param effect defines the effect to bind to the scene uniform buffer\n * @param sceneUbo defines the uniform buffer storing scene data\n */\nMaterialHelper.BindSceneUniformBuffer = BindSceneUniformBuffer;\n/**\n * Helps preparing the defines values about the UVs in used in the effect.\n * UVs are shared as much as we can across channels in the shaders.\n * @param texture The texture we are preparing the UVs for\n * @param defines The defines to update\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\n */\nMaterialHelper.PrepareDefinesForMergedUV = PrepareDefinesForMergedUV;\n/**\n * Binds a texture matrix value to its corresponding uniform\n * @param texture The texture to bind the matrix for\n * @param uniformBuffer The uniform buffer receiving the data\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\n */\nMaterialHelper.BindTextureMatrix = BindTextureMatrix;\n/**\n * Gets the current status of the fog (should it be enabled?)\n * @param mesh defines the mesh to evaluate for fog support\n * @param scene defines the hosting scene\n * @returns true if fog must be enabled\n */\nMaterialHelper.GetFogState = GetFogState;\n/**\n * Helper used to prepare the list of defines associated with misc. values for shader compilation\n * @param mesh defines the current mesh\n * @param scene defines the current scene\n * @param useLogarithmicDepth defines if logarithmic depth has to be turned on\n * @param pointsCloud defines if point cloud rendering has to be turned on\n * @param fogEnabled defines if fog has to be turned on\n * @param alphaTest defines if alpha testing has to be turned on\n * @param defines defines the current list of defines\n * @param applyDecalAfterDetail Defines if the decal is applied after or before the detail\n */\nMaterialHelper.PrepareDefinesForMisc = PrepareDefinesForMisc;\n/**\n * Helper used to prepare the defines relative to the active camera\n * @param scene defines the current scene\n * @param defines specifies the list of active defines\n * @returns true if the defines have been updated, else false\n */\nMaterialHelper.PrepareDefinesForCamera = PrepareDefinesForCamera;\n/**\n * Helper used to prepare the list of defines associated with frame values for shader compilation\n * @param scene defines the current scene\n * @param engine defines the current engine\n * @param material defines the material we are compiling the shader for\n * @param defines specifies the list of active defines\n * @param useInstances defines if instances have to be turned on\n * @param useClipPlane defines if clip plane have to be turned on\n * @param useThinInstances defines if thin instances have to be turned on\n */\nMaterialHelper.PrepareDefinesForFrameBoundValues = PrepareDefinesForFrameBoundValues;\n/**\n * Prepares the defines for bones\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForBones = PrepareDefinesForBones;\n/**\n * Prepares the defines for morph targets\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForMorphTargets = PrepareDefinesForMorphTargets;\n/**\n * Prepares the defines for baked vertex animation\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForBakedVertexAnimation = PrepareDefinesForBakedVertexAnimation;\n/**\n * Prepares the defines used in the shader depending on the attributes data available in the mesh\n * @param mesh The mesh containing the geometry data we will draw\n * @param defines The defines to update\n * @param useVertexColor Precise whether vertex colors should be used or not (override mesh info)\n * @param useBones Precise whether bones should be used or not (override mesh info)\n * @param useMorphTargets Precise whether morph targets should be used or not (override mesh info)\n * @param useVertexAlpha Precise whether vertex alpha should be used or not (override mesh info)\n * @param useBakedVertexAnimation Precise whether baked vertex animation should be used or not (override mesh info)\n * @returns false if defines are considered not dirty and have not been checked\n */\nMaterialHelper.PrepareDefinesForAttributes = PrepareDefinesForAttributes;\n/**\n * Prepares the defines related to multiview\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n */\nMaterialHelper.PrepareDefinesForMultiview = PrepareDefinesForMultiview;\n/**\n * Prepares the defines related to order independant transparency\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n * @param needAlphaBlending Determines if the material needs alpha blending\n */\nMaterialHelper.PrepareDefinesForOIT = PrepareDefinesForOIT;\n/**\n * Prepares the defines related to the prepass\n * @param scene The scene we are intending to draw\n * @param defines The defines to update\n * @param canRenderToMRT Indicates if this material renders to several textures in the prepass\n */\nMaterialHelper.PrepareDefinesForPrePass = PrepareDefinesForPrePass;\n/**\n * Prepares the defines related to the light information passed in parameter\n * @param scene The scene we are intending to draw\n * @param mesh The mesh the effect is compiling for\n * @param light The light the effect is compiling for\n * @param lightIndex The index of the light\n * @param defines The defines to update\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\n * @param state Defines the current state regarding what is needed (normals, etc...)\n * @param state.needNormals\n * @param state.needRebuild\n * @param state.shadowEnabled\n * @param state.specularEnabled\n * @param state.lightmapMode\n */\nMaterialHelper.PrepareDefinesForLight = PrepareDefinesForLight;\n/**\n * Prepares the defines related to the light information passed in parameter\n * @param scene The scene we are intending to draw\n * @param mesh The mesh the effect is compiling for\n * @param defines The defines to update\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\n * @param maxSimultaneousLights Specifies how manuy lights can be added to the effect at max\n * @param disableLighting Specifies whether the lighting is disabled (override scene and light)\n * @returns true if normals will be required for the rest of the effect\n */\nMaterialHelper.PrepareDefinesForLights = PrepareDefinesForLights;\n/**\n * Prepares the uniforms and samplers list to be used in the effect (for a specific light)\n * @param lightIndex defines the light index\n * @param uniformsList The uniform list\n * @param samplersList The sampler list\n * @param projectedLightTexture defines if projected texture must be used\n * @param uniformBuffersList defines an optional list of uniform buffers\n * @param updateOnlyBuffersList True to only update the uniformBuffersList array\n */\nMaterialHelper.PrepareUniformsAndSamplersForLight = PrepareUniformsAndSamplersForLight;\n/**\n * Prepares the uniforms and samplers list to be used in the effect\n * @param uniformsListOrOptions The uniform names to prepare or an EffectCreationOptions containing the list and extra information\n * @param samplersList The sampler list\n * @param defines The defines helping in the list generation\n * @param maxSimultaneousLights The maximum number of simultaneous light allowed in the effect\n */\nMaterialHelper.PrepareUniformsAndSamplersList = PrepareUniformsAndSamplersList;\n/**\n * This helps decreasing rank by rank the shadow quality (0 being the highest rank and quality)\n * @param defines The defines to update while falling back\n * @param fallbacks The authorized effect fallbacks\n * @param maxSimultaneousLights The maximum number of lights allowed\n * @param rank the current rank of the Effect\n * @returns The newly affected rank\n */\nMaterialHelper.HandleFallbacksForShadows = HandleFallbacksForShadows;\n/**\n * Prepares the list of attributes required for morph targets according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the morph targets attributes for\n * @param influencers The number of influencers\n */\nMaterialHelper.PrepareAttributesForMorphTargetsInfluencers = PrepareAttributesForMorphTargetsInfluencers;\n/**\n * Prepares the list of attributes required for morph targets according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the morph targets attributes for\n * @param defines The current Defines of the effect\n */\nMaterialHelper.PrepareAttributesForMorphTargets = PrepareAttributesForMorphTargets;\n/**\n * Prepares the list of attributes required for baked vertex animations according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare for baked vertex animations\n * @param defines The current Defines of the effect\n */\nMaterialHelper.PrepareAttributesForBakedVertexAnimation = PrepareAttributesForBakedVertexAnimation;\n/**\n * Prepares the list of attributes required for bones according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param mesh The mesh to prepare the bones attributes for\n * @param defines The current Defines of the effect\n * @param fallbacks The current effect fallback strategy\n */\nMaterialHelper.PrepareAttributesForBones = PrepareAttributesForBones;\n/**\n * Check and prepare the list of attributes required for instances according to the effect defines.\n * @param attribs The current list of supported attribs\n * @param defines The current MaterialDefines of the effect\n */\nMaterialHelper.PrepareAttributesForInstances = PrepareAttributesForInstances;\n/**\n * Add the list of attributes required for instances to the attribs array.\n * @param attribs The current list of supported attribs\n * @param needsPreviousMatrices If the shader needs previous matrices\n */\nMaterialHelper.PushAttributesForInstances = PushAttributesForInstances;\n/**\n * Binds the light information to the effect.\n * @param light The light containing the generator\n * @param effect The effect we are binding the data to\n * @param lightIndex The light index in the effect used to render\n */\nMaterialHelper.BindLightProperties = BindLightProperties;\n/**\n * Binds the lights information from the scene to the effect for the given mesh.\n * @param light Light to bind\n * @param lightIndex Light index\n * @param scene The scene where the light belongs to\n * @param effect The effect we are binding the data to\n * @param useSpecular Defines if specular is supported\n * @param receiveShadows Defines if the effect (mesh) we bind the light for receives shadows\n */\nMaterialHelper.BindLight = BindLight;\n/**\n * Binds the lights information from the scene to the effect for the given mesh.\n * @param scene The scene the lights belongs to\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param defines The generated defines for the effect\n * @param maxSimultaneousLights The maximum number of light that can be bound to the effect\n */\nMaterialHelper.BindLights = BindLights;\n/**\n * Binds the fog information from the scene to the effect for the given mesh.\n * @param scene The scene the lights belongs to\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param linearSpace Defines if the fog effect is applied in linear space\n */\nMaterialHelper.BindFogParameters = BindFogParameters;\n/**\n * Binds the bones information from the mesh to the effect.\n * @param mesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n * @param prePassConfiguration Configuration for the prepass, in case prepass is activated\n */\nMaterialHelper.BindBonesParameters = BindBonesParameters;\n/**\n * Binds the morph targets information from the mesh to the effect.\n * @param abstractMesh The mesh we are binding the information to render\n * @param effect The effect we are binding the data to\n */\nMaterialHelper.BindMorphTargetParameters = BindMorphTargetParameters;\n/**\n * Binds the logarithmic depth information from the scene to the effect for the given defines.\n * @param defines The generated defines used in the effect\n * @param effect The effect we are binding the data to\n * @param scene The scene we are willing to render with logarithmic scale for\n */\nMaterialHelper.BindLogDepth = BindLogDepth;\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,UAAU,EAAEC,YAAY,EAAEC,yBAAyB,EAAEC,sBAAsB,EAAEC,iBAAiB,EAAEC,WAAW,EAAEC,yBAAyB,EAAEC,wCAAwC,EAAEC,yBAAyB,EAAEC,6BAA6B,EAAEC,gCAAgC,EAAEC,2CAA2C,EAAEC,2BAA2B,EAAEC,qCAAqC,EAAEC,sBAAsB,EAAEC,uBAAuB,EAAEC,iCAAiC,EAAEC,sBAAsB,EAAEC,uBAAuB,EAAEC,yBAAyB,EAAEC,qBAAqB,EAAEC,6BAA6B,EAAEC,0BAA0B,EAAEC,oBAAoB,EAAEC,wBAAwB,EAAEC,kCAAkC,EAAEC,8BAA8B,EAAEC,0BAA0B,QAAS,+BAA+B;AACx3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,CAAC;AAE5B;AACA;AACA;AACA;AACA;AACAA,cAAc,CAACzB,sBAAsB,GAAGA,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACAyB,cAAc,CAACT,yBAAyB,GAAGA,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACAS,cAAc,CAACxB,iBAAiB,GAAGA,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACAwB,cAAc,CAACvB,WAAW,GAAGA,WAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAuB,cAAc,CAACR,qBAAqB,GAAGA,qBAAqB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACAQ,cAAc,CAACb,uBAAuB,GAAGA,uBAAuB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAa,cAAc,CAACZ,iCAAiC,GAAGA,iCAAiC;AACpF;AACA;AACA;AACA;AACA;AACAY,cAAc,CAACd,sBAAsB,GAAGA,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACAc,cAAc,CAACP,6BAA6B,GAAGA,6BAA6B;AAC5E;AACA;AACA;AACA;AACA;AACAO,cAAc,CAACf,qCAAqC,GAAGA,qCAAqC;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAe,cAAc,CAAChB,2BAA2B,GAAGA,2BAA2B;AACxE;AACA;AACA;AACA;AACA;AACAgB,cAAc,CAACN,0BAA0B,GAAGA,0BAA0B;AACtE;AACA;AACA;AACA;AACA;AACA;AACAM,cAAc,CAACL,oBAAoB,GAAGA,oBAAoB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACAK,cAAc,CAACJ,wBAAwB,GAAGA,wBAAwB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAI,cAAc,CAACX,sBAAsB,GAAGA,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAW,cAAc,CAACV,uBAAuB,GAAGA,uBAAuB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAU,cAAc,CAACH,kCAAkC,GAAGA,kCAAkC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACAG,cAAc,CAACF,8BAA8B,GAAGA,8BAA8B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE,cAAc,CAACtB,yBAAyB,GAAGA,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACAsB,cAAc,CAACjB,2CAA2C,GAAGA,2CAA2C;AACxG;AACA;AACA;AACA;AACA;AACA;AACAiB,cAAc,CAAClB,gCAAgC,GAAGA,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACAkB,cAAc,CAACrB,wCAAwC,GAAGA,wCAAwC;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACAqB,cAAc,CAACpB,yBAAyB,GAAGA,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACAoB,cAAc,CAACnB,6BAA6B,GAAGA,6BAA6B;AAC5E;AACA;AACA;AACA;AACA;AACAmB,cAAc,CAACD,0BAA0B,GAAGA,0BAA0B;AACtE;AACA;AACA;AACA;AACA;AACA;AACAC,cAAc,CAAC7B,mBAAmB,GAAGA,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA6B,cAAc,CAAC9B,SAAS,GAAGA,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA8B,cAAc,CAAC5B,UAAU,GAAGA,UAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA4B,cAAc,CAAC/B,iBAAiB,GAAGA,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA+B,cAAc,CAAChC,mBAAmB,GAAGA,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACAgC,cAAc,CAAC1B,yBAAyB,GAAGA,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA0B,cAAc,CAAC3B,YAAY,GAAGA,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}