babylonjs-materials 9.15.0 → 9.16.1
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/babylon.cellMaterial.js +1 -1
- package/babylon.cellMaterial.js.map +1 -1
- package/babylon.cellMaterial.min.js +1 -1
- package/babylon.cellMaterial.min.js.map +1 -1
- package/babylon.customMaterial.js +1 -1
- package/babylon.customMaterial.js.map +1 -1
- package/babylon.customMaterial.min.js +1 -1
- package/babylon.customMaterial.min.js.map +1 -1
- package/babylon.fireMaterial.js +1 -1
- package/babylon.fireMaterial.js.map +1 -1
- package/babylon.fireMaterial.min.js +1 -1
- package/babylon.fireMaterial.min.js.map +1 -1
- package/babylon.furMaterial.js +1 -1
- package/babylon.furMaterial.js.map +1 -1
- package/babylon.furMaterial.min.js +1 -1
- package/babylon.furMaterial.min.js.map +1 -1
- package/babylon.gradientMaterial.js +1 -1
- package/babylon.gradientMaterial.js.map +1 -1
- package/babylon.gradientMaterial.min.js +1 -1
- package/babylon.gradientMaterial.min.js.map +1 -1
- package/babylon.gridMaterial.js +1 -1
- package/babylon.gridMaterial.js.map +1 -1
- package/babylon.gridMaterial.min.js +1 -1
- package/babylon.gridMaterial.min.js.map +1 -1
- package/babylon.lavaMaterial.js +1 -1
- package/babylon.lavaMaterial.js.map +1 -1
- package/babylon.lavaMaterial.min.js +1 -1
- package/babylon.lavaMaterial.min.js.map +1 -1
- package/babylon.mixMaterial.js +1 -1
- package/babylon.mixMaterial.js.map +1 -1
- package/babylon.mixMaterial.min.js +1 -1
- package/babylon.mixMaterial.min.js.map +1 -1
- package/babylon.normalMaterial.js +1 -1
- package/babylon.normalMaterial.js.map +1 -1
- package/babylon.normalMaterial.min.js +1 -1
- package/babylon.normalMaterial.min.js.map +1 -1
- package/babylon.shadowOnlyMaterial.js +1 -1
- package/babylon.shadowOnlyMaterial.js.map +1 -1
- package/babylon.shadowOnlyMaterial.min.js +1 -1
- package/babylon.shadowOnlyMaterial.min.js.map +1 -1
- package/babylon.simpleMaterial.js +1 -1
- package/babylon.simpleMaterial.js.map +1 -1
- package/babylon.simpleMaterial.min.js +1 -1
- package/babylon.simpleMaterial.min.js.map +1 -1
- package/babylon.skyMaterial.js +1 -1
- package/babylon.skyMaterial.js.map +1 -1
- package/babylon.skyMaterial.min.js +1 -1
- package/babylon.skyMaterial.min.js.map +1 -1
- package/babylon.terrainMaterial.js +1 -1
- package/babylon.terrainMaterial.js.map +1 -1
- package/babylon.terrainMaterial.min.js +1 -1
- package/babylon.terrainMaterial.min.js.map +1 -1
- package/babylon.triPlanarMaterial.js +1 -1
- package/babylon.triPlanarMaterial.js.map +1 -1
- package/babylon.triPlanarMaterial.min.js +1 -1
- package/babylon.triPlanarMaterial.min.js.map +1 -1
- package/babylon.waterMaterial.js +1 -1
- package/babylon.waterMaterial.js.map +1 -1
- package/babylon.waterMaterial.min.js +1 -1
- package/babylon.waterMaterial.min.js.map +1 -1
- package/babylonjs.materials.d.ts +60 -60
- package/babylonjs.materials.js +1 -1
- package/babylonjs.materials.js.map +1 -1
- package/babylonjs.materials.min.js +1 -1
- package/babylonjs.materials.min.js.map +1 -1
- package/babylonjs.materials.module.d.ts +120 -120
- package/package.json +2 -2
- package/tsconfig.build.json +1 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("babylonjs")):"function"==typeof define&&define.amd?define(["exports","babylonjs"],i):i((e="undefined"!=typeof globalThis?globalThis:e||self).BABYLON=e.BABYLON||{},e.BABYLON)}(this,function(e,i){"use strict";var r=function(e,i){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,i){e.__proto__=i}||function(e,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])},r(e,i)};function t(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function t(){this.constructor=e}r(e,i),e.prototype=null===i?Object.create(i):(t.prototype=i.prototype,new t)}function n(e,i,r,t){var n,f=arguments.length,o=f<3?i:null===t?t=Object.getOwnPropertyDescriptor(i,r):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,i,r,t);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(o=(f<3?n(o):f>3?n(i,r,o):n(i,r))||o);return f>3&&o&&Object.defineProperty(i,r,o),o}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var f=function(e){function i(){var i=e.call(this)||this;return i.DIFFUSE=!1,i.CLIPPLANE=!1,i.CLIPPLANE2=!1,i.CLIPPLANE3=!1,i.CLIPPLANE4=!1,i.CLIPPLANE5=!1,i.CLIPPLANE6=!1,i.ALPHATEST=!1,i.DEPTHPREPASS=!1,i.POINTSIZE=!1,i.FOG=!1,i.SPECULARTERM=!1,i.NORMAL=!1,i.UV1=!1,i.UV2=!1,i.VERTEXCOLOR=!1,i.VERTEXALPHA=!1,i.NUM_BONE_INFLUENCERS=0,i.BonesPerMesh=0,i.INSTANCES=!1,i.INSTANCESCOLOR=!1,i.MIXMAP2=!1,i.IMAGEPROCESSINGPOSTPROCESS=!1,i.SKIPFINALCOLORCLAMP=!1,i.LOGARITHMICDEPTH=!1,i.rebuild(),i}return t(i,e),i}(i.MaterialDefines),o=function(e){function r(r,t,n){void 0===n&&(n=!1);var f=e.call(this,r,t,void 0,n)||this;return f.diffuseColor=new i.Color3(1,1,1),f.specularColor=new i.Color3(0,0,0),f.specularPower=64,f._disableLighting=!1,f._maxSimultaneousLights=4,f._shadersLoaded=!1,f}return t(r,e),r.prototype.needAlphaBlending=function(){return this.alpha<1},r.prototype.needAlphaTesting=function(){return!1},r.prototype.getAlphaTestTexture=function(){return null},r.prototype.isReadyForSubMesh=function(e,r,t){var n=this,o=r._drawWrapper;if(this.isFrozen&&o.effect&&o._wasPreviouslyReady&&o._wasPreviouslyUsingInstances===t)return!0;r.materialDefines||(r.materialDefines=new f);var s=r.materialDefines,a=this.getScene();if(this._isReadyForSubMesh(r))return!0;var u=a.getEngine();if(a.texturesEnabled){if(!this._mixTexture1||!this._mixTexture1.isReady())return!1;if(s._needUVs=!0,i.MaterialFlags.DiffuseTextureEnabled){if(!this._diffuseTexture1||!this._diffuseTexture1.isReady())return!1;if(s.DIFFUSE=!0,!this._diffuseTexture2||!this._diffuseTexture2.isReady())return!1;if(!this._diffuseTexture3||!this._diffuseTexture3.isReady())return!1;if(!this._diffuseTexture4||!this._diffuseTexture4.isReady())return!1;if(this._mixTexture2){if(!this._mixTexture2.isReady())return!1;if(s.MIXMAP2=!0,!this._diffuseTexture5||!this._diffuseTexture5.isReady())return!1;if(!this._diffuseTexture6||!this._diffuseTexture6.isReady())return!1;if(!this._diffuseTexture7||!this._diffuseTexture7.isReady())return!1;if(!this._diffuseTexture8||!this._diffuseTexture8.isReady())return!1}}}if(i.PrepareDefinesForMisc(e,a,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this.needAlphaTestingForMesh(e),s,void 0,void 0,void 0,this._isVertexOutputInvariant),s._needNormals=i.PrepareDefinesForLights(a,e,s,!1,this._maxSimultaneousLights,this._disableLighting),i.PrepareDefinesForFrameBoundValues(a,u,this,s,!!t),i.PrepareDefinesForAttributes(e,s,!0,!0),s.isDirty){s.markAsProcessed(),a.resetCachedMaterial();var l=new i.EffectFallbacks;s.FOG&&l.addFallback(1,"FOG"),i.HandleFallbacksForShadows(s,l,this.maxSimultaneousLights),s.NUM_BONE_INFLUENCERS>0&&l.addCPUSkinningFallback(0,e),s.IMAGEPROCESSINGPOSTPROCESS=a.imageProcessingConfiguration.applyByPostProcess;var d=[i.VertexBuffer.PositionKind];s.NORMAL&&d.push(i.VertexBuffer.NormalKind),s.UV1&&d.push(i.VertexBuffer.UVKind),s.UV2&&d.push(i.VertexBuffer.UV2Kind),s.VERTEXCOLOR&&d.push(i.VertexBuffer.ColorKind),i.PrepareAttributesForBones(d,e,s,l),i.PrepareAttributesForInstances(d,s);var c=s.toString(),m=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","vTextureInfos","mBones","textureMatrix","logarithmicDepthConstant","diffuse1Infos","diffuse2Infos","diffuse3Infos","diffuse4Infos","diffuse5Infos","diffuse6Infos","diffuse7Infos","diffuse8Infos"],x=["mixMap1Sampler","mixMap2Sampler","diffuse1Sampler","diffuse2Sampler","diffuse3Sampler","diffuse4Sampler","diffuse5Sampler","diffuse6Sampler","diffuse7Sampler","diffuse8Sampler"],v=[];i.AddClipPlaneUniforms(m),i.PrepareUniformsAndSamplersList({uniformsNames:m,uniformBuffersNames:v,samplers:x,defines:s,maxSimultaneousLights:this.maxSimultaneousLights,shaderLanguage:this._shaderLanguage}),r.setEffect(a.getEngine().createEffect("mix",{attributes:d,uniformsNames:m,uniformBuffersNames:v,samplers:x,defines:c,fallbacks:l,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights},shaderLanguage:this._shaderLanguage,extraInitializationsAsync:this._shadersLoaded?void 0:function(){return e=n,i=void 0,t=function(){return function(e,i){var r,t,n,f={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(f=0)),f;)try{if(r=1,t&&(n=2&s[0]?t.return:s[0]?t.throw||((n=t.return)&&n.call(t),0):t.next)&&!(n=n.call(t,s[1])).done)return n;switch(t=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return f.label++,{value:s[1],done:!1};case 5:f.label++,t=s[1],s=[0];continue;case 7:s=f.ops.pop(),f.trys.pop();continue;default:if(!((n=(n=f.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){f=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){f.label=s[1];break}if(6===s[0]&&f.label<n[1]){f.label=n[1],n=s;break}if(n&&f.label<n[2]){f.label=n[2],f.ops.push(s);break}n[2]&&f.ops.pop(),f.trys.pop();continue}s=i.call(e,f)}catch(e){s=[6,e],t=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}(this,function(e){switch(e.label){case 0:return 1!==this.shaderLanguage?[3,2]:[4,Promise.all([Promise.resolve().then(function(){return p}),Promise.resolve().then(function(){return _})])];case 1:return e.sent(),[3,4];case 2:return[4,Promise.all([Promise.resolve().then(function(){return L}),Promise.resolve().then(function(){return V})])];case 3:e.sent(),e.label=4;case 4:return this._shadersLoaded=!0,[2]}})},new((r=void 0)||(r=Promise))(function(n,f){function o(e){try{a(t.next(e))}catch(e){f(e)}}function s(e){try{a(t.throw(e))}catch(e){f(e)}}function a(e){var i;e.done?n(e.value):(i=e.value,i instanceof r?i:new r(function(e){e(i)})).then(o,s)}a((t=t.apply(e,i||[])).next())});var e,i,r,t}},u),s,this._materialContext)}return!(!r.effect||!r.effect.isReady()||(s._renderId=a.getRenderId(),o._wasPreviouslyReady=!0,o._wasPreviouslyUsingInstances=!!t,0))},r.prototype.bindForSubMesh=function(e,r,t){var n=this.getScene(),f=t.materialDefines;if(f){var o=t.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",n.getTransformMatrix()),i.BindBonesParameters(r,this._activeEffect),this._mustRebind(n,o,t)&&(this._mixTexture1&&(this._activeEffect.setTexture("mixMap1Sampler",this._mixTexture1),this._activeEffect.setFloat2("vTextureInfos",this._mixTexture1.coordinatesIndex,this._mixTexture1.level),this._activeEffect.setMatrix("textureMatrix",this._mixTexture1.getTextureMatrix()),i.MaterialFlags.DiffuseTextureEnabled&&(this._diffuseTexture1&&(this._activeEffect.setTexture("diffuse1Sampler",this._diffuseTexture1),this._activeEffect.setFloat2("diffuse1Infos",this._diffuseTexture1.uScale,this._diffuseTexture1.vScale)),this._diffuseTexture2&&(this._activeEffect.setTexture("diffuse2Sampler",this._diffuseTexture2),this._activeEffect.setFloat2("diffuse2Infos",this._diffuseTexture2.uScale,this._diffuseTexture2.vScale)),this._diffuseTexture3&&(this._activeEffect.setTexture("diffuse3Sampler",this._diffuseTexture3),this._activeEffect.setFloat2("diffuse3Infos",this._diffuseTexture3.uScale,this._diffuseTexture3.vScale)),this._diffuseTexture4&&(this._activeEffect.setTexture("diffuse4Sampler",this._diffuseTexture4),this._activeEffect.setFloat2("diffuse4Infos",this._diffuseTexture4.uScale,this._diffuseTexture4.vScale)))),this._mixTexture2&&(this._activeEffect.setTexture("mixMap2Sampler",this._mixTexture2),i.MaterialFlags.DiffuseTextureEnabled&&(this._diffuseTexture5&&(this._activeEffect.setTexture("diffuse5Sampler",this._diffuseTexture5),this._activeEffect.setFloat2("diffuse5Infos",this._diffuseTexture5.uScale,this._diffuseTexture5.vScale)),this._diffuseTexture6&&(this._activeEffect.setTexture("diffuse6Sampler",this._diffuseTexture6),this._activeEffect.setFloat2("diffuse6Infos",this._diffuseTexture6.uScale,this._diffuseTexture6.vScale)),this._diffuseTexture7&&(this._activeEffect.setTexture("diffuse7Sampler",this._diffuseTexture7),this._activeEffect.setFloat2("diffuse7Infos",this._diffuseTexture7.uScale,this._diffuseTexture7.vScale)),this._diffuseTexture8&&(this._activeEffect.setTexture("diffuse8Sampler",this._diffuseTexture8),this._activeEffect.setFloat2("diffuse8Infos",this._diffuseTexture8.uScale,this._diffuseTexture8.vScale)))),i.BindClipPlane(o,this,n),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),this._useLogarithmicDepth&&i.BindLogDepth(f,o,n),n.bindEyePosition(o)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*r.visibility),f.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),n.lightsEnabled&&!this.disableLighting&&i.BindLights(n,r,this._activeEffect,f,this.maxSimultaneousLights),n.fogEnabled&&r.applyFog&&n.fogMode!==i.Scene.FOGMODE_NONE&&this._activeEffect.setMatrix("view",n.getViewMatrix()),i.BindFogParameters(n,r,this._activeEffect),this._afterBind(r,this._activeEffect,t))}},r.prototype.getAnimatables=function(){var e=[];return this._mixTexture1&&this._mixTexture1.animations&&this._mixTexture1.animations.length>0&&e.push(this._mixTexture1),this._mixTexture2&&this._mixTexture2.animations&&this._mixTexture2.animations.length>0&&e.push(this._mixTexture2),e},r.prototype.getActiveTextures=function(){var i=e.prototype.getActiveTextures.call(this);return this._mixTexture1&&i.push(this._mixTexture1),this._diffuseTexture1&&i.push(this._diffuseTexture1),this._diffuseTexture2&&i.push(this._diffuseTexture2),this._diffuseTexture3&&i.push(this._diffuseTexture3),this._diffuseTexture4&&i.push(this._diffuseTexture4),this._mixTexture2&&i.push(this._mixTexture2),this._diffuseTexture5&&i.push(this._diffuseTexture5),this._diffuseTexture6&&i.push(this._diffuseTexture6),this._diffuseTexture7&&i.push(this._diffuseTexture7),this._diffuseTexture8&&i.push(this._diffuseTexture8),i},r.prototype.hasTexture=function(i){return!!e.prototype.hasTexture.call(this,i)||this._mixTexture1===i||this._diffuseTexture1===i||this._diffuseTexture2===i||this._diffuseTexture3===i||this._diffuseTexture4===i||this._mixTexture2===i||this._diffuseTexture5===i||this._diffuseTexture6===i||this._diffuseTexture7===i||this._diffuseTexture8===i},r.prototype.dispose=function(i){this._mixTexture1&&this._mixTexture1.dispose(),e.prototype.dispose.call(this,i)},r.prototype.clone=function(e){var t=this;return i.SerializationHelper.Clone(function(){return new r(e,t.getScene())},this)},r.prototype.serialize=function(){var i=e.prototype.serialize.call(this);return i.customType="BABYLON.MixMaterial",i},r.prototype.getClassName=function(){return"MixMaterial"},r.Parse=function(e,t,n){return i.SerializationHelper.Parse(function(){return new r(e.name,t)},e,t,n)},n([i.serializeAsTexture("mixTexture1")],r.prototype,"_mixTexture1",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"mixTexture1",void 0),n([i.serializeAsTexture("mixTexture2")],r.prototype,"_mixTexture2",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"mixTexture2",void 0),n([i.serializeAsTexture("diffuseTexture1")],r.prototype,"_diffuseTexture1",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture1",void 0),n([i.serializeAsTexture("diffuseTexture2")],r.prototype,"_diffuseTexture2",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture2",void 0),n([i.serializeAsTexture("diffuseTexture3")],r.prototype,"_diffuseTexture3",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture3",void 0),n([i.serializeAsTexture("diffuseTexture4")],r.prototype,"_diffuseTexture4",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture4",void 0),n([i.serializeAsTexture("diffuseTexture1")],r.prototype,"_diffuseTexture5",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture5",void 0),n([i.serializeAsTexture("diffuseTexture2")],r.prototype,"_diffuseTexture6",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture6",void 0),n([i.serializeAsTexture("diffuseTexture3")],r.prototype,"_diffuseTexture7",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture7",void 0),n([i.serializeAsTexture("diffuseTexture4")],r.prototype,"_diffuseTexture8",void 0),n([i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],r.prototype,"diffuseTexture8",void 0),n([i.serializeAsColor3()],r.prototype,"diffuseColor",void 0),n([i.serializeAsColor3()],r.prototype,"specularColor",void 0),n([i.serialize()],r.prototype,"specularPower",void 0),n([i.serialize("disableLighting")],r.prototype,"_disableLighting",void 0),n([i.expandToProperty("_markAllSubMeshesAsLightsDirty")],r.prototype,"disableLighting",void 0),n([i.serialize("maxSimultaneousLights")],r.prototype,"_maxSimultaneousLights",void 0),n([i.expandToProperty("_markAllSubMeshesAsLightsDirty")],r.prototype,"maxSimultaneousLights",void 0),r}(i.PushMaterial);i.RegisterClass("BABYLON.MixMaterial",o);var s={__proto__:null,MixMaterial:o},a="undefined"!=typeof global?global:"undefined"!=typeof window?window:void 0;if(void 0!==a)for(var u in s)a.BABYLON[u]=s[u];var l="mixVertexShader",d="attribute position: vec3f;\n#ifdef NORMAL\nattribute normal: vec3f;\n#endif\n#ifdef UV1\nattribute uv: vec2f;\n#endif\n#ifdef UV2\nattribute uv2: vec2f;\n#endif\n#ifdef VERTEXCOLOR\nattribute color: vec4f;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform view: mat4x4f;uniform viewProjection: mat4x4f;\n#ifdef DIFFUSE\nvarying vTextureUV: vec2f;uniform textureMatrix: mat4x4f;uniform vTextureInfos: vec2f;\n#endif\n#ifdef POINTSIZE\nuniform pointSize: f32;\n#endif\nvarying vPositionW: vec3f;\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef VERTEXCOLOR\nvarying vColor: vec4f;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<logDepthDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying vViewDepth: f32;\n#endif\n#define CUSTOM_VERTEX_DEFINITIONS\n@vertex\nfn main(input : VertexInputs)->FragmentInputs {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#ifdef VERTEXCOLOR\nvar colorUpdated: vec4f=vertexInputs.color;\n#endif\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvar worldPos: vec4f=finalWorld* vec4f(vertexInputs.position,1.0);vertexOutputs.position=uniforms.viewProjection*worldPos;vertexOutputs.vPositionW= worldPos.xyz;\n#ifdef NORMAL\nvertexOutputs.vNormalW=normalize(( finalWorld* vec4f(vertexInputs.normal,0.0)).xyz);\n#endif\n#ifndef UV1\nvar uv: vec2f= vec2f(0.,0.);\n#else\nvar uv: vec2f=vertexInputs.uv;\n#endif\n#ifndef UV2\nvar uv2: vec2f= vec2f(0.,0.);\n#else\nvar uv2: vec2f=vertexInputs.uv2;\n#endif\n#ifdef DIFFUSE\nif (uniforms.vTextureInfos.x==0.)\n{vertexOutputs.vTextureUV=(uniforms.textureMatrix* vec4f(uv,1.0,0.0)).xy;}\nelse\n{vertexOutputs.vTextureUV=(uniforms.textureMatrix* vec4f(uv2,1.0,0.0)).xy;}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#include<vertexColorMixing>\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}\n";i.ShaderStore.ShadersStoreWGSL[l]||(i.ShaderStore.ShadersStoreWGSL[l]=d);for(var c=0,m=[i.bonesDeclarationWGSL,i.bakedVertexAnimationDeclarationWGSL,i.instancesDeclarationWGSL,i.clipPlaneVertexDeclarationWGSL,i.logDepthDeclarationWGSL,i.fogVertexDeclarationWGSL,i.lightVxFragmentDeclarationWGSL,i.lightVxUboDeclarationWGSL,i.instancesVertexWGSL,i.bonesVertexWGSL,i.bakedVertexAnimationWGSL,i.clipPlaneVertexWGSL,i.fogVertexWGSL,i.shadowsVertexWGSL,i.vertexColorMixingWGSL,i.logDepthVertexWGSL];c<m.length;c++){var x=m[c];i.ShaderStore.IncludesShadersStoreWGSL[x.name]||(i.ShaderStore.IncludesShadersStoreWGSL[x.name]=x.shader)}var p={__proto__:null,mixVertexShaderWGSL:{name:l,shader:d}},v="mixPixelShader",h="uniform vEyePosition: vec4f;uniform vDiffuseColor: vec4f;\n#ifdef SPECULARTERM\nuniform vSpecularColor: vec4f;\n#endif\nvarying vPositionW: vec3f;\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef VERTEXCOLOR\nvarying vColor: vec4f;\n#endif\n#include<helperFunctions>\n#include<lightUboDeclaration>[0..maxSimultaneousLights]\n#ifdef DIFFUSE\nvarying vTextureUV: vec2f;var mixMap1SamplerSampler: sampler;var mixMap1Sampler: texture_2d<f32>;uniform vTextureInfos: vec2f;\n#ifdef MIXMAP2\nvar mixMap2SamplerSampler: sampler;var mixMap2Sampler: texture_2d<f32>;\n#endif\nvar diffuse1SamplerSampler: sampler;var diffuse1Sampler: texture_2d<f32>;var diffuse2SamplerSampler: sampler;var diffuse2Sampler: texture_2d<f32>;var diffuse3SamplerSampler: sampler;var diffuse3Sampler: texture_2d<f32>;var diffuse4SamplerSampler: sampler;var diffuse4Sampler: texture_2d<f32>;uniform diffuse1Infos: vec2f;uniform diffuse2Infos: vec2f;uniform diffuse3Infos: vec2f;uniform diffuse4Infos: vec2f;\n#ifdef MIXMAP2\nvar diffuse5SamplerSampler: sampler;var diffuse5Sampler: texture_2d<f32>;var diffuse6SamplerSampler: sampler;var diffuse6Sampler: texture_2d<f32>;var diffuse7SamplerSampler: sampler;var diffuse7Sampler: texture_2d<f32>;var diffuse8SamplerSampler: sampler;var diffuse8Sampler: texture_2d<f32>;uniform diffuse5Infos: vec2f;uniform diffuse6Infos: vec2f;uniform diffuse7Infos: vec2f;uniform diffuse8Infos: vec2f;\n#endif\n#endif\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying vViewDepth: f32;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvar viewDirectionW: vec3f=normalize(uniforms.vEyePosition.xyz-fragmentInputs.vPositionW);var finalMixColor: vec4f= vec4f(1.,1.,1.,1.);var diffuseColor: vec3f=uniforms.vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvar mixColor2: vec4f= vec4f(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nvar glossiness: f32=uniforms.vSpecularColor.a;var specularColor: vec3f=uniforms.vSpecularColor.rgb;\n#else\nvar glossiness: f32=0.;\n#endif\nvar alpha: f32=uniforms.vDiffuseColor.a;\n#ifdef NORMAL\nvar normalW: vec3f=normalize(fragmentInputs.vNormalW);\n#else\nvar normalW: vec3f= vec3f(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvar mixColor: vec4f=textureSample(mixMap1Sampler,mixMap1SamplerSampler,fragmentInputs.vTextureUV);\n#include<depthPrePass>\nmixColor=vec4f(mixColor.rgb*uniforms.vTextureInfos.y,mixColor.a);var diffuse1Color: vec4f=textureSample(diffuse1Sampler,diffuse1SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse1Infos);var diffuse2Color: vec4f=textureSample(diffuse2Sampler,diffuse2SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse2Infos);var diffuse3Color: vec4f=textureSample(diffuse3Sampler,diffuse3SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse3Infos);var diffuse4Color: vec4f=textureSample(diffuse4Sampler,diffuse4SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse4Infos);diffuse1Color=vec4f(diffuse1Color.rgb*mixColor.r,diffuse1Color.a);diffuse2Color=vec4f(mix(diffuse1Color.rgb,diffuse2Color.rgb,vec3f(mixColor.g)),diffuse2Color.a);diffuse3Color=vec4f(mix(diffuse2Color.rgb,diffuse3Color.rgb,vec3f(mixColor.b)),diffuse3Color.a);finalMixColor=vec4f(mix(diffuse3Color.rgb,diffuse4Color.rgb,vec3f(1.0-mixColor.a)),finalMixColor.a);\n#ifdef MIXMAP2\nmixColor=textureSample(mixMap2Sampler,mixMap2SamplerSampler,fragmentInputs.vTextureUV);mixColor=vec4f(mixColor.rgb*uniforms.vTextureInfos.y,mixColor.a);var diffuse5Color: vec4f=textureSample(diffuse5Sampler,diffuse5SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse5Infos);var diffuse6Color: vec4f=textureSample(diffuse6Sampler,diffuse6SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse6Infos);var diffuse7Color: vec4f=textureSample(diffuse7Sampler,diffuse7SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse7Infos);var diffuse8Color: vec4f=textureSample(diffuse8Sampler,diffuse8SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse8Infos);diffuse5Color=vec4f(mix(finalMixColor.rgb,diffuse5Color.rgb,vec3f(mixColor.r)),diffuse5Color.a);diffuse6Color=vec4f(mix(diffuse5Color.rgb,diffuse6Color.rgb,vec3f(mixColor.g)),diffuse6Color.a);diffuse7Color=vec4f(mix(diffuse6Color.rgb,diffuse7Color.rgb,vec3f(mixColor.b)),diffuse7Color.a);finalMixColor=vec4f(mix(diffuse7Color.rgb,diffuse8Color.rgb,vec3f(1.0-mixColor.a)),finalMixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor=vec4f(finalMixColor.rgb*fragmentInputs.vColor.rgb,finalMixColor.a);\n#endif\nvar diffuseBase: vec3f= vec3f(0.,0.,0.);var info: lightingInfo;var shadow: f32=1.;var aggShadow: f32=0.;var numLights: f32=0.;\n#ifdef SPECULARTERM\nvar specularBase: vec3f= vec3f(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#if defined(VERTEXALPHA) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nalpha*=fragmentInputs.vColor.a;\n#endif\n#ifdef SPECULARTERM\nvar finalSpecular: vec3f=specularBase*specularColor;\n#else\nvar finalSpecular: vec3f= vec3f(0.0);\n#endif\nvar finalDiffuse: vec3f=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,vec3f(0.0),vec3f(1.0));var color: vec4f= vec4f(finalDiffuse+finalSpecular,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\nfragmentOutputs.color=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";i.ShaderStore.ShadersStoreWGSL[v]||(i.ShaderStore.ShadersStoreWGSL[v]=h);for(var S=0,T=[i.helperFunctionsWGSL,i.lightUboDeclarationWGSL,i.lightsFragmentFunctionsWGSL,i.shadowsFragmentFunctionsWGSL,i.clipPlaneFragmentDeclarationWGSL,i.logDepthDeclarationWGSL,i.fogFragmentDeclarationWGSL,i.clipPlaneFragmentWGSL,i.depthPrePassWGSL,i.lightFragmentWGSL,i.logDepthFragmentWGSL,i.fogFragmentWGSL,i.imageProcessingCompatibilityWGSL];S<T.length;S++){var g=T[S];i.ShaderStore.IncludesShadersStoreWGSL[g.name]||(i.ShaderStore.IncludesShadersStoreWGSL[g.name]=g.shader)}var _={__proto__:null,mixPixelShaderWGSL:{name:v,shader:h}},C="mixVertexShader",I="precision highp float;attribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform mat4 view;uniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;uniform mat4 textureMatrix;uniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<logDepthDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#ifdef VERTEXCOLOR\nvec4 colorUpdated=color;\n#endif\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x==0.)\n{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\nelse\n{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#include<vertexColorMixing>\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\n#endif\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}\n";i.ShaderStore.ShadersStore[C]||(i.ShaderStore.ShadersStore[C]=I);for(var E=0,y=[i.bonesDeclaration,i.bakedVertexAnimationDeclaration,i.instancesDeclaration,i.clipPlaneVertexDeclaration,i.logDepthDeclaration,i.fogVertexDeclaration,i.lightFragmentDeclaration,i.lightUboDeclaration,i.instancesVertex,i.bonesVertex,i.bakedVertexAnimation,i.clipPlaneVertex,i.fogVertex,i.shadowsVertex,i.vertexColorMixing,i.logDepthVertex];E<y.length;E++){var b=y[E];i.ShaderStore.IncludesShadersStore[b.name]||(i.ShaderStore.IncludesShadersStore[b.name]=b.shader)}var L={__proto__:null,mixVertexShader:{name:C,shader:I}},P="mixPixelShader",M="precision highp float;uniform vec4 vEyePosition;uniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<helperFunctions>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;uniform sampler2D mixMap1Sampler;uniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;uniform sampler2D diffuse2Sampler;uniform sampler2D diffuse3Sampler;uniform sampler2D diffuse4Sampler;uniform vec2 diffuse1Infos;uniform vec2 diffuse2Infos;uniform vec2 diffuse3Infos;uniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;uniform sampler2D diffuse6Sampler;uniform sampler2D diffuse7Sampler;uniform sampler2D diffuse8Sampler;uniform vec2 diffuse5Infos;uniform vec2 diffuse6Infos;uniform vec2 diffuse7Infos;uniform vec2 diffuse8Infos;\n#endif\n#endif\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4 finalMixColor=vec4(1.,1.,1.,1.);vec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;vec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\nfloat alpha=vDiffuseColor.a;\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;vec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);vec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);vec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);vec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);diffuse1Color.rgb*=mixColor.r;diffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);diffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);finalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);mixColor.rgb*=vTextureInfos.y;vec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);vec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);vec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);vec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);diffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);diffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);diffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);finalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\nvec3 diffuseBase=vec3(0.,0.,0.);lightingInfo info;float shadow=1.;float aggShadow=0.;float numLights=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#if defined(VERTEXALPHA) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);vec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";i.ShaderStore.ShadersStore[P]||(i.ShaderStore.ShadersStore[P]=M);for(var D=0,A=[i.helperFunctions,i.lightFragmentDeclaration,i.lightUboDeclaration,i.lightsFragmentFunctions,i.shadowsFragmentFunctions,i.clipPlaneFragmentDeclaration,i.logDepthDeclaration,i.fogFragmentDeclaration,i.clipPlaneFragment,i.depthPrePass,i.lightFragment,i.logDepthFragment,i.fogFragment,i.imageProcessingCompatibility];D<A.length;D++){var F=A[D];i.ShaderStore.IncludesShadersStore[F.name]||(i.ShaderStore.IncludesShadersStore[F.name]=F.shader)}var V={__proto__:null,mixPixelShader:{name:P,shader:M}};e.MixMaterial=o});
|
|
1
|
+
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("babylonjs")):"function"==typeof define&&define.amd?define(["exports","babylonjs"],i):i((e="undefined"!=typeof globalThis?globalThis:e||self).BABYLON=e.BABYLON||{},e.BABYLON)}(this,function(e,i){"use strict";function t(e,i,t,r,s,f){function n(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,u=r.kind,o="getter"===u?"get":"setter"===u?"set":"value",l=!i&&e?r.static?e:e.prototype:null,d=i||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),c=!1,x=t.length-1;x>=0;x--){var m={};for(var h in r)m[h]="access"===h?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(c)throw new TypeError("Cannot add initializers after decoration has completed");f.push(n(e||null))};var v=(0,t[x])("accessor"===u?{get:d.get,set:d.set}:d[o],m);if("accessor"===u){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw new TypeError("Object expected");(a=n(v.get))&&(d.get=a),(a=n(v.set))&&(d.set=a),(a=n(v.init))&&s.unshift(a)}else(a=n(v))&&("field"===u?s.unshift(a):d[o]=a)}l&&Object.defineProperty(l,r.name,d),c=!0}function r(e,i,t){for(var r=arguments.length>2,s=0;s<i.length;s++)t=r?i[s].call(e,t):i[s].call(e);return r?t:void 0}function s(e,i,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof i?e!==i||!r:!i.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:i.get(e)}function f(e,i,t,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?e!==i||!s:!i.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,t):s?s.value=t:i.set(e,t),t}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;class n extends i.MaterialDefines{constructor(){super(),this.DIFFUSE=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.ALPHATEST=!1,this.DEPTHPREPASS=!1,this.POINTSIZE=!1,this.FOG=!1,this.SPECULARTERM=!1,this.NORMAL=!1,this.UV1=!1,this.UV2=!1,this.VERTEXCOLOR=!1,this.VERTEXALPHA=!1,this.NUM_BONE_INFLUENCERS=0,this.BonesPerMesh=0,this.INSTANCES=!1,this.INSTANCESCOLOR=!1,this.MIXMAP2=!1,this.IMAGEPROCESSINGPOSTPROCESS=!1,this.SKIPFINALCOLORCLAMP=!1,this.LOGARITHMICDEPTH=!1,this.rebuild()}}let a=(()=>{var e,a,u,o,l,d,c,m,h,v,T,S,g;let C,E,I,M,b,P,D,A,y,F,V,O,R,U,w,N,W,G,k,B,z,X,H,j,K,Y,Z,q=i.PushMaterial,J=[],Q=[],$=[],ee=[],ie=[],te=[],re=[],se=[],fe=[],ne=[],ae=[],ue=[],oe=[],le=[],de=[],ce=[],xe=[],me=[],he=[],ve=[],pe=[],Te=[],Se=[],ge=[],_e=[],Ce=[],Ee=[],Ie=[],Le=[],Me=[],be=[],Pe=[],De=[],Ae=[],ye=[],Fe=[],Ve=[],Oe=[],Re=[],Ue=[],we=[],Ne=[],We=[],Ge=[],ke=[],Be=[],ze=[],Xe=[],He=[],je=[],Ke=[],Ye=[],Ze=[],qe=[];return e=class extends q{get mixTexture1(){return s(this,a,"f")}set mixTexture1(e){f(this,a,e,"f")}get mixTexture2(){return s(this,u,"f")}set mixTexture2(e){f(this,u,e,"f")}get diffuseTexture1(){return s(this,o,"f")}set diffuseTexture1(e){f(this,o,e,"f")}get diffuseTexture2(){return s(this,l,"f")}set diffuseTexture2(e){f(this,l,e,"f")}get diffuseTexture3(){return s(this,d,"f")}set diffuseTexture3(e){f(this,d,e,"f")}get diffuseTexture4(){return s(this,c,"f")}set diffuseTexture4(e){f(this,c,e,"f")}get diffuseTexture5(){return s(this,m,"f")}set diffuseTexture5(e){f(this,m,e,"f")}get diffuseTexture6(){return s(this,h,"f")}set diffuseTexture6(e){f(this,h,e,"f")}get diffuseTexture7(){return s(this,v,"f")}set diffuseTexture7(e){f(this,v,e,"f")}get diffuseTexture8(){return s(this,T,"f")}set diffuseTexture8(e){f(this,T,e,"f")}get disableLighting(){return s(this,S,"f")}set disableLighting(e){f(this,S,e,"f")}get maxSimultaneousLights(){return s(this,g,"f")}set maxSimultaneousLights(e){f(this,g,e,"f")}constructor(e,t,s=!1){super(e,t,void 0,s),this._mixTexture1=r(this,J,void 0),a.set(this,(r(this,Q),r(this,$,void 0))),this._mixTexture2=(r(this,ee),r(this,ie,void 0)),u.set(this,(r(this,te),r(this,re,void 0))),this._diffuseTexture1=(r(this,se),r(this,fe,void 0)),o.set(this,(r(this,ne),r(this,ae,void 0))),this._diffuseTexture2=(r(this,ue),r(this,oe,void 0)),l.set(this,(r(this,le),r(this,de,void 0))),this._diffuseTexture3=(r(this,ce),r(this,xe,void 0)),d.set(this,(r(this,me),r(this,he,void 0))),this._diffuseTexture4=(r(this,ve),r(this,pe,void 0)),c.set(this,(r(this,Te),r(this,Se,void 0))),this._diffuseTexture5=(r(this,ge),r(this,_e,void 0)),m.set(this,(r(this,Ce),r(this,Ee,void 0))),this._diffuseTexture6=(r(this,Ie),r(this,Le,void 0)),h.set(this,(r(this,Me),r(this,be,void 0))),this._diffuseTexture7=(r(this,Pe),r(this,De,void 0)),v.set(this,(r(this,Ae),r(this,ye,void 0))),this._diffuseTexture8=(r(this,Fe),r(this,Ve,void 0)),T.set(this,(r(this,Oe),r(this,Re,void 0))),this.diffuseColor=(r(this,Ue),r(this,we,new i.Color3(1,1,1))),this.specularColor=(r(this,Ne),r(this,We,new i.Color3(0,0,0))),this.specularPower=(r(this,Ge),r(this,ke,64)),this._disableLighting=(r(this,Be),r(this,ze,!1)),S.set(this,(r(this,Xe),r(this,He,void 0))),this._maxSimultaneousLights=(r(this,je),r(this,Ke,4)),g.set(this,(r(this,Ye),r(this,Ze,void 0))),this._shadersLoaded=(r(this,qe),!1)}needAlphaBlending(){return this.alpha<1}needAlphaTesting(){return!1}getAlphaTestTexture(){return null}isReadyForSubMesh(e,t,r){const s=t._drawWrapper;if(this.isFrozen&&s.effect&&s._wasPreviouslyReady&&s._wasPreviouslyUsingInstances===r)return!0;t.materialDefines||(t.materialDefines=new n);const f=t.materialDefines,a=this.getScene();if(this._isReadyForSubMesh(t))return!0;const u=a.getEngine();if(a.texturesEnabled){if(!this._mixTexture1||!this._mixTexture1.isReady())return!1;if(f._needUVs=!0,i.MaterialFlags.DiffuseTextureEnabled){if(!this._diffuseTexture1||!this._diffuseTexture1.isReady())return!1;if(f.DIFFUSE=!0,!this._diffuseTexture2||!this._diffuseTexture2.isReady())return!1;if(!this._diffuseTexture3||!this._diffuseTexture3.isReady())return!1;if(!this._diffuseTexture4||!this._diffuseTexture4.isReady())return!1;if(this._mixTexture2){if(!this._mixTexture2.isReady())return!1;if(f.MIXMAP2=!0,!this._diffuseTexture5||!this._diffuseTexture5.isReady())return!1;if(!this._diffuseTexture6||!this._diffuseTexture6.isReady())return!1;if(!this._diffuseTexture7||!this._diffuseTexture7.isReady())return!1;if(!this._diffuseTexture8||!this._diffuseTexture8.isReady())return!1}}}if(i.PrepareDefinesForMisc(e,a,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this.needAlphaTestingForMesh(e),f,void 0,void 0,void 0,this._isVertexOutputInvariant),f._needNormals=i.PrepareDefinesForLights(a,e,f,!1,this._maxSimultaneousLights,this._disableLighting),i.PrepareDefinesForFrameBoundValues(a,u,this,f,!!r),i.PrepareDefinesForAttributes(e,f,!0,!0),f.isDirty){f.markAsProcessed(),a.resetCachedMaterial();const r=new i.EffectFallbacks;f.FOG&&r.addFallback(1,"FOG"),i.HandleFallbacksForShadows(f,r,this.maxSimultaneousLights),f.NUM_BONE_INFLUENCERS>0&&r.addCPUSkinningFallback(0,e),f.IMAGEPROCESSINGPOSTPROCESS=a.imageProcessingConfiguration.applyByPostProcess;const s=[i.VertexBuffer.PositionKind];f.NORMAL&&s.push(i.VertexBuffer.NormalKind),f.UV1&&s.push(i.VertexBuffer.UVKind),f.UV2&&s.push(i.VertexBuffer.UV2Kind),f.VERTEXCOLOR&&s.push(i.VertexBuffer.ColorKind),i.PrepareAttributesForBones(s,e,f,r),i.PrepareAttributesForInstances(s,f);const n="mix",o=f.toString(),l=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","vTextureInfos","mBones","textureMatrix","logarithmicDepthConstant","diffuse1Infos","diffuse2Infos","diffuse3Infos","diffuse4Infos","diffuse5Infos","diffuse6Infos","diffuse7Infos","diffuse8Infos"],d=["mixMap1Sampler","mixMap2Sampler","diffuse1Sampler","diffuse2Sampler","diffuse3Sampler","diffuse4Sampler","diffuse5Sampler","diffuse6Sampler","diffuse7Sampler","diffuse8Sampler"],c=[];i.AddClipPlaneUniforms(l),i.PrepareUniformsAndSamplersList({uniformsNames:l,uniformBuffersNames:c,samplers:d,defines:f,maxSimultaneousLights:this.maxSimultaneousLights,shaderLanguage:this._shaderLanguage}),t.setEffect(a.getEngine().createEffect(n,{attributes:s,uniformsNames:l,uniformBuffersNames:c,samplers:d,defines:o,fallbacks:r,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights},shaderLanguage:this._shaderLanguage,extraInitializationsAsync:this._shadersLoaded?void 0:()=>{return e=this,i=void 0,r=function*(){1===this.shaderLanguage?yield Promise.all([Promise.resolve().then(function(){return x}),Promise.resolve().then(function(){return p})]):yield Promise.all([Promise.resolve().then(function(){return _}),Promise.resolve().then(function(){return L})]),this._shadersLoaded=!0},new((t=void 0)||(t=Promise))(function(s,f){function n(e){try{u(r.next(e))}catch(e){f(e)}}function a(e){try{u(r.throw(e))}catch(e){f(e)}}function u(e){var i;e.done?s(e.value):(i=e.value,i instanceof t?i:new t(function(e){e(i)})).then(n,a)}u((r=r.apply(e,i||[])).next())});var e,i,t,r}},u),f,this._materialContext)}return!(!t.effect||!t.effect.isReady()||(f._renderId=a.getRenderId(),s._wasPreviouslyReady=!0,s._wasPreviouslyUsingInstances=!!r,0))}bindForSubMesh(e,t,r){const s=this.getScene(),f=r.materialDefines;if(!f)return;const n=r.effect;n&&(this._activeEffect=n,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",s.getTransformMatrix()),i.BindBonesParameters(t,this._activeEffect),this._mustRebind(s,n,r)&&(this._mixTexture1&&(this._activeEffect.setTexture("mixMap1Sampler",this._mixTexture1),this._activeEffect.setFloat2("vTextureInfos",this._mixTexture1.coordinatesIndex,this._mixTexture1.level),this._activeEffect.setMatrix("textureMatrix",this._mixTexture1.getTextureMatrix()),i.MaterialFlags.DiffuseTextureEnabled&&(this._diffuseTexture1&&(this._activeEffect.setTexture("diffuse1Sampler",this._diffuseTexture1),this._activeEffect.setFloat2("diffuse1Infos",this._diffuseTexture1.uScale,this._diffuseTexture1.vScale)),this._diffuseTexture2&&(this._activeEffect.setTexture("diffuse2Sampler",this._diffuseTexture2),this._activeEffect.setFloat2("diffuse2Infos",this._diffuseTexture2.uScale,this._diffuseTexture2.vScale)),this._diffuseTexture3&&(this._activeEffect.setTexture("diffuse3Sampler",this._diffuseTexture3),this._activeEffect.setFloat2("diffuse3Infos",this._diffuseTexture3.uScale,this._diffuseTexture3.vScale)),this._diffuseTexture4&&(this._activeEffect.setTexture("diffuse4Sampler",this._diffuseTexture4),this._activeEffect.setFloat2("diffuse4Infos",this._diffuseTexture4.uScale,this._diffuseTexture4.vScale)))),this._mixTexture2&&(this._activeEffect.setTexture("mixMap2Sampler",this._mixTexture2),i.MaterialFlags.DiffuseTextureEnabled&&(this._diffuseTexture5&&(this._activeEffect.setTexture("diffuse5Sampler",this._diffuseTexture5),this._activeEffect.setFloat2("diffuse5Infos",this._diffuseTexture5.uScale,this._diffuseTexture5.vScale)),this._diffuseTexture6&&(this._activeEffect.setTexture("diffuse6Sampler",this._diffuseTexture6),this._activeEffect.setFloat2("diffuse6Infos",this._diffuseTexture6.uScale,this._diffuseTexture6.vScale)),this._diffuseTexture7&&(this._activeEffect.setTexture("diffuse7Sampler",this._diffuseTexture7),this._activeEffect.setFloat2("diffuse7Infos",this._diffuseTexture7.uScale,this._diffuseTexture7.vScale)),this._diffuseTexture8&&(this._activeEffect.setTexture("diffuse8Sampler",this._diffuseTexture8),this._activeEffect.setFloat2("diffuse8Infos",this._diffuseTexture8.uScale,this._diffuseTexture8.vScale)))),i.BindClipPlane(n,this,s),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),this._useLogarithmicDepth&&i.BindLogDepth(f,n,s),s.bindEyePosition(n)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),f.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),s.lightsEnabled&&!this.disableLighting&&i.BindLights(s,t,this._activeEffect,f,this.maxSimultaneousLights),s.fogEnabled&&t.applyFog&&s.fogMode!==i.Scene.FOGMODE_NONE&&this._activeEffect.setMatrix("view",s.getViewMatrix()),i.BindFogParameters(s,t,this._activeEffect),this._afterBind(t,this._activeEffect,r))}getAnimatables(){const e=[];return this._mixTexture1&&this._mixTexture1.animations&&this._mixTexture1.animations.length>0&&e.push(this._mixTexture1),this._mixTexture2&&this._mixTexture2.animations&&this._mixTexture2.animations.length>0&&e.push(this._mixTexture2),e}getActiveTextures(){const e=super.getActiveTextures();return this._mixTexture1&&e.push(this._mixTexture1),this._diffuseTexture1&&e.push(this._diffuseTexture1),this._diffuseTexture2&&e.push(this._diffuseTexture2),this._diffuseTexture3&&e.push(this._diffuseTexture3),this._diffuseTexture4&&e.push(this._diffuseTexture4),this._mixTexture2&&e.push(this._mixTexture2),this._diffuseTexture5&&e.push(this._diffuseTexture5),this._diffuseTexture6&&e.push(this._diffuseTexture6),this._diffuseTexture7&&e.push(this._diffuseTexture7),this._diffuseTexture8&&e.push(this._diffuseTexture8),e}hasTexture(e){return!!super.hasTexture(e)||this._mixTexture1===e||this._diffuseTexture1===e||this._diffuseTexture2===e||this._diffuseTexture3===e||this._diffuseTexture4===e||this._mixTexture2===e||this._diffuseTexture5===e||this._diffuseTexture6===e||this._diffuseTexture7===e||this._diffuseTexture8===e}dispose(e){this._mixTexture1&&this._mixTexture1.dispose(),super.dispose(e)}clone(t){return i.SerializationHelper.Clone(()=>new e(t,this.getScene()),this)}serialize(){const e=super.serialize();return e.customType="BABYLON.MixMaterial",e}getClassName(){return"MixMaterial"}static Parse(t,r,s){return i.SerializationHelper.Parse(()=>new e(t.name,r),t,r,s)}},a=new WeakMap,u=new WeakMap,o=new WeakMap,l=new WeakMap,d=new WeakMap,c=new WeakMap,m=new WeakMap,h=new WeakMap,v=new WeakMap,T=new WeakMap,S=new WeakMap,g=new WeakMap,(()=>{var r;const s="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=q[Symbol.metadata])&&void 0!==r?r:null):void 0;C=[i.serializeAsTexture("mixTexture1")],E=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],I=[i.serializeAsTexture("mixTexture2")],M=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],b=[i.serializeAsTexture("diffuseTexture1")],P=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],D=[i.serializeAsTexture("diffuseTexture2")],A=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],y=[i.serializeAsTexture("diffuseTexture3")],F=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],V=[i.serializeAsTexture("diffuseTexture4")],O=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],R=[i.serializeAsTexture("diffuseTexture1")],U=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],w=[i.serializeAsTexture("diffuseTexture2")],N=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],W=[i.serializeAsTexture("diffuseTexture3")],G=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],k=[i.serializeAsTexture("diffuseTexture4")],B=[i.expandToProperty("_markAllSubMeshesAsTexturesDirty")],z=[i.serializeAsColor3()],X=[i.serializeAsColor3()],H=[i.serialize()],j=[i.serialize("disableLighting")],K=[i.expandToProperty("_markAllSubMeshesAsLightsDirty")],Y=[i.serialize("maxSimultaneousLights")],Z=[i.expandToProperty("_markAllSubMeshesAsLightsDirty")],t(e,null,E,{kind:"accessor",name:"mixTexture1",static:!1,private:!1,access:{has:e=>"mixTexture1"in e,get:e=>e.mixTexture1,set:(e,i)=>{e.mixTexture1=i}},metadata:s},$,ee),t(e,null,M,{kind:"accessor",name:"mixTexture2",static:!1,private:!1,access:{has:e=>"mixTexture2"in e,get:e=>e.mixTexture2,set:(e,i)=>{e.mixTexture2=i}},metadata:s},re,se),t(e,null,P,{kind:"accessor",name:"diffuseTexture1",static:!1,private:!1,access:{has:e=>"diffuseTexture1"in e,get:e=>e.diffuseTexture1,set:(e,i)=>{e.diffuseTexture1=i}},metadata:s},ae,ue),t(e,null,A,{kind:"accessor",name:"diffuseTexture2",static:!1,private:!1,access:{has:e=>"diffuseTexture2"in e,get:e=>e.diffuseTexture2,set:(e,i)=>{e.diffuseTexture2=i}},metadata:s},de,ce),t(e,null,F,{kind:"accessor",name:"diffuseTexture3",static:!1,private:!1,access:{has:e=>"diffuseTexture3"in e,get:e=>e.diffuseTexture3,set:(e,i)=>{e.diffuseTexture3=i}},metadata:s},he,ve),t(e,null,O,{kind:"accessor",name:"diffuseTexture4",static:!1,private:!1,access:{has:e=>"diffuseTexture4"in e,get:e=>e.diffuseTexture4,set:(e,i)=>{e.diffuseTexture4=i}},metadata:s},Se,ge),t(e,null,U,{kind:"accessor",name:"diffuseTexture5",static:!1,private:!1,access:{has:e=>"diffuseTexture5"in e,get:e=>e.diffuseTexture5,set:(e,i)=>{e.diffuseTexture5=i}},metadata:s},Ee,Ie),t(e,null,N,{kind:"accessor",name:"diffuseTexture6",static:!1,private:!1,access:{has:e=>"diffuseTexture6"in e,get:e=>e.diffuseTexture6,set:(e,i)=>{e.diffuseTexture6=i}},metadata:s},be,Pe),t(e,null,G,{kind:"accessor",name:"diffuseTexture7",static:!1,private:!1,access:{has:e=>"diffuseTexture7"in e,get:e=>e.diffuseTexture7,set:(e,i)=>{e.diffuseTexture7=i}},metadata:s},ye,Fe),t(e,null,B,{kind:"accessor",name:"diffuseTexture8",static:!1,private:!1,access:{has:e=>"diffuseTexture8"in e,get:e=>e.diffuseTexture8,set:(e,i)=>{e.diffuseTexture8=i}},metadata:s},Re,Ue),t(e,null,K,{kind:"accessor",name:"disableLighting",static:!1,private:!1,access:{has:e=>"disableLighting"in e,get:e=>e.disableLighting,set:(e,i)=>{e.disableLighting=i}},metadata:s},He,je),t(e,null,Z,{kind:"accessor",name:"maxSimultaneousLights",static:!1,private:!1,access:{has:e=>"maxSimultaneousLights"in e,get:e=>e.maxSimultaneousLights,set:(e,i)=>{e.maxSimultaneousLights=i}},metadata:s},Ze,qe),t(null,null,C,{kind:"field",name:"_mixTexture1",static:!1,private:!1,access:{has:e=>"_mixTexture1"in e,get:e=>e._mixTexture1,set:(e,i)=>{e._mixTexture1=i}},metadata:s},J,Q),t(null,null,I,{kind:"field",name:"_mixTexture2",static:!1,private:!1,access:{has:e=>"_mixTexture2"in e,get:e=>e._mixTexture2,set:(e,i)=>{e._mixTexture2=i}},metadata:s},ie,te),t(null,null,b,{kind:"field",name:"_diffuseTexture1",static:!1,private:!1,access:{has:e=>"_diffuseTexture1"in e,get:e=>e._diffuseTexture1,set:(e,i)=>{e._diffuseTexture1=i}},metadata:s},fe,ne),t(null,null,D,{kind:"field",name:"_diffuseTexture2",static:!1,private:!1,access:{has:e=>"_diffuseTexture2"in e,get:e=>e._diffuseTexture2,set:(e,i)=>{e._diffuseTexture2=i}},metadata:s},oe,le),t(null,null,y,{kind:"field",name:"_diffuseTexture3",static:!1,private:!1,access:{has:e=>"_diffuseTexture3"in e,get:e=>e._diffuseTexture3,set:(e,i)=>{e._diffuseTexture3=i}},metadata:s},xe,me),t(null,null,V,{kind:"field",name:"_diffuseTexture4",static:!1,private:!1,access:{has:e=>"_diffuseTexture4"in e,get:e=>e._diffuseTexture4,set:(e,i)=>{e._diffuseTexture4=i}},metadata:s},pe,Te),t(null,null,R,{kind:"field",name:"_diffuseTexture5",static:!1,private:!1,access:{has:e=>"_diffuseTexture5"in e,get:e=>e._diffuseTexture5,set:(e,i)=>{e._diffuseTexture5=i}},metadata:s},_e,Ce),t(null,null,w,{kind:"field",name:"_diffuseTexture6",static:!1,private:!1,access:{has:e=>"_diffuseTexture6"in e,get:e=>e._diffuseTexture6,set:(e,i)=>{e._diffuseTexture6=i}},metadata:s},Le,Me),t(null,null,W,{kind:"field",name:"_diffuseTexture7",static:!1,private:!1,access:{has:e=>"_diffuseTexture7"in e,get:e=>e._diffuseTexture7,set:(e,i)=>{e._diffuseTexture7=i}},metadata:s},De,Ae),t(null,null,k,{kind:"field",name:"_diffuseTexture8",static:!1,private:!1,access:{has:e=>"_diffuseTexture8"in e,get:e=>e._diffuseTexture8,set:(e,i)=>{e._diffuseTexture8=i}},metadata:s},Ve,Oe),t(null,null,z,{kind:"field",name:"diffuseColor",static:!1,private:!1,access:{has:e=>"diffuseColor"in e,get:e=>e.diffuseColor,set:(e,i)=>{e.diffuseColor=i}},metadata:s},we,Ne),t(null,null,X,{kind:"field",name:"specularColor",static:!1,private:!1,access:{has:e=>"specularColor"in e,get:e=>e.specularColor,set:(e,i)=>{e.specularColor=i}},metadata:s},We,Ge),t(null,null,H,{kind:"field",name:"specularPower",static:!1,private:!1,access:{has:e=>"specularPower"in e,get:e=>e.specularPower,set:(e,i)=>{e.specularPower=i}},metadata:s},ke,Be),t(null,null,j,{kind:"field",name:"_disableLighting",static:!1,private:!1,access:{has:e=>"_disableLighting"in e,get:e=>e._disableLighting,set:(e,i)=>{e._disableLighting=i}},metadata:s},ze,Xe),t(null,null,Y,{kind:"field",name:"_maxSimultaneousLights",static:!1,private:!1,access:{has:e=>"_maxSimultaneousLights"in e,get:e=>e._maxSimultaneousLights,set:(e,i)=>{e._maxSimultaneousLights=i}},metadata:s},Ke,Ye),s&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s})})(),e})();i.RegisterClass("BABYLON.MixMaterial",a);var u={__proto__:null,MixMaterial:a};const o="undefined"!=typeof global?global:"undefined"!=typeof window?window:void 0;if(void 0!==o)for(const e in u)o.BABYLON[e]=u[e];const l="mixVertexShader",d="attribute position: vec3f;\n#ifdef NORMAL\nattribute normal: vec3f;\n#endif\n#ifdef UV1\nattribute uv: vec2f;\n#endif\n#ifdef UV2\nattribute uv2: vec2f;\n#endif\n#ifdef VERTEXCOLOR\nattribute color: vec4f;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform view: mat4x4f;uniform viewProjection: mat4x4f;\n#ifdef DIFFUSE\nvarying vTextureUV: vec2f;uniform textureMatrix: mat4x4f;uniform vTextureInfos: vec2f;\n#endif\n#ifdef POINTSIZE\nuniform pointSize: f32;\n#endif\nvarying vPositionW: vec3f;\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef VERTEXCOLOR\nvarying vColor: vec4f;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<logDepthDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying vViewDepth: f32;\n#endif\n#define CUSTOM_VERTEX_DEFINITIONS\n@vertex\nfn main(input : VertexInputs)->FragmentInputs {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#ifdef VERTEXCOLOR\nvar colorUpdated: vec4f=vertexInputs.color;\n#endif\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvar worldPos: vec4f=finalWorld* vec4f(vertexInputs.position,1.0);vertexOutputs.position=uniforms.viewProjection*worldPos;vertexOutputs.vPositionW= worldPos.xyz;\n#ifdef NORMAL\nvertexOutputs.vNormalW=normalize(( finalWorld* vec4f(vertexInputs.normal,0.0)).xyz);\n#endif\n#ifndef UV1\nvar uv: vec2f= vec2f(0.,0.);\n#else\nvar uv: vec2f=vertexInputs.uv;\n#endif\n#ifndef UV2\nvar uv2: vec2f= vec2f(0.,0.);\n#else\nvar uv2: vec2f=vertexInputs.uv2;\n#endif\n#ifdef DIFFUSE\nif (uniforms.vTextureInfos.x==0.)\n{vertexOutputs.vTextureUV=(uniforms.textureMatrix* vec4f(uv,1.0,0.0)).xy;}\nelse\n{vertexOutputs.vTextureUV=(uniforms.textureMatrix* vec4f(uv2,1.0,0.0)).xy;}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#include<vertexColorMixing>\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}\n";i.ShaderStore.ShadersStoreWGSL[l]||(i.ShaderStore.ShadersStoreWGSL[l]=d);const c=[i.bonesDeclarationWGSL,i.bakedVertexAnimationDeclarationWGSL,i.instancesDeclarationWGSL,i.clipPlaneVertexDeclarationWGSL,i.logDepthDeclarationWGSL,i.fogVertexDeclarationWGSL,i.lightVxFragmentDeclarationWGSL,i.lightVxUboDeclarationWGSL,i.instancesVertexWGSL,i.bonesVertexWGSL,i.bakedVertexAnimationWGSL,i.clipPlaneVertexWGSL,i.fogVertexWGSL,i.shadowsVertexWGSL,i.vertexColorMixingWGSL,i.logDepthVertexWGSL];for(const e of c)i.ShaderStore.IncludesShadersStoreWGSL[e.name]||(i.ShaderStore.IncludesShadersStoreWGSL[e.name]=e.shader);var x={__proto__:null,mixVertexShaderWGSL:{name:l,shader:d}};const m="mixPixelShader",h="uniform vEyePosition: vec4f;uniform vDiffuseColor: vec4f;\n#ifdef SPECULARTERM\nuniform vSpecularColor: vec4f;\n#endif\nvarying vPositionW: vec3f;\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef VERTEXCOLOR\nvarying vColor: vec4f;\n#endif\n#include<helperFunctions>\n#include<lightUboDeclaration>[0..maxSimultaneousLights]\n#ifdef DIFFUSE\nvarying vTextureUV: vec2f;var mixMap1SamplerSampler: sampler;var mixMap1Sampler: texture_2d<f32>;uniform vTextureInfos: vec2f;\n#ifdef MIXMAP2\nvar mixMap2SamplerSampler: sampler;var mixMap2Sampler: texture_2d<f32>;\n#endif\nvar diffuse1SamplerSampler: sampler;var diffuse1Sampler: texture_2d<f32>;var diffuse2SamplerSampler: sampler;var diffuse2Sampler: texture_2d<f32>;var diffuse3SamplerSampler: sampler;var diffuse3Sampler: texture_2d<f32>;var diffuse4SamplerSampler: sampler;var diffuse4Sampler: texture_2d<f32>;uniform diffuse1Infos: vec2f;uniform diffuse2Infos: vec2f;uniform diffuse3Infos: vec2f;uniform diffuse4Infos: vec2f;\n#ifdef MIXMAP2\nvar diffuse5SamplerSampler: sampler;var diffuse5Sampler: texture_2d<f32>;var diffuse6SamplerSampler: sampler;var diffuse6Sampler: texture_2d<f32>;var diffuse7SamplerSampler: sampler;var diffuse7Sampler: texture_2d<f32>;var diffuse8SamplerSampler: sampler;var diffuse8Sampler: texture_2d<f32>;uniform diffuse5Infos: vec2f;uniform diffuse6Infos: vec2f;uniform diffuse7Infos: vec2f;uniform diffuse8Infos: vec2f;\n#endif\n#endif\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying vViewDepth: f32;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvar viewDirectionW: vec3f=normalize(uniforms.vEyePosition.xyz-fragmentInputs.vPositionW);var finalMixColor: vec4f= vec4f(1.,1.,1.,1.);var diffuseColor: vec3f=uniforms.vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvar mixColor2: vec4f= vec4f(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nvar glossiness: f32=uniforms.vSpecularColor.a;var specularColor: vec3f=uniforms.vSpecularColor.rgb;\n#else\nvar glossiness: f32=0.;\n#endif\nvar alpha: f32=uniforms.vDiffuseColor.a;\n#ifdef NORMAL\nvar normalW: vec3f=normalize(fragmentInputs.vNormalW);\n#else\nvar normalW: vec3f= vec3f(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvar mixColor: vec4f=textureSample(mixMap1Sampler,mixMap1SamplerSampler,fragmentInputs.vTextureUV);\n#include<depthPrePass>\nmixColor=vec4f(mixColor.rgb*uniforms.vTextureInfos.y,mixColor.a);var diffuse1Color: vec4f=textureSample(diffuse1Sampler,diffuse1SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse1Infos);var diffuse2Color: vec4f=textureSample(diffuse2Sampler,diffuse2SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse2Infos);var diffuse3Color: vec4f=textureSample(diffuse3Sampler,diffuse3SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse3Infos);var diffuse4Color: vec4f=textureSample(diffuse4Sampler,diffuse4SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse4Infos);diffuse1Color=vec4f(diffuse1Color.rgb*mixColor.r,diffuse1Color.a);diffuse2Color=vec4f(mix(diffuse1Color.rgb,diffuse2Color.rgb,vec3f(mixColor.g)),diffuse2Color.a);diffuse3Color=vec4f(mix(diffuse2Color.rgb,diffuse3Color.rgb,vec3f(mixColor.b)),diffuse3Color.a);finalMixColor=vec4f(mix(diffuse3Color.rgb,diffuse4Color.rgb,vec3f(1.0-mixColor.a)),finalMixColor.a);\n#ifdef MIXMAP2\nmixColor=textureSample(mixMap2Sampler,mixMap2SamplerSampler,fragmentInputs.vTextureUV);mixColor=vec4f(mixColor.rgb*uniforms.vTextureInfos.y,mixColor.a);var diffuse5Color: vec4f=textureSample(diffuse5Sampler,diffuse5SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse5Infos);var diffuse6Color: vec4f=textureSample(diffuse6Sampler,diffuse6SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse6Infos);var diffuse7Color: vec4f=textureSample(diffuse7Sampler,diffuse7SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse7Infos);var diffuse8Color: vec4f=textureSample(diffuse8Sampler,diffuse8SamplerSampler,fragmentInputs.vTextureUV*uniforms.diffuse8Infos);diffuse5Color=vec4f(mix(finalMixColor.rgb,diffuse5Color.rgb,vec3f(mixColor.r)),diffuse5Color.a);diffuse6Color=vec4f(mix(diffuse5Color.rgb,diffuse6Color.rgb,vec3f(mixColor.g)),diffuse6Color.a);diffuse7Color=vec4f(mix(diffuse6Color.rgb,diffuse7Color.rgb,vec3f(mixColor.b)),diffuse7Color.a);finalMixColor=vec4f(mix(diffuse7Color.rgb,diffuse8Color.rgb,vec3f(1.0-mixColor.a)),finalMixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor=vec4f(finalMixColor.rgb*fragmentInputs.vColor.rgb,finalMixColor.a);\n#endif\nvar diffuseBase: vec3f= vec3f(0.,0.,0.);var info: lightingInfo;var shadow: f32=1.;var aggShadow: f32=0.;var numLights: f32=0.;\n#ifdef SPECULARTERM\nvar specularBase: vec3f= vec3f(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#if defined(VERTEXALPHA) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nalpha*=fragmentInputs.vColor.a;\n#endif\n#ifdef SPECULARTERM\nvar finalSpecular: vec3f=specularBase*specularColor;\n#else\nvar finalSpecular: vec3f= vec3f(0.0);\n#endif\nvar finalDiffuse: vec3f=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,vec3f(0.0),vec3f(1.0));var color: vec4f= vec4f(finalDiffuse+finalSpecular,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\nfragmentOutputs.color=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";i.ShaderStore.ShadersStoreWGSL[m]||(i.ShaderStore.ShadersStoreWGSL[m]=h);const v=[i.helperFunctionsWGSL,i.lightUboDeclarationWGSL,i.lightsFragmentFunctionsWGSL,i.shadowsFragmentFunctionsWGSL,i.clipPlaneFragmentDeclarationWGSL,i.logDepthDeclarationWGSL,i.fogFragmentDeclarationWGSL,i.clipPlaneFragmentWGSL,i.depthPrePassWGSL,i.lightFragmentWGSL,i.logDepthFragmentWGSL,i.fogFragmentWGSL,i.imageProcessingCompatibilityWGSL];for(const e of v)i.ShaderStore.IncludesShadersStoreWGSL[e.name]||(i.ShaderStore.IncludesShadersStoreWGSL[e.name]=e.shader);var p={__proto__:null,mixPixelShaderWGSL:{name:m,shader:h}};const T="mixVertexShader",S="precision highp float;attribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform mat4 view;uniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;uniform mat4 textureMatrix;uniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<logDepthDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#ifdef VERTEXCOLOR\nvec4 colorUpdated=color;\n#endif\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x==0.)\n{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\nelse\n{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#include<vertexColorMixing>\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\n#endif\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}\n";i.ShaderStore.ShadersStore[T]||(i.ShaderStore.ShadersStore[T]=S);const g=[i.bonesDeclaration,i.bakedVertexAnimationDeclaration,i.instancesDeclaration,i.clipPlaneVertexDeclaration,i.logDepthDeclaration,i.fogVertexDeclaration,i.lightFragmentDeclaration,i.lightUboDeclaration,i.instancesVertex,i.bonesVertex,i.bakedVertexAnimation,i.clipPlaneVertex,i.fogVertex,i.shadowsVertex,i.vertexColorMixing,i.logDepthVertex];for(const e of g)i.ShaderStore.IncludesShadersStore[e.name]||(i.ShaderStore.IncludesShadersStore[e.name]=e.shader);var _={__proto__:null,mixVertexShader:{name:T,shader:S}};const C="mixPixelShader",E="precision highp float;uniform vec4 vEyePosition;uniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<helperFunctions>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;uniform sampler2D mixMap1Sampler;uniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;uniform sampler2D diffuse2Sampler;uniform sampler2D diffuse3Sampler;uniform sampler2D diffuse4Sampler;uniform vec2 diffuse1Infos;uniform vec2 diffuse2Infos;uniform vec2 diffuse3Infos;uniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;uniform sampler2D diffuse6Sampler;uniform sampler2D diffuse7Sampler;uniform sampler2D diffuse8Sampler;uniform vec2 diffuse5Infos;uniform vec2 diffuse6Infos;uniform vec2 diffuse7Infos;uniform vec2 diffuse8Infos;\n#endif\n#endif\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4 finalMixColor=vec4(1.,1.,1.,1.);vec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;vec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\nfloat alpha=vDiffuseColor.a;\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;vec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);vec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);vec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);vec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);diffuse1Color.rgb*=mixColor.r;diffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);diffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);finalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);mixColor.rgb*=vTextureInfos.y;vec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);vec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);vec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);vec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);diffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);diffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);diffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);finalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\nvec3 diffuseBase=vec3(0.,0.,0.);lightingInfo info;float shadow=1.;float aggShadow=0.;float numLights=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#if defined(VERTEXALPHA) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);vec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";i.ShaderStore.ShadersStore[C]||(i.ShaderStore.ShadersStore[C]=E);const I=[i.helperFunctions,i.lightFragmentDeclaration,i.lightUboDeclaration,i.lightsFragmentFunctions,i.shadowsFragmentFunctions,i.clipPlaneFragmentDeclaration,i.logDepthDeclaration,i.fogFragmentDeclaration,i.clipPlaneFragment,i.depthPrePass,i.lightFragment,i.logDepthFragment,i.fogFragment,i.imageProcessingCompatibility];for(const e of I)i.ShaderStore.IncludesShadersStore[e.name]||(i.ShaderStore.IncludesShadersStore[e.name]=e.shader);var L={__proto__:null,mixPixelShader:{name:C,shader:E}};e.MixMaterial=a});
|
|
2
2
|
//# sourceMappingURL=babylon.mixMaterial.min.js.map
|