e535ba2533751d4e18dd2bb28bb401b954739617800eb8339449363acdc5dc5d.json 25 KB

1
  1. {"ast":null,"code":"import { __decorate } from \"../tslib.es6.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { MaterialPluginManager } from \"./materialPluginManager.js\";\nimport { SerializationHelper } from \"../Misc/decorators.serialization.js\";\nimport { RegisterClass } from \"../Misc/typeStore.js\";\n/**\n * Base class for material plugins.\n * @since 5.0\n */\nexport class MaterialPluginBase {\n /**\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\n * @param shaderLanguage The shader language to use.\n * @returns true if the plugin is compatible with the shader language\n */\n isCompatible(shaderLanguage) {\n switch (shaderLanguage) {\n case 0 /* ShaderLanguage.GLSL */:\n return true;\n default:\n return false;\n }\n }\n _enable(enable) {\n if (enable) {\n this._pluginManager._activatePlugin(this);\n }\n }\n /**\n * Creates a new material plugin\n * @param material parent material of the plugin\n * @param name name of the plugin\n * @param priority priority of the plugin\n * @param defines list of defines used by the plugin. The value of the property is the default value for this property\n * @param addToPluginList true to add the plugin to the list of plugins managed by the material plugin manager of the material (default: true)\n * @param enable true to enable the plugin (it is handy if the plugin does not handle properties to switch its current activation)\n * @param resolveIncludes Indicates that any #include directive in the plugin code must be replaced by the corresponding code (default: false)\n */\n constructor(material, name, priority, defines, addToPluginList = true, enable = false, resolveIncludes = false) {\n /**\n * Defines the priority of the plugin. Lower numbers run first.\n */\n this.priority = 500;\n /**\n * Indicates that any #include directive in the plugin code must be replaced by the corresponding code.\n */\n this.resolveIncludes = false;\n /**\n * Indicates that this plugin should be notified for the extra events (HasRenderTargetTextures / FillRenderTargetTextures / HardBindForSubMesh)\n */\n this.registerForExtraEvents = false;\n this._material = material;\n this.name = name;\n this.priority = priority;\n this.resolveIncludes = resolveIncludes;\n if (!material.pluginManager) {\n material.pluginManager = new MaterialPluginManager(material);\n material.onDisposeObservable.add(() => {\n material.pluginManager = undefined;\n });\n }\n this._pluginDefineNames = defines;\n this._pluginManager = material.pluginManager;\n if (addToPluginList) {\n this._pluginManager._addPlugin(this);\n }\n if (enable) {\n this._enable(true);\n }\n this.markAllDefinesAsDirty = material._dirtyCallbacks[63];\n }\n /**\n * Gets the current class name useful for serialization or dynamic coding.\n * @returns The class name.\n */\n getClassName() {\n return \"MaterialPluginBase\";\n }\n /**\n * Specifies that the submesh is ready to be used.\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene the material belongs to.\n * @param _engine the engine this scene belongs to.\n * @param _subMesh the submesh to check for readiness\n * @returns - boolean indicating that the submesh is ready or not.\n */\n isReadyForSubMesh(_defines, _scene, _engine, _subMesh) {\n return true;\n }\n /**\n * Binds the material data (this function is called even if mustRebind() returns false)\n * @param _uniformBuffer defines the Uniform buffer to fill in.\n * @param _scene defines the scene the material belongs to.\n * @param _engine defines the engine the material belongs to.\n * @param _subMesh the submesh to bind data for\n */\n hardBindForSubMesh(_uniformBuffer, _scene, _engine, _subMesh) {}\n /**\n * Binds the material data.\n * @param _uniformBuffer defines the Uniform buffer to fill in.\n * @param _scene defines the scene the material belongs to.\n * @param _engine the engine this scene belongs to.\n * @param _subMesh the submesh to bind data for\n */\n bindForSubMesh(_uniformBuffer, _scene, _engine, _subMesh) {}\n /**\n * Disposes the resources of the material.\n * @param _forceDisposeTextures - Forces the disposal of all textures.\n */\n dispose(_forceDisposeTextures) {}\n /**\n * Returns a list of custom shader code fragments to customize the shader.\n * @param _shaderType \"vertex\" or \"fragment\"\n * @param _shaderLanguage The shader language to use.\n * @returns null if no code to be added, or a list of pointName =\\> code.\n * Note that `pointName` can also be a regular expression if it starts with a `!`.\n * In that case, the string found by the regular expression (if any) will be\n * replaced by the code provided.\n */\n getCustomCode(_shaderType, _shaderLanguage = 0 /* ShaderLanguage.GLSL */) {\n return null;\n }\n /**\n * Collects all defines.\n * @param defines The object to append to.\n */\n collectDefines(defines) {\n if (!this._pluginDefineNames) {\n return;\n }\n for (const key of Object.keys(this._pluginDefineNames)) {\n if (key[0] === \"_\") {\n continue;\n }\n const type = typeof this._pluginDefineNames[key];\n defines[key] = {\n type: type === \"number\" ? \"number\" : type === \"string\" ? \"string\" : type === \"boolean\" ? \"boolean\" : \"object\",\n default: this._pluginDefineNames[key]\n };\n }\n }\n /**\n * Sets the defines for the next rendering. Called before PrepareDefinesForAttributes is called.\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene to the material belongs to.\n * @param _mesh the mesh being rendered\n */\n prepareDefinesBeforeAttributes(_defines, _scene, _mesh) {}\n /**\n * Sets the defines for the next rendering\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene to the material belongs to.\n * @param _mesh the mesh being rendered\n */\n prepareDefines(_defines, _scene, _mesh) {}\n /**\n * Checks to see if a texture is used in the material.\n * @param _texture - Base texture to use.\n * @returns - Boolean specifying if a texture is used in the material.\n */\n hasTexture(_texture) {\n return false;\n }\n /**\n * Gets a boolean indicating that current material needs to register RTT\n * @returns true if this uses a render target otherwise false.\n */\n hasRenderTargetTextures() {\n return false;\n }\n /**\n * Fills the list of render target textures.\n * @param _renderTargets the list of render targets to update\n */\n fillRenderTargetTextures(_renderTargets) {}\n /**\n * Returns an array of the actively used textures.\n * @param _activeTextures Array of BaseTextures\n */\n getActiveTextures(_activeTextures) {}\n /**\n * Returns the animatable textures.\n * @param _animatables Array of animatable textures.\n */\n getAnimatables(_animatables) {}\n /**\n * Add fallbacks to the effect fallbacks list.\n * @param defines defines the Base texture to use.\n * @param fallbacks defines the current fallback list.\n * @param currentRank defines the current fallback rank.\n * @returns the new fallback rank.\n */\n addFallbacks(defines, fallbacks, currentRank) {\n return currentRank;\n }\n /**\n * Gets the samplers used by the plugin.\n * @param _samplers list that the sampler names should be added to.\n */\n getSamplers(_samplers) {}\n /**\n * Gets the attributes used by the plugin.\n * @param _attributes list that the attribute names should be added to.\n * @param _scene the scene that the material belongs to.\n * @param _mesh the mesh being rendered.\n */\n getAttributes(_attributes, _scene, _mesh) {}\n /**\n * Gets the uniform buffers names added by the plugin.\n * @param _ubos list that the ubo names should be added to.\n */\n getUniformBuffersNames(_ubos) {}\n /**\n * Gets the description of the uniforms to add to the ubo (if engine supports ubos) or to inject directly in the vertex/fragment shaders (if engine does not support ubos)\n * @param _shaderLanguage The shader language to use.\n * @returns the description of the uniforms\n */\n getUniforms(_shaderLanguage = 0 /* ShaderLanguage.GLSL */) {\n return {};\n }\n /**\n * Makes a duplicate of the current configuration into another one.\n * @param plugin define the config where to copy the info\n */\n copyTo(plugin) {\n SerializationHelper.Clone(() => plugin, this);\n }\n /**\n * Serializes this plugin configuration.\n * @returns - An object with the serialized config.\n */\n serialize() {\n return SerializationHelper.Serialize(this);\n }\n /**\n * Parses a plugin configuration from a serialized object.\n * @param source - Serialized object.\n * @param scene Defines the scene we are parsing for\n * @param rootUrl Defines the rootUrl to load from\n */\n parse(source, scene, rootUrl) {\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\n }\n}\n__decorate([serialize()], MaterialPluginBase.prototype, \"name\", void 0);\n__decorate([serialize()], MaterialPluginBase.prototype, \"priority\", void 0);\n__decorate([serialize()], MaterialPluginBase.prototype, \"resolveIncludes\", void 0);\n__decorate([serialize()], MaterialPluginBase.prototype, \"registerForExtraEvents\", void 0);\n// Register Class Name\nRegisterClass(\"BABYLON.MaterialPluginBase\", MaterialPluginBase);","map":{"version":3,"names":["__decorate","serialize","MaterialPluginManager","SerializationHelper","RegisterClass","MaterialPluginBase","isCompatible","shaderLanguage","_enable","enable","_pluginManager","_activatePlugin","constructor","material","name","priority","defines","addToPluginList","resolveIncludes","registerForExtraEvents","_material","pluginManager","onDisposeObservable","add","undefined","_pluginDefineNames","_addPlugin","markAllDefinesAsDirty","_dirtyCallbacks","getClassName","isReadyForSubMesh","_defines","_scene","_engine","_subMesh","hardBindForSubMesh","_uniformBuffer","bindForSubMesh","dispose","_forceDisposeTextures","getCustomCode","_shaderType","_shaderLanguage","collectDefines","key","Object","keys","type","default","prepareDefinesBeforeAttributes","_mesh","prepareDefines","hasTexture","_texture","hasRenderTargetTextures","fillRenderTargetTextures","_renderTargets","getActiveTextures","_activeTextures","getAnimatables","_animatables","addFallbacks","fallbacks","currentRank","getSamplers","_samplers","getAttributes","_attributes","getUniformBuffersNames","_ubos","getUniforms","copyTo","plugin","Clone","Serialize","parse","source","scene","rootUrl","Parse","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/materialPluginBase.js"],"sourcesContent":["import { __decorate } from \"../tslib.es6.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { MaterialPluginManager } from \"./materialPluginManager.js\";\n\nimport { SerializationHelper } from \"../Misc/decorators.serialization.js\";\nimport { RegisterClass } from \"../Misc/typeStore.js\";\n/**\n * Base class for material plugins.\n * @since 5.0\n */\nexport class MaterialPluginBase {\n /**\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\n * @param shaderLanguage The shader language to use.\n * @returns true if the plugin is compatible with the shader language\n */\n isCompatible(shaderLanguage) {\n switch (shaderLanguage) {\n case 0 /* ShaderLanguage.GLSL */:\n return true;\n default:\n return false;\n }\n }\n _enable(enable) {\n if (enable) {\n this._pluginManager._activatePlugin(this);\n }\n }\n /**\n * Creates a new material plugin\n * @param material parent material of the plugin\n * @param name name of the plugin\n * @param priority priority of the plugin\n * @param defines list of defines used by the plugin. The value of the property is the default value for this property\n * @param addToPluginList true to add the plugin to the list of plugins managed by the material plugin manager of the material (default: true)\n * @param enable true to enable the plugin (it is handy if the plugin does not handle properties to switch its current activation)\n * @param resolveIncludes Indicates that any #include directive in the plugin code must be replaced by the corresponding code (default: false)\n */\n constructor(material, name, priority, defines, addToPluginList = true, enable = false, resolveIncludes = false) {\n /**\n * Defines the priority of the plugin. Lower numbers run first.\n */\n this.priority = 500;\n /**\n * Indicates that any #include directive in the plugin code must be replaced by the corresponding code.\n */\n this.resolveIncludes = false;\n /**\n * Indicates that this plugin should be notified for the extra events (HasRenderTargetTextures / FillRenderTargetTextures / HardBindForSubMesh)\n */\n this.registerForExtraEvents = false;\n this._material = material;\n this.name = name;\n this.priority = priority;\n this.resolveIncludes = resolveIncludes;\n if (!material.pluginManager) {\n material.pluginManager = new MaterialPluginManager(material);\n material.onDisposeObservable.add(() => {\n material.pluginManager = undefined;\n });\n }\n this._pluginDefineNames = defines;\n this._pluginManager = material.pluginManager;\n if (addToPluginList) {\n this._pluginManager._addPlugin(this);\n }\n if (enable) {\n this._enable(true);\n }\n this.markAllDefinesAsDirty = material._dirtyCallbacks[63];\n }\n /**\n * Gets the current class name useful for serialization or dynamic coding.\n * @returns The class name.\n */\n getClassName() {\n return \"MaterialPluginBase\";\n }\n /**\n * Specifies that the submesh is ready to be used.\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene the material belongs to.\n * @param _engine the engine this scene belongs to.\n * @param _subMesh the submesh to check for readiness\n * @returns - boolean indicating that the submesh is ready or not.\n */\n isReadyForSubMesh(_defines, _scene, _engine, _subMesh) {\n return true;\n }\n /**\n * Binds the material data (this function is called even if mustRebind() returns false)\n * @param _uniformBuffer defines the Uniform buffer to fill in.\n * @param _scene defines the scene the material belongs to.\n * @param _engine defines the engine the material belongs to.\n * @param _subMesh the submesh to bind data for\n */\n hardBindForSubMesh(_uniformBuffer, _scene, _engine, _subMesh) { }\n /**\n * Binds the material data.\n * @param _uniformBuffer defines the Uniform buffer to fill in.\n * @param _scene defines the scene the material belongs to.\n * @param _engine the engine this scene belongs to.\n * @param _subMesh the submesh to bind data for\n */\n bindForSubMesh(_uniformBuffer, _scene, _engine, _subMesh) { }\n /**\n * Disposes the resources of the material.\n * @param _forceDisposeTextures - Forces the disposal of all textures.\n */\n dispose(_forceDisposeTextures) { }\n /**\n * Returns a list of custom shader code fragments to customize the shader.\n * @param _shaderType \"vertex\" or \"fragment\"\n * @param _shaderLanguage The shader language to use.\n * @returns null if no code to be added, or a list of pointName =\\> code.\n * Note that `pointName` can also be a regular expression if it starts with a `!`.\n * In that case, the string found by the regular expression (if any) will be\n * replaced by the code provided.\n */\n getCustomCode(_shaderType, _shaderLanguage = 0 /* ShaderLanguage.GLSL */) {\n return null;\n }\n /**\n * Collects all defines.\n * @param defines The object to append to.\n */\n collectDefines(defines) {\n if (!this._pluginDefineNames) {\n return;\n }\n for (const key of Object.keys(this._pluginDefineNames)) {\n if (key[0] === \"_\") {\n continue;\n }\n const type = typeof this._pluginDefineNames[key];\n defines[key] = {\n type: type === \"number\" ? \"number\" : type === \"string\" ? \"string\" : type === \"boolean\" ? \"boolean\" : \"object\",\n default: this._pluginDefineNames[key],\n };\n }\n }\n /**\n * Sets the defines for the next rendering. Called before PrepareDefinesForAttributes is called.\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene to the material belongs to.\n * @param _mesh the mesh being rendered\n */\n prepareDefinesBeforeAttributes(_defines, _scene, _mesh) { }\n /**\n * Sets the defines for the next rendering\n * @param _defines the list of \"defines\" to update.\n * @param _scene defines the scene to the material belongs to.\n * @param _mesh the mesh being rendered\n */\n prepareDefines(_defines, _scene, _mesh) { }\n /**\n * Checks to see if a texture is used in the material.\n * @param _texture - Base texture to use.\n * @returns - Boolean specifying if a texture is used in the material.\n */\n hasTexture(_texture) {\n return false;\n }\n /**\n * Gets a boolean indicating that current material needs to register RTT\n * @returns true if this uses a render target otherwise false.\n */\n hasRenderTargetTextures() {\n return false;\n }\n /**\n * Fills the list of render target textures.\n * @param _renderTargets the list of render targets to update\n */\n fillRenderTargetTextures(_renderTargets) { }\n /**\n * Returns an array of the actively used textures.\n * @param _activeTextures Array of BaseTextures\n */\n getActiveTextures(_activeTextures) { }\n /**\n * Returns the animatable textures.\n * @param _animatables Array of animatable textures.\n */\n getAnimatables(_animatables) { }\n /**\n * Add fallbacks to the effect fallbacks list.\n * @param defines defines the Base texture to use.\n * @param fallbacks defines the current fallback list.\n * @param currentRank defines the current fallback rank.\n * @returns the new fallback rank.\n */\n addFallbacks(defines, fallbacks, currentRank) {\n return currentRank;\n }\n /**\n * Gets the samplers used by the plugin.\n * @param _samplers list that the sampler names should be added to.\n */\n getSamplers(_samplers) { }\n /**\n * Gets the attributes used by the plugin.\n * @param _attributes list that the attribute names should be added to.\n * @param _scene the scene that the material belongs to.\n * @param _mesh the mesh being rendered.\n */\n getAttributes(_attributes, _scene, _mesh) { }\n /**\n * Gets the uniform buffers names added by the plugin.\n * @param _ubos list that the ubo names should be added to.\n */\n getUniformBuffersNames(_ubos) { }\n /**\n * Gets the description of the uniforms to add to the ubo (if engine supports ubos) or to inject directly in the vertex/fragment shaders (if engine does not support ubos)\n * @param _shaderLanguage The shader language to use.\n * @returns the description of the uniforms\n */\n getUniforms(_shaderLanguage = 0 /* ShaderLanguage.GLSL */) {\n return {};\n }\n /**\n * Makes a duplicate of the current configuration into another one.\n * @param plugin define the config where to copy the info\n */\n copyTo(plugin) {\n SerializationHelper.Clone(() => plugin, this);\n }\n /**\n * Serializes this plugin configuration.\n * @returns - An object with the serialized config.\n */\n serialize() {\n return SerializationHelper.Serialize(this);\n }\n /**\n * Parses a plugin configuration from a serialized object.\n * @param source - Serialized object.\n * @param scene Defines the scene we are parsing for\n * @param rootUrl Defines the rootUrl to load from\n */\n parse(source, scene, rootUrl) {\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\n }\n}\n__decorate([\n serialize()\n], MaterialPluginBase.prototype, \"name\", void 0);\n__decorate([\n serialize()\n], MaterialPluginBase.prototype, \"priority\", void 0);\n__decorate([\n serialize()\n], MaterialPluginBase.prototype, \"resolveIncludes\", void 0);\n__decorate([\n serialize()\n], MaterialPluginBase.prototype, \"registerForExtraEvents\", void 0);\n// Register Class Name\nRegisterClass(\"BABYLON.MaterialPluginBase\", MaterialPluginBase);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}