@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/cell/cellMaterial.d.ts +4 -4
- package/cell/cellMaterial.js +313 -268
- package/cell/cellMaterial.js.map +1 -1
- package/fire/fireMaterial.d.ts +3 -3
- package/fire/fireMaterial.js +344 -303
- package/fire/fireMaterial.js.map +1 -1
- package/fur/furMaterial.d.ts +4 -4
- package/fur/furMaterial.js +519 -450
- package/fur/furMaterial.js.map +1 -1
- package/gradient/gradientMaterial.d.ts +2 -2
- package/gradient/gradientMaterial.js +286 -246
- package/gradient/gradientMaterial.js.map +1 -1
- package/grid/gridMaterial.d.ts +1 -1
- package/grid/gridMaterial.js +453 -398
- package/grid/gridMaterial.js.map +1 -1
- package/lava/lavaMaterial.d.ts +4 -4
- package/lava/lavaMaterial.js +377 -318
- package/lava/lavaMaterial.js.map +1 -1
- package/mix/mixMaterial.d.ts +12 -12
- package/mix/mixMaterial.js +584 -456
- package/mix/mixMaterial.js.map +1 -1
- package/normal/normalMaterial.d.ts +3 -3
- package/normal/normalMaterial.js +301 -264
- package/normal/normalMaterial.js.map +1 -1
- package/package.json +2 -2
- package/simple/simpleMaterial.d.ts +3 -3
- package/simple/simpleMaterial.js +299 -262
- package/simple/simpleMaterial.js.map +1 -1
- package/sky/skyMaterial.js +380 -344
- package/sky/skyMaterial.js.map +1 -1
- package/terrain/terrainMaterial.d.ts +9 -9
- package/terrain/terrainMaterial.js +490 -395
- package/terrain/terrainMaterial.js.map +1 -1
- package/triPlanar/triPlanarMaterial.d.ts +8 -8
- package/triPlanar/triPlanarMaterial.js +460 -369
- package/triPlanar/triPlanarMaterial.js.map +1 -1
- package/water/waterMaterial.d.ts +7 -7
- package/water/waterMaterial.js +759 -659
- package/water/waterMaterial.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradientMaterial.js","sourceRoot":"","sources":["../../../../dev/materials/src/gradient/gradientMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type Nullable } from \"core/types\";\r\nimport { serialize, expandToProperty, serializeAsColor3 } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { type Matrix } from \"core/Maths/math.vector\";\r\nimport { Color3 } from \"core/Maths/math.color\";\r\nimport { type IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { type IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport { type AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport { type SubMesh } from \"core/Meshes/subMesh\";\r\nimport { type Mesh } from \"core/Meshes/mesh\";\r\nimport { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { ShaderLanguage } from \"core/Materials/shaderLanguage\";\r\n\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { AddClipPlaneUniforms, BindClipPlane } from \"core/Materials/clipPlaneMaterialHelper\";\r\nimport {\r\n BindBonesParameters,\r\n BindFogParameters,\r\n BindLights,\r\n BindLogDepth,\r\n HandleFallbacksForShadows,\r\n PrepareAttributesForBones,\r\n PrepareAttributesForInstances,\r\n PrepareDefinesForAttributes,\r\n PrepareDefinesForFrameBoundValues,\r\n PrepareDefinesForLights,\r\n PrepareDefinesForMisc,\r\n PrepareUniformsAndSamplersList,\r\n} from \"core/Materials/materialHelper.functions\";\r\n\r\nclass GradientMaterialDefines extends MaterialDefines {\r\n public EMISSIVE = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public NORMAL = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public VERTEXCOLOR = false;\r\n public VERTEXALPHA = false;\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public INSTANCES = false;\r\n public INSTANCESCOLOR = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public SKIPFINALCOLORCLAMP = false;\r\n public LOGARITHMICDEPTH = false;\r\n public AREALIGHTSUPPORTED = true;\r\n public AREALIGHTNOROUGHTNESS = true;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class GradientMaterial extends PushMaterial {\r\n @serialize(\"maxSimultaneousLights\")\r\n private _maxSimultaneousLights = 4;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights: number;\r\n\r\n // The gradient top color, red by default\r\n @serializeAsColor3()\r\n public topColor = new Color3(1, 0, 0);\r\n\r\n @serialize()\r\n public topColorAlpha = 1.0;\r\n\r\n // The gradient top color, blue by default\r\n @serializeAsColor3()\r\n public bottomColor = new Color3(0, 0, 1);\r\n\r\n @serialize()\r\n public bottomColorAlpha = 1.0;\r\n\r\n // Gradient offset\r\n @serialize()\r\n public offset = 0;\r\n\r\n @serialize()\r\n public scale = 1.0;\r\n\r\n @serialize()\r\n public smoothness = 1.0;\r\n\r\n @serialize(\"disableLighting\")\r\n private _disableLighting = false;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting: boolean;\r\n\r\n private _shadersLoaded = false;\r\n\r\n /**\r\n * Instantiates a Gradient Material in the given scene\r\n * @param name The friendly name of the material\r\n * @param scene The scene to add the material to\r\n * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false\r\n */\r\n constructor(name: string, scene?: Scene, forceGLSL = false) {\r\n super(name, scene, undefined, forceGLSL);\r\n }\r\n\r\n public override needAlphaBlending(): boolean {\r\n return this.alpha < 1.0 || this.topColorAlpha < 1.0 || this.bottomColorAlpha < 1.0;\r\n }\r\n\r\n public override needAlphaTesting(): boolean {\r\n return true;\r\n }\r\n\r\n public override getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public override isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n const drawWrapper = subMesh._drawWrapper;\r\n\r\n if (this.isFrozen) {\r\n if (drawWrapper.effect && drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new GradientMaterialDefines();\r\n }\r\n\r\n const defines = <GradientMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n PrepareDefinesForFrameBoundValues(scene, engine, this, defines, useInstances ? true : false);\r\n\r\n PrepareDefinesForMisc(\r\n mesh,\r\n scene,\r\n this._useLogarithmicDepth,\r\n this.pointsCloud,\r\n this.fogEnabled,\r\n this.needAlphaTestingForMesh(mesh),\r\n defines,\r\n undefined,\r\n undefined,\r\n undefined,\r\n this._isVertexOutputInvariant\r\n );\r\n\r\n defines._needNormals = PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting);\r\n\r\n defines.EMISSIVE = this._disableLighting;\r\n\r\n // Attribs\r\n PrepareDefinesForAttributes(mesh, defines, false, true);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n if (defines.NUM_BONE_INFLUENCERS > 0) {\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n }\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"gradient\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"view\",\r\n \"viewProjection\",\r\n \"vEyePosition\",\r\n \"vLightsType\",\r\n \"vFogInfos\",\r\n \"vFogColor\",\r\n \"pointSize\",\r\n \"mBones\",\r\n \"logarithmicDepthConstant\",\r\n \"topColor\",\r\n \"bottomColor\",\r\n \"offset\",\r\n \"smoothness\",\r\n \"scale\",\r\n ];\r\n AddClipPlaneUniforms(uniforms);\r\n const samplers: string[] = [\"areaLightsLTC1Sampler\", \"areaLightsLTC2Sampler\"];\r\n const uniformBuffers: string[] = [];\r\n\r\n PrepareUniformsAndSamplersList(<IEffectCreationOptions>{\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: 4,\r\n shaderLanguage: this._shaderLanguage,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n shaderName,\r\n <IEffectCreationOptions>{\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousLights: 4 },\r\n shaderLanguage: this._shaderLanguage,\r\n extraInitializationsAsync: this._shadersLoaded\r\n ? undefined\r\n : async () => {\r\n if (this.shaderLanguage === ShaderLanguage.WGSL) {\r\n await Promise.all([import(\"./wgsl/gradient.vertex\"), import(\"./wgsl/gradient.fragment\")]);\r\n } else {\r\n await Promise.all([import(\"./gradient.vertex\"), import(\"./gradient.fragment\")]);\r\n }\r\n\r\n this._shadersLoaded = true;\r\n },\r\n },\r\n engine\r\n ),\r\n defines,\r\n this._materialContext\r\n );\r\n }\r\n\r\n // Check if Area Lights have LTC texture.\r\n if (defines[\"AREALIGHTUSED\"]) {\r\n for (let index = 0; index < mesh.lightSources.length; index++) {\r\n if (!mesh.lightSources[index]._isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n drawWrapper._wasPreviouslyReady = true;\r\n drawWrapper._wasPreviouslyUsingInstances = !!useInstances;\r\n\r\n return true;\r\n }\r\n\r\n public override bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n const scene = this.getScene();\r\n\r\n const defines = <GradientMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", scene.getTransformMatrix());\r\n\r\n // Bones\r\n BindBonesParameters(mesh, effect);\r\n\r\n if (this._mustRebind(scene, effect, subMesh)) {\r\n // Clip plane\r\n BindClipPlane(effect, this, scene);\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n this._activeEffect.setFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n // Log. depth\r\n if (this._useLogarithmicDepth) {\r\n BindLogDepth(defines, effect, scene);\r\n }\r\n\r\n scene.bindEyePosition(effect);\r\n }\r\n\r\n if (scene.lightsEnabled && !this.disableLighting) {\r\n BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) {\r\n this._activeEffect.setMatrix(\"view\", scene.getViewMatrix());\r\n }\r\n\r\n // Fog\r\n BindFogParameters(scene, mesh, this._activeEffect);\r\n\r\n this._activeEffect.setColor4(\"topColor\", this.topColor, this.topColorAlpha);\r\n this._activeEffect.setColor4(\"bottomColor\", this.bottomColor, this.bottomColorAlpha);\r\n this._activeEffect.setFloat(\"offset\", this.offset);\r\n this._activeEffect.setFloat(\"scale\", this.scale);\r\n this._activeEffect.setFloat(\"smoothness\", this.smoothness);\r\n\r\n this._afterBind(mesh, this._activeEffect, subMesh);\r\n }\r\n\r\n public override getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public override dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public override clone(name: string): GradientMaterial {\r\n return SerializationHelper.Clone(() => new GradientMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.GradientMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"GradientMaterial\";\r\n }\r\n\r\n // Statics\r\n public static override Parse(source: any, scene: Scene, rootUrl: string): GradientMaterial {\r\n return SerializationHelper.Parse(() => new GradientMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GradientMaterial\", GradientMaterial);\r\n"]}
|
|
1
|
+
{"version":3,"file":"gradientMaterial.js","sourceRoot":"","sources":["../../../../dev/materials/src/gradient/gradientMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type Nullable } from \"core/types\";\r\nimport { serialize, expandToProperty, serializeAsColor3 } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { type Matrix } from \"core/Maths/math.vector\";\r\nimport { Color3 } from \"core/Maths/math.color\";\r\nimport { type IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { type IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport { type AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport { type SubMesh } from \"core/Meshes/subMesh\";\r\nimport { type Mesh } from \"core/Meshes/mesh\";\r\nimport { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { ShaderLanguage } from \"core/Materials/shaderLanguage\";\r\n\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { AddClipPlaneUniforms, BindClipPlane } from \"core/Materials/clipPlaneMaterialHelper\";\r\nimport {\r\n BindBonesParameters,\r\n BindFogParameters,\r\n BindLights,\r\n BindLogDepth,\r\n HandleFallbacksForShadows,\r\n PrepareAttributesForBones,\r\n PrepareAttributesForInstances,\r\n PrepareDefinesForAttributes,\r\n PrepareDefinesForFrameBoundValues,\r\n PrepareDefinesForLights,\r\n PrepareDefinesForMisc,\r\n PrepareUniformsAndSamplersList,\r\n} from \"core/Materials/materialHelper.functions\";\r\n\r\nclass GradientMaterialDefines extends MaterialDefines {\r\n public EMISSIVE = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public NORMAL = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public VERTEXCOLOR = false;\r\n public VERTEXALPHA = false;\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public INSTANCES = false;\r\n public INSTANCESCOLOR = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public SKIPFINALCOLORCLAMP = false;\r\n public LOGARITHMICDEPTH = false;\r\n public AREALIGHTSUPPORTED = true;\r\n public AREALIGHTNOROUGHTNESS = true;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class GradientMaterial extends PushMaterial {\r\n @serialize(\"maxSimultaneousLights\")\r\n private _maxSimultaneousLights = 4;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public accessor maxSimultaneousLights: number;\r\n\r\n // The gradient top color, red by default\r\n @serializeAsColor3()\r\n public topColor = new Color3(1, 0, 0);\r\n\r\n @serialize()\r\n public topColorAlpha = 1.0;\r\n\r\n // The gradient top color, blue by default\r\n @serializeAsColor3()\r\n public bottomColor = new Color3(0, 0, 1);\r\n\r\n @serialize()\r\n public bottomColorAlpha = 1.0;\r\n\r\n // Gradient offset\r\n @serialize()\r\n public offset = 0;\r\n\r\n @serialize()\r\n public scale = 1.0;\r\n\r\n @serialize()\r\n public smoothness = 1.0;\r\n\r\n @serialize(\"disableLighting\")\r\n private _disableLighting = false;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public accessor disableLighting: boolean;\r\n\r\n private _shadersLoaded = false;\r\n\r\n /**\r\n * Instantiates a Gradient Material in the given scene\r\n * @param name The friendly name of the material\r\n * @param scene The scene to add the material to\r\n * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false\r\n */\r\n constructor(name: string, scene?: Scene, forceGLSL = false) {\r\n super(name, scene, undefined, forceGLSL);\r\n }\r\n\r\n public override needAlphaBlending(): boolean {\r\n return this.alpha < 1.0 || this.topColorAlpha < 1.0 || this.bottomColorAlpha < 1.0;\r\n }\r\n\r\n public override needAlphaTesting(): boolean {\r\n return true;\r\n }\r\n\r\n public override getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public override isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n const drawWrapper = subMesh._drawWrapper;\r\n\r\n if (this.isFrozen) {\r\n if (drawWrapper.effect && drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new GradientMaterialDefines();\r\n }\r\n\r\n const defines = <GradientMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n PrepareDefinesForFrameBoundValues(scene, engine, this, defines, useInstances ? true : false);\r\n\r\n PrepareDefinesForMisc(\r\n mesh,\r\n scene,\r\n this._useLogarithmicDepth,\r\n this.pointsCloud,\r\n this.fogEnabled,\r\n this.needAlphaTestingForMesh(mesh),\r\n defines,\r\n undefined,\r\n undefined,\r\n undefined,\r\n this._isVertexOutputInvariant\r\n );\r\n\r\n defines._needNormals = PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting);\r\n\r\n defines.EMISSIVE = this._disableLighting;\r\n\r\n // Attribs\r\n PrepareDefinesForAttributes(mesh, defines, false, true);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n if (defines.NUM_BONE_INFLUENCERS > 0) {\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n }\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"gradient\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"view\",\r\n \"viewProjection\",\r\n \"vEyePosition\",\r\n \"vLightsType\",\r\n \"vFogInfos\",\r\n \"vFogColor\",\r\n \"pointSize\",\r\n \"mBones\",\r\n \"logarithmicDepthConstant\",\r\n \"topColor\",\r\n \"bottomColor\",\r\n \"offset\",\r\n \"smoothness\",\r\n \"scale\",\r\n ];\r\n AddClipPlaneUniforms(uniforms);\r\n const samplers: string[] = [\"areaLightsLTC1Sampler\", \"areaLightsLTC2Sampler\"];\r\n const uniformBuffers: string[] = [];\r\n\r\n PrepareUniformsAndSamplersList(<IEffectCreationOptions>{\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: 4,\r\n shaderLanguage: this._shaderLanguage,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n shaderName,\r\n <IEffectCreationOptions>{\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousLights: 4 },\r\n shaderLanguage: this._shaderLanguage,\r\n extraInitializationsAsync: this._shadersLoaded\r\n ? undefined\r\n : async () => {\r\n if (this.shaderLanguage === ShaderLanguage.WGSL) {\r\n await Promise.all([import(\"./wgsl/gradient.vertex\"), import(\"./wgsl/gradient.fragment\")]);\r\n } else {\r\n await Promise.all([import(\"./gradient.vertex\"), import(\"./gradient.fragment\")]);\r\n }\r\n\r\n this._shadersLoaded = true;\r\n },\r\n },\r\n engine\r\n ),\r\n defines,\r\n this._materialContext\r\n );\r\n }\r\n\r\n // Check if Area Lights have LTC texture.\r\n if (defines[\"AREALIGHTUSED\"]) {\r\n for (let index = 0; index < mesh.lightSources.length; index++) {\r\n if (!mesh.lightSources[index]._isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n drawWrapper._wasPreviouslyReady = true;\r\n drawWrapper._wasPreviouslyUsingInstances = !!useInstances;\r\n\r\n return true;\r\n }\r\n\r\n public override bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n const scene = this.getScene();\r\n\r\n const defines = <GradientMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", scene.getTransformMatrix());\r\n\r\n // Bones\r\n BindBonesParameters(mesh, effect);\r\n\r\n if (this._mustRebind(scene, effect, subMesh)) {\r\n // Clip plane\r\n BindClipPlane(effect, this, scene);\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n this._activeEffect.setFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n // Log. depth\r\n if (this._useLogarithmicDepth) {\r\n BindLogDepth(defines, effect, scene);\r\n }\r\n\r\n scene.bindEyePosition(effect);\r\n }\r\n\r\n if (scene.lightsEnabled && !this.disableLighting) {\r\n BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) {\r\n this._activeEffect.setMatrix(\"view\", scene.getViewMatrix());\r\n }\r\n\r\n // Fog\r\n BindFogParameters(scene, mesh, this._activeEffect);\r\n\r\n this._activeEffect.setColor4(\"topColor\", this.topColor, this.topColorAlpha);\r\n this._activeEffect.setColor4(\"bottomColor\", this.bottomColor, this.bottomColorAlpha);\r\n this._activeEffect.setFloat(\"offset\", this.offset);\r\n this._activeEffect.setFloat(\"scale\", this.scale);\r\n this._activeEffect.setFloat(\"smoothness\", this.smoothness);\r\n\r\n this._afterBind(mesh, this._activeEffect, subMesh);\r\n }\r\n\r\n public override getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public override dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public override clone(name: string): GradientMaterial {\r\n return SerializationHelper.Clone(() => new GradientMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.GradientMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"GradientMaterial\";\r\n }\r\n\r\n // Statics\r\n public static override Parse(source: any, scene: Scene, rootUrl: string): GradientMaterial {\r\n return SerializationHelper.Parse(() => new GradientMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GradientMaterial\", GradientMaterial);\r\n"]}
|
package/grid/gridMaterial.d.ts
CHANGED