@babylonjs/materials 5.21.0 → 5.22.0

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.
Files changed (121) hide show
  1. package/cell/cell.fragment.js +14 -2
  2. package/cell/cell.fragment.js.map +1 -1
  3. package/cell/cell.vertex.js +45 -3
  4. package/cell/cell.vertex.js.map +1 -1
  5. package/cell/cellMaterial.js +112 -120
  6. package/cell/cellMaterial.js.map +1 -1
  7. package/custom/customMaterial.js +69 -81
  8. package/custom/customMaterial.js.map +1 -1
  9. package/custom/pbrCustomMaterial.js +80 -89
  10. package/custom/pbrCustomMaterial.js.map +1 -1
  11. package/fire/fire.fragment.js +44 -3
  12. package/fire/fire.fragment.js.map +1 -1
  13. package/fire/fire.vertex.js +54 -3
  14. package/fire/fire.vertex.js.map +1 -1
  15. package/fire/fireMaterial.js +101 -109
  16. package/fire/fireMaterial.js.map +1 -1
  17. package/fur/fur.fragment.js +67 -3
  18. package/fur/fur.fragment.js.map +1 -1
  19. package/fur/fur.vertex.js +97 -3
  20. package/fur/fur.vertex.js.map +1 -1
  21. package/fur/furMaterial.js +181 -193
  22. package/fur/furMaterial.js.map +1 -1
  23. package/gradient/gradient.fragment.js +36 -3
  24. package/gradient/gradient.fragment.js.map +1 -1
  25. package/gradient/gradient.vertex.js +41 -3
  26. package/gradient/gradient.vertex.js.map +1 -1
  27. package/gradient/gradientMaterial.js +113 -121
  28. package/gradient/gradientMaterial.js.map +1 -1
  29. package/grid/grid.fragment.js +8 -2
  30. package/grid/grid.fragment.js.map +1 -1
  31. package/grid/grid.vertex.js +22 -3
  32. package/grid/grid.vertex.js.map +1 -1
  33. package/grid/gridMaterial.js +93 -101
  34. package/grid/gridMaterial.js.map +1 -1
  35. package/lava/lava.fragment.js +62 -3
  36. package/lava/lava.fragment.js.map +1 -1
  37. package/lava/lava.vertex.js +84 -3
  38. package/lava/lava.vertex.js.map +1 -1
  39. package/lava/lavaMaterial.js +175 -183
  40. package/lava/lavaMaterial.js.map +1 -1
  41. package/legacy/legacy-cell.js +2 -2
  42. package/legacy/legacy-cell.js.map +1 -1
  43. package/legacy/legacy-custom.js +2 -2
  44. package/legacy/legacy-custom.js.map +1 -1
  45. package/legacy/legacy-fire.js +2 -2
  46. package/legacy/legacy-fire.js.map +1 -1
  47. package/legacy/legacy-fur.js +2 -2
  48. package/legacy/legacy-fur.js.map +1 -1
  49. package/legacy/legacy-gradient.js +2 -2
  50. package/legacy/legacy-gradient.js.map +1 -1
  51. package/legacy/legacy-grid.js +2 -2
  52. package/legacy/legacy-grid.js.map +1 -1
  53. package/legacy/legacy-lava.js +2 -2
  54. package/legacy/legacy-lava.js.map +1 -1
  55. package/legacy/legacy-mix.js +2 -2
  56. package/legacy/legacy-mix.js.map +1 -1
  57. package/legacy/legacy-normal.js +2 -2
  58. package/legacy/legacy-normal.js.map +1 -1
  59. package/legacy/legacy-shadowOnly.js +2 -2
  60. package/legacy/legacy-shadowOnly.js.map +1 -1
  61. package/legacy/legacy-simple.js +2 -2
  62. package/legacy/legacy-simple.js.map +1 -1
  63. package/legacy/legacy-sky.js +2 -2
  64. package/legacy/legacy-sky.js.map +1 -1
  65. package/legacy/legacy-terrain.js +2 -2
  66. package/legacy/legacy-terrain.js.map +1 -1
  67. package/legacy/legacy-triPlanar.js +2 -2
  68. package/legacy/legacy-triPlanar.js.map +1 -1
  69. package/legacy/legacy-water.js +2 -2
  70. package/legacy/legacy-water.js.map +1 -1
  71. package/legacy/legacy.js +2 -2
  72. package/legacy/legacy.js.map +1 -1
  73. package/mix/mix.fragment.js +33 -2
  74. package/mix/mix.fragment.js.map +1 -1
  75. package/mix/mix.vertex.js +67 -3
  76. package/mix/mix.vertex.js.map +1 -1
  77. package/mix/mixMaterial.js +166 -174
  78. package/mix/mixMaterial.js.map +1 -1
  79. package/normal/normal.fragment.js +41 -3
  80. package/normal/normal.fragment.js.map +1 -1
  81. package/normal/normal.vertex.js +42 -3
  82. package/normal/normal.vertex.js.map +1 -1
  83. package/normal/normalMaterial.js +143 -151
  84. package/normal/normalMaterial.js.map +1 -1
  85. package/package.json +2 -5
  86. package/shadowOnly/shadowOnly.fragment.js +21 -3
  87. package/shadowOnly/shadowOnly.fragment.js.map +1 -1
  88. package/shadowOnly/shadowOnly.vertex.js +30 -3
  89. package/shadowOnly/shadowOnly.vertex.js.map +1 -1
  90. package/shadowOnly/shadowOnlyMaterial.js +73 -89
  91. package/shadowOnly/shadowOnlyMaterial.js.map +1 -1
  92. package/simple/simple.fragment.js +36 -3
  93. package/simple/simple.fragment.js.map +1 -1
  94. package/simple/simple.vertex.js +45 -3
  95. package/simple/simple.vertex.js.map +1 -1
  96. package/simple/simpleMaterial.js +102 -110
  97. package/simple/simpleMaterial.js.map +1 -1
  98. package/sky/sky.fragment.js +17 -3
  99. package/sky/sky.fragment.js.map +1 -1
  100. package/sky/sky.vertex.js +20 -3
  101. package/sky/sky.vertex.js.map +1 -1
  102. package/sky/skyMaterial.js +111 -119
  103. package/sky/skyMaterial.js.map +1 -1
  104. package/terrain/terrain.fragment.js +36 -2
  105. package/terrain/terrain.fragment.js.map +1 -1
  106. package/terrain/terrain.vertex.js +67 -3
  107. package/terrain/terrain.vertex.js.map +1 -1
  108. package/terrain/terrainMaterial.js +148 -156
  109. package/terrain/terrainMaterial.js.map +1 -1
  110. package/triPlanar/triPlanarMaterial.js +157 -165
  111. package/triPlanar/triPlanarMaterial.js.map +1 -1
  112. package/triPlanar/triplanar.fragment.js +64 -3
  113. package/triPlanar/triplanar.fragment.js.map +1 -1
  114. package/triPlanar/triplanar.vertex.js +45 -3
  115. package/triPlanar/triplanar.vertex.js.map +1 -1
  116. package/water/water.fragment.js +83 -3
  117. package/water/water.fragment.js.map +1 -1
  118. package/water/water.vertex.js +56 -3
  119. package/water/water.vertex.js.map +1 -1
  120. package/water/waterMaterial.js +283 -313
  121. package/water/waterMaterial.js.map +1 -1
@@ -12,10 +12,48 @@ import "@babylonjs/core/Shaders/ShadersInclude/depthPrePass.js";
12
12
  import "@babylonjs/core/Shaders/ShadersInclude/lightFragment.js";
13
13
  import "@babylonjs/core/Shaders/ShadersInclude/fogFragment.js";
14
14
  import "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
15
- var name = "normalPixelShader";
16
- var shader = "precision highp float;\nuniform vec4 vEyePosition;\nuniform vec4 vDiffuseColor;\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef LIGHTING\n#include<helperFunctions>\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#endif\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include<clipPlaneFragmentDeclaration>\n#include<fogFragmentDeclaration>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include<depthPrePass>\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef NORMAL\nbaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\n#endif\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef LIGHTING\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include<lightFragment>[0]\n#include<lightFragment>[1]\n#include<lightFragment>[2]\n#include<lightFragment>[3]\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n#else\nvec3 finalDiffuse= baseColor.rgb;\n#endif\nvec4 color=vec4(finalDiffuse,alpha);\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}";
15
+ const name = "normalPixelShader";
16
+ const shader = `precision highp float;
17
+ varying vec3 vNormalW;
18
+ #ifdef LIGHTING
19
+ #include<helperFunctions>
20
+ #include<__decl__lightFragment>[0]
21
+ #include<__decl__lightFragment>[1]
22
+ #include<__decl__lightFragment>[2]
23
+ #include<__decl__lightFragment>[3]
24
+ #include<lightsFragmentFunctions>
25
+ #include<shadowsFragmentFunctions>
26
+ #endif
27
+ #ifdef DIFFUSE
28
+ varying vec2 vDiffuseUV;
29
+ #include<clipPlaneFragmentDeclaration>
30
+ #include<fogFragmentDeclaration>
31
+ #define CUSTOM_FRAGMENT_DEFINITIONS
32
+ void main(void) {
33
+ #include<clipPlaneFragment>
34
+ vec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);
35
+ baseColor=texture2D(diffuseSampler,vDiffuseUV);
36
+ if (baseColor.a<0.4)
37
+ #include<depthPrePass>
38
+ baseColor.rgb*=vDiffuseInfos.y;
39
+ #ifdef NORMAL
40
+ baseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);
41
+ #ifdef NORMAL
42
+ vec3 normalW=normalize(vNormalW);
43
+ vec3 normalW=vec3(1.0,1.0,1.0);
44
+ #ifdef LIGHTING
45
+ vec3 diffuseBase=vec3(0.,0.,0.);
46
+ #include<lightFragment>[1]
47
+ #include<lightFragment>[2]
48
+ #include<lightFragment>[3]
49
+ vec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;
50
+ vec3 finalDiffuse= baseColor.rgb;
51
+ vec4 color=vec4(finalDiffuse,alpha);
52
+ gl_FragColor=color;
53
+ #define CUSTOM_FRAGMENT_MAIN_END
54
+ }`;
17
55
  // Sideeffect
18
56
  ShaderStore.ShadersStore[name] = shader;
19
57
  /** @hidden */
20
- export var normalPixelShader = { name: name, shader: shader };
58
+ export const normalPixelShader = { name, shader };
21
59
  //# sourceMappingURL=normal.fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normal.fragment.js","sourceRoot":"","sources":["../../../../../lts/materials/generated/normal/normal.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AACvD,mEAAqD;AACrD,4EAA8D;AAC9D,uEAAyD;AACzD,2EAA6D;AAC7D,4EAA8D;AAC9D,gFAAkE;AAClE,0EAA4D;AAC5D,qEAAuD;AACvD,gEAAkD;AAClD,iEAAmD;AACnD,+DAAiD;AACjD,gFAAkE;AAElE,IAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,IAAM,MAAM,GAAG,+tDAkEb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAM,iBAAiB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/helperFunctions\";\nimport \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightsFragmentFunctions\";\nimport \"core/Shaders/ShadersInclude/shadowsFragmentFunctions\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"core/Shaders/ShadersInclude/depthPrePass\";\nimport \"core/Shaders/ShadersInclude/lightFragment\";\nimport \"core/Shaders/ShadersInclude/fogFragment\";\nimport \"core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"normalPixelShader\";\nconst shader = `precision highp float;\runiform vec4 vEyePosition;\runiform vec4 vDiffuseColor;\rvarying vec3 vPositionW;\r#ifdef NORMAL\nvarying vec3 vNormalW;\r#endif\n#ifdef LIGHTING\n#include<helperFunctions>\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#endif\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\runiform sampler2D diffuseSampler;\runiform vec2 vDiffuseInfos;\r#endif\n#include<clipPlaneFragmentDeclaration>\n#include<fogFragmentDeclaration>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\r#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\rvec4 baseColor=vec4(1.,1.,1.,1.);\rvec3 diffuseColor=vDiffuseColor.rgb;\rfloat alpha=vDiffuseColor.a;\r#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\r#ifdef ALPHATEST\nif (baseColor.a<0.4)\rdiscard;\r#endif\n#include<depthPrePass>\nbaseColor.rgb*=vDiffuseInfos.y;\r#endif\n#ifdef NORMAL\nbaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\r#endif\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\r#else\nvec3 normalW=vec3(1.0,1.0,1.0);\r#endif\n#ifdef LIGHTING\nvec3 diffuseBase=vec3(0.,0.,0.);\rlightingInfo info;\rfloat shadow=1.;\rfloat glossiness=0.;\r#include<lightFragment>[0]\n#include<lightFragment>[1]\n#include<lightFragment>[2]\n#include<lightFragment>[3]\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\r#else\nvec3 finalDiffuse= baseColor.rgb;\r#endif\nvec4 color=vec4(finalDiffuse,alpha);\r#include<fogFragment>\ngl_FragColor=color;\r#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const normalPixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"normal.fragment.js","sourceRoot":"","sources":["../../../../../lts/materials/generated/normal/normal.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AACvD,mEAAqD;AACrD,4EAA8D;AAC9D,uEAAyD;AACzD,2EAA6D;AAC7D,4EAA8D;AAC9D,gFAAkE;AAClE,0EAA4D;AAC5D,qEAAuD;AACvD,gEAAkD;AAClD,iEAAmD;AACnD,+DAAiD;AACjD,gFAAkE;AAElE,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/helperFunctions\";\nimport \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightsFragmentFunctions\";\nimport \"core/Shaders/ShadersInclude/shadowsFragmentFunctions\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"core/Shaders/ShadersInclude/depthPrePass\";\nimport \"core/Shaders/ShadersInclude/lightFragment\";\nimport \"core/Shaders/ShadersInclude/fogFragment\";\nimport \"core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"normalPixelShader\";\nconst shader = `precision highp float;\runiform vec4 vEyePosition;\runiform vec4 vDiffuseColor;\rvarying vec3 vPositionW;\r#ifdef NORMAL\nvarying vec3 vNormalW;\r#endif\n#ifdef LIGHTING\n#include<helperFunctions>\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#endif\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\runiform sampler2D diffuseSampler;\runiform vec2 vDiffuseInfos;\r#endif\n#include<clipPlaneFragmentDeclaration>\n#include<fogFragmentDeclaration>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\r#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\rvec4 baseColor=vec4(1.,1.,1.,1.);\rvec3 diffuseColor=vDiffuseColor.rgb;\rfloat alpha=vDiffuseColor.a;\r#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\r#ifdef ALPHATEST\nif (baseColor.a<0.4)\rdiscard;\r#endif\n#include<depthPrePass>\nbaseColor.rgb*=vDiffuseInfos.y;\r#endif\n#ifdef NORMAL\nbaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\r#endif\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\r#else\nvec3 normalW=vec3(1.0,1.0,1.0);\r#endif\n#ifdef LIGHTING\nvec3 diffuseBase=vec3(0.,0.,0.);\rlightingInfo info;\rfloat shadow=1.;\rfloat glossiness=0.;\r#include<lightFragment>[0]\n#include<lightFragment>[1]\n#include<lightFragment>[2]\n#include<lightFragment>[3]\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\r#else\nvec3 finalDiffuse= baseColor.rgb;\r#endif\nvec4 color=vec4(finalDiffuse,alpha);\r#include<fogFragment>\ngl_FragColor=color;\r#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const normalPixelShader = { name, shader };\n"]}
@@ -13,10 +13,49 @@ import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.js";
13
13
  import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
14
14
  import "@babylonjs/core/Shaders/ShadersInclude/fogVertex.js";
15
15
  import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.js";
16
- var name = "normalVertexShader";
17
- var shader = "precision highp float;\nattribute 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;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=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 (vDiffuseInfos.x==0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\n#endif\n#define CUSTOM_VERTEX_MAIN_END\n}\n";
16
+ const name = "normalVertexShader";
17
+ const shader = `precision highp float;
18
+ attribute vec3 normal;
19
+ #ifdef UV1
20
+ attribute vec2 uv;
21
+ #ifdef UV2
22
+ attribute vec2 uv2;
23
+ #ifdef VERTEXCOLOR
24
+ attribute vec4 color;
25
+ #include<bonesDeclaration>
26
+ #include<bakedVertexAnimationDeclaration>
27
+ #include<instancesDeclaration>
28
+ uniform mat4 view;
29
+ varying vec2 vDiffuseUV;
30
+ #ifdef POINTSIZE
31
+ uniform float pointSize;
32
+ varying vec3 vPositionW;
33
+ varying vec3 vNormalW;
34
+ #include<clipPlaneVertexDeclaration>
35
+ #include<fogVertexDeclaration>
36
+ #include<__decl__lightFragment>[0..maxSimultaneousLights]
37
+ #define CUSTOM_VERTEX_DEFINITIONS
38
+ void main(void) {
39
+ #include<instancesVertex>
40
+ #include<bonesVertex>
41
+ #include<bakedVertexAnimation>
42
+ vec4 worldPos=finalWorld*vec4(position,1.0);
43
+ vNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));
44
+ #ifndef UV1
45
+ vec2 uv=vec2(0.,0.);
46
+ #ifndef UV2
47
+ vec2 uv2=vec2(0.,0.);
48
+ #ifdef DIFFUSE
49
+ if (vDiffuseInfos.x==0.)
50
+ #include<clipPlaneVertex>
51
+ #include<fogVertex>
52
+ #include<shadowsVertex>[0..maxSimultaneousLights]
53
+ #if defined(POINTSIZE) && !defined(WEBGPU)
54
+ gl_PointSize=pointSize;
55
+ #define CUSTOM_VERTEX_MAIN_END
56
+ }
18
57
  // Sideeffect
19
58
  ShaderStore.ShadersStore[name] = shader;
20
59
  /** @hidden */
21
- export var normalVertexShader = { name: name, shader: shader };
60
+ export const normalVertexShader = { name, shader };
22
61
  //# sourceMappingURL=normal.vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normal.vertex.js","sourceRoot":"","sources":["../../../../../lts/materials/generated/normal/normal.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AACvD,oEAAsD;AACtD,mFAAqE;AACrE,wEAA0D;AAC1D,8EAAgE;AAChE,wEAA0D;AAC1D,4EAA8D;AAC9D,uEAAyD;AACzD,mEAAqD;AACrD,+DAAiD;AACjD,wEAA0D;AAC1D,mEAAqD;AACrD,6DAA+C;AAC/C,iEAAmD;AAEnD,IAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,IAAM,MAAM,GAAG,siDAsEd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAM,kBAAkB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/bonesDeclaration\";\nimport \"core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"core/Shaders/ShadersInclude/instancesDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"core/Shaders/ShadersInclude/instancesVertex\";\nimport \"core/Shaders/ShadersInclude/bonesVertex\";\nimport \"core/Shaders/ShadersInclude/bakedVertexAnimation\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport \"core/Shaders/ShadersInclude/fogVertex\";\nimport \"core/Shaders/ShadersInclude/shadowsVertex\";\n\nconst name = \"normalVertexShader\";\nconst shader = `precision highp float;\rattribute vec3 position;\r#ifdef NORMAL\nattribute vec3 normal;\r#endif\n#ifdef UV1\nattribute vec2 uv;\r#endif\n#ifdef UV2\nattribute vec2 uv2;\r#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\r#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform mat4 view;\runiform mat4 viewProjection;\r#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\runiform mat4 diffuseMatrix;\runiform vec2 vDiffuseInfos;\r#endif\n#ifdef POINTSIZE\nuniform float pointSize;\r#endif\nvarying vec3 vPositionW;\r#ifdef NORMAL\nvarying vec3 vNormalW;\r#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\r#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);\rgl_Position=viewProjection*worldPos;\rvPositionW=vec3(worldPos);\r#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\r#endif\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\r#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\r#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x==0.)\r{\rvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\r}\relse\r{\rvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\r}\r#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\r#endif\n#define CUSTOM_VERTEX_MAIN_END\n}\r`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const normalVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"normal.vertex.js","sourceRoot":"","sources":["../../../../../lts/materials/generated/normal/normal.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AACvD,oEAAsD;AACtD,mFAAqE;AACrE,wEAA0D;AAC1D,8EAAgE;AAChE,wEAA0D;AAC1D,4EAA8D;AAC9D,uEAAyD;AACzD,mEAAqD;AACrD,+DAAiD;AACjD,wEAA0D;AAC1D,mEAAqD;AACrD,6DAA+C;AAC/C,iEAAmD;AAEnD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/bonesDeclaration\";\nimport \"core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"core/Shaders/ShadersInclude/instancesDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"core/Shaders/ShadersInclude/instancesVertex\";\nimport \"core/Shaders/ShadersInclude/bonesVertex\";\nimport \"core/Shaders/ShadersInclude/bakedVertexAnimation\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport \"core/Shaders/ShadersInclude/fogVertex\";\nimport \"core/Shaders/ShadersInclude/shadowsVertex\";\n\nconst name = \"normalVertexShader\";\nconst shader = `precision highp float;\rattribute vec3 position;\r#ifdef NORMAL\nattribute vec3 normal;\r#endif\n#ifdef UV1\nattribute vec2 uv;\r#endif\n#ifdef UV2\nattribute vec2 uv2;\r#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\r#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nuniform mat4 view;\runiform mat4 viewProjection;\r#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\runiform mat4 diffuseMatrix;\runiform vec2 vDiffuseInfos;\r#endif\n#ifdef POINTSIZE\nuniform float pointSize;\r#endif\nvarying vec3 vPositionW;\r#ifdef NORMAL\nvarying vec3 vNormalW;\r#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\r#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);\rgl_Position=viewProjection*worldPos;\rvPositionW=vec3(worldPos);\r#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\r#endif\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\r#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\r#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x==0.)\r{\rvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\r}\relse\r{\rvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\r}\r#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\r#endif\n#define CUSTOM_VERTEX_MAIN_END\n}\r`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const normalVertexShader = { name, shader };\n"]}
@@ -1,4 +1,4 @@
1
- import { __decorate, __extends } from "tslib";
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
2
  import { serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
3
3
  import { Color3 } from "@babylonjs/core/Maths/math.color.js";
4
4
  import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
@@ -11,99 +11,94 @@ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
11
11
  import "./normal.fragment.js";
12
12
  import "./normal.vertex.js";
13
13
  import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
14
- var NormalMaterialDefines = /** @class */ (function (_super) {
15
- __extends(NormalMaterialDefines, _super);
16
- function NormalMaterialDefines() {
17
- var _this = _super.call(this) || this;
18
- _this.DIFFUSE = false;
19
- _this.CLIPPLANE = false;
20
- _this.CLIPPLANE2 = false;
21
- _this.CLIPPLANE3 = false;
22
- _this.CLIPPLANE4 = false;
23
- _this.CLIPPLANE5 = false;
24
- _this.CLIPPLANE6 = false;
25
- _this.ALPHATEST = false;
26
- _this.DEPTHPREPASS = false;
27
- _this.POINTSIZE = false;
28
- _this.FOG = false;
29
- _this.LIGHT0 = false;
30
- _this.LIGHT1 = false;
31
- _this.LIGHT2 = false;
32
- _this.LIGHT3 = false;
33
- _this.SPOTLIGHT0 = false;
34
- _this.SPOTLIGHT1 = false;
35
- _this.SPOTLIGHT2 = false;
36
- _this.SPOTLIGHT3 = false;
37
- _this.HEMILIGHT0 = false;
38
- _this.HEMILIGHT1 = false;
39
- _this.HEMILIGHT2 = false;
40
- _this.HEMILIGHT3 = false;
41
- _this.DIRLIGHT0 = false;
42
- _this.DIRLIGHT1 = false;
43
- _this.DIRLIGHT2 = false;
44
- _this.DIRLIGHT3 = false;
45
- _this.POINTLIGHT0 = false;
46
- _this.POINTLIGHT1 = false;
47
- _this.POINTLIGHT2 = false;
48
- _this.POINTLIGHT3 = false;
49
- _this.SHADOW0 = false;
50
- _this.SHADOW1 = false;
51
- _this.SHADOW2 = false;
52
- _this.SHADOW3 = false;
53
- _this.SHADOWS = false;
54
- _this.SHADOWESM0 = false;
55
- _this.SHADOWESM1 = false;
56
- _this.SHADOWESM2 = false;
57
- _this.SHADOWESM3 = false;
58
- _this.SHADOWPOISSON0 = false;
59
- _this.SHADOWPOISSON1 = false;
60
- _this.SHADOWPOISSON2 = false;
61
- _this.SHADOWPOISSON3 = false;
62
- _this.SHADOWPCF0 = false;
63
- _this.SHADOWPCF1 = false;
64
- _this.SHADOWPCF2 = false;
65
- _this.SHADOWPCF3 = false;
66
- _this.SHADOWPCSS0 = false;
67
- _this.SHADOWPCSS1 = false;
68
- _this.SHADOWPCSS2 = false;
69
- _this.SHADOWPCSS3 = false;
70
- _this.NORMAL = false;
71
- _this.UV1 = false;
72
- _this.UV2 = false;
73
- _this.NUM_BONE_INFLUENCERS = 0;
74
- _this.BonesPerMesh = 0;
75
- _this.INSTANCES = false;
76
- _this.LIGHTING = false;
77
- _this.IMAGEPROCESSINGPOSTPROCESS = false;
78
- _this.SKIPFINALCOLORCLAMP = false;
79
- _this.rebuild();
80
- return _this;
14
+ class NormalMaterialDefines extends MaterialDefines {
15
+ constructor() {
16
+ super();
17
+ this.DIFFUSE = false;
18
+ this.CLIPPLANE = false;
19
+ this.CLIPPLANE2 = false;
20
+ this.CLIPPLANE3 = false;
21
+ this.CLIPPLANE4 = false;
22
+ this.CLIPPLANE5 = false;
23
+ this.CLIPPLANE6 = false;
24
+ this.ALPHATEST = false;
25
+ this.DEPTHPREPASS = false;
26
+ this.POINTSIZE = false;
27
+ this.FOG = false;
28
+ this.LIGHT0 = false;
29
+ this.LIGHT1 = false;
30
+ this.LIGHT2 = false;
31
+ this.LIGHT3 = false;
32
+ this.SPOTLIGHT0 = false;
33
+ this.SPOTLIGHT1 = false;
34
+ this.SPOTLIGHT2 = false;
35
+ this.SPOTLIGHT3 = false;
36
+ this.HEMILIGHT0 = false;
37
+ this.HEMILIGHT1 = false;
38
+ this.HEMILIGHT2 = false;
39
+ this.HEMILIGHT3 = false;
40
+ this.DIRLIGHT0 = false;
41
+ this.DIRLIGHT1 = false;
42
+ this.DIRLIGHT2 = false;
43
+ this.DIRLIGHT3 = false;
44
+ this.POINTLIGHT0 = false;
45
+ this.POINTLIGHT1 = false;
46
+ this.POINTLIGHT2 = false;
47
+ this.POINTLIGHT3 = false;
48
+ this.SHADOW0 = false;
49
+ this.SHADOW1 = false;
50
+ this.SHADOW2 = false;
51
+ this.SHADOW3 = false;
52
+ this.SHADOWS = false;
53
+ this.SHADOWESM0 = false;
54
+ this.SHADOWESM1 = false;
55
+ this.SHADOWESM2 = false;
56
+ this.SHADOWESM3 = false;
57
+ this.SHADOWPOISSON0 = false;
58
+ this.SHADOWPOISSON1 = false;
59
+ this.SHADOWPOISSON2 = false;
60
+ this.SHADOWPOISSON3 = false;
61
+ this.SHADOWPCF0 = false;
62
+ this.SHADOWPCF1 = false;
63
+ this.SHADOWPCF2 = false;
64
+ this.SHADOWPCF3 = false;
65
+ this.SHADOWPCSS0 = false;
66
+ this.SHADOWPCSS1 = false;
67
+ this.SHADOWPCSS2 = false;
68
+ this.SHADOWPCSS3 = false;
69
+ this.NORMAL = false;
70
+ this.UV1 = false;
71
+ this.UV2 = false;
72
+ this.NUM_BONE_INFLUENCERS = 0;
73
+ this.BonesPerMesh = 0;
74
+ this.INSTANCES = false;
75
+ this.LIGHTING = false;
76
+ this.IMAGEPROCESSINGPOSTPROCESS = false;
77
+ this.SKIPFINALCOLORCLAMP = false;
78
+ this.rebuild();
81
79
  }
82
- return NormalMaterialDefines;
83
- }(MaterialDefines));
84
- var NormalMaterial = /** @class */ (function (_super) {
85
- __extends(NormalMaterial, _super);
86
- function NormalMaterial(name, scene) {
87
- var _this = _super.call(this, name, scene) || this;
88
- _this.diffuseColor = new Color3(1, 1, 1);
89
- _this._disableLighting = false;
90
- _this._maxSimultaneousLights = 4;
91
- return _this;
80
+ }
81
+ export class NormalMaterial extends PushMaterial {
82
+ constructor(name, scene) {
83
+ super(name, scene);
84
+ this.diffuseColor = new Color3(1, 1, 1);
85
+ this._disableLighting = false;
86
+ this._maxSimultaneousLights = 4;
92
87
  }
93
- NormalMaterial.prototype.needAlphaBlending = function () {
88
+ needAlphaBlending() {
94
89
  return this.alpha < 1.0;
95
- };
96
- NormalMaterial.prototype.needAlphaBlendingForMesh = function (mesh) {
90
+ }
91
+ needAlphaBlendingForMesh(mesh) {
97
92
  return this.needAlphaBlending() || mesh.visibility < 1.0;
98
- };
99
- NormalMaterial.prototype.needAlphaTesting = function () {
93
+ }
94
+ needAlphaTesting() {
100
95
  return false;
101
- };
102
- NormalMaterial.prototype.getAlphaTestTexture = function () {
96
+ }
97
+ getAlphaTestTexture() {
103
98
  return null;
104
- };
99
+ }
105
100
  // Methods
106
- NormalMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
101
+ isReadyForSubMesh(mesh, subMesh, useInstances) {
107
102
  if (this.isFrozen) {
108
103
  if (subMesh.effect && subMesh.effect._wasPreviouslyReady && subMesh.effect._wasPreviouslyUsingInstances === useInstances) {
109
104
  return true;
@@ -112,12 +107,12 @@ var NormalMaterial = /** @class */ (function (_super) {
112
107
  if (!subMesh.materialDefines) {
113
108
  subMesh.materialDefines = new NormalMaterialDefines();
114
109
  }
115
- var defines = subMesh.materialDefines;
116
- var scene = this.getScene();
110
+ const defines = subMesh.materialDefines;
111
+ const scene = this.getScene();
117
112
  if (this._isReadyForSubMesh(subMesh)) {
118
113
  return true;
119
114
  }
120
- var engine = scene.getEngine();
115
+ const engine = scene.getEngine();
121
116
  // Textures
122
117
  if (defines._areTexturesDirty) {
123
118
  defines._needUVs = false;
@@ -148,7 +143,7 @@ var NormalMaterial = /** @class */ (function (_super) {
148
143
  defines.markAsProcessed();
149
144
  scene.resetCachedMaterial();
150
145
  // Fallbacks
151
- var fallbacks = new EffectFallbacks();
146
+ const fallbacks = new EffectFallbacks();
152
147
  if (defines.FOG) {
153
148
  fallbacks.addFallback(1, "FOG");
154
149
  }
@@ -158,7 +153,7 @@ var NormalMaterial = /** @class */ (function (_super) {
158
153
  }
159
154
  defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
160
155
  //Attributes
161
- var attribs = [VertexBuffer.PositionKind];
156
+ const attribs = [VertexBuffer.PositionKind];
162
157
  if (defines.NORMAL) {
163
158
  attribs.push(VertexBuffer.NormalKind);
164
159
  }
@@ -170,9 +165,9 @@ var NormalMaterial = /** @class */ (function (_super) {
170
165
  }
171
166
  MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);
172
167
  MaterialHelper.PrepareAttributesForInstances(attribs, defines);
173
- var shaderName = "normal";
174
- var join = defines.toString();
175
- var uniforms = [
168
+ const shaderName = "normal";
169
+ const join = defines.toString();
170
+ const uniforms = [
176
171
  "world",
177
172
  "view",
178
173
  "viewProjection",
@@ -192,8 +187,8 @@ var NormalMaterial = /** @class */ (function (_super) {
192
187
  "vClipPlane6",
193
188
  "diffuseMatrix",
194
189
  ];
195
- var samplers = ["diffuseSampler"];
196
- var uniformBuffers = new Array();
190
+ const samplers = ["diffuseSampler"];
191
+ const uniformBuffers = new Array();
197
192
  MaterialHelper.PrepareUniformsAndSamplersList({
198
193
  uniformsNames: uniforms,
199
194
  uniformBuffersNames: uniformBuffers,
@@ -220,14 +215,14 @@ var NormalMaterial = /** @class */ (function (_super) {
220
215
  subMesh.effect._wasPreviouslyReady = true;
221
216
  subMesh.effect._wasPreviouslyUsingInstances = !!useInstances;
222
217
  return true;
223
- };
224
- NormalMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
225
- var scene = this.getScene();
226
- var defines = subMesh.materialDefines;
218
+ }
219
+ bindForSubMesh(world, mesh, subMesh) {
220
+ const scene = this.getScene();
221
+ const defines = subMesh.materialDefines;
227
222
  if (!defines) {
228
223
  return;
229
224
  }
230
- var effect = subMesh.effect;
225
+ const effect = subMesh.effect;
231
226
  if (!effect) {
232
227
  return;
233
228
  }
@@ -264,75 +259,72 @@ var NormalMaterial = /** @class */ (function (_super) {
264
259
  // Fog
265
260
  MaterialHelper.BindFogParameters(scene, mesh, this._activeEffect);
266
261
  this._afterBind(mesh, this._activeEffect);
267
- };
268
- NormalMaterial.prototype.getAnimatables = function () {
269
- var results = [];
262
+ }
263
+ getAnimatables() {
264
+ const results = [];
270
265
  if (this.diffuseTexture && this.diffuseTexture.animations && this.diffuseTexture.animations.length > 0) {
271
266
  results.push(this.diffuseTexture);
272
267
  }
273
268
  return results;
274
- };
275
- NormalMaterial.prototype.getActiveTextures = function () {
276
- var activeTextures = _super.prototype.getActiveTextures.call(this);
269
+ }
270
+ getActiveTextures() {
271
+ const activeTextures = super.getActiveTextures();
277
272
  if (this._diffuseTexture) {
278
273
  activeTextures.push(this._diffuseTexture);
279
274
  }
280
275
  return activeTextures;
281
- };
282
- NormalMaterial.prototype.hasTexture = function (texture) {
283
- if (_super.prototype.hasTexture.call(this, texture)) {
276
+ }
277
+ hasTexture(texture) {
278
+ if (super.hasTexture(texture)) {
284
279
  return true;
285
280
  }
286
281
  if (this.diffuseTexture === texture) {
287
282
  return true;
288
283
  }
289
284
  return false;
290
- };
291
- NormalMaterial.prototype.dispose = function (forceDisposeEffect) {
285
+ }
286
+ dispose(forceDisposeEffect) {
292
287
  if (this.diffuseTexture) {
293
288
  this.diffuseTexture.dispose();
294
289
  }
295
- _super.prototype.dispose.call(this, forceDisposeEffect);
296
- };
297
- NormalMaterial.prototype.clone = function (name) {
298
- var _this = this;
299
- return SerializationHelper.Clone(function () { return new NormalMaterial(name, _this.getScene()); }, this);
300
- };
301
- NormalMaterial.prototype.serialize = function () {
302
- var serializationObject = _super.prototype.serialize.call(this);
290
+ super.dispose(forceDisposeEffect);
291
+ }
292
+ clone(name) {
293
+ return SerializationHelper.Clone(() => new NormalMaterial(name, this.getScene()), this);
294
+ }
295
+ serialize() {
296
+ const serializationObject = super.serialize();
303
297
  serializationObject.customType = "BABYLON.NormalMaterial";
304
298
  return serializationObject;
305
- };
306
- NormalMaterial.prototype.getClassName = function () {
299
+ }
300
+ getClassName() {
307
301
  return "NormalMaterial";
308
- };
302
+ }
309
303
  // Statics
310
- NormalMaterial.Parse = function (source, scene, rootUrl) {
311
- return SerializationHelper.Parse(function () { return new NormalMaterial(source.name, scene); }, source, scene, rootUrl);
312
- };
313
- __decorate([
314
- serializeAsTexture("diffuseTexture")
315
- ], NormalMaterial.prototype, "_diffuseTexture", void 0);
316
- __decorate([
317
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
318
- ], NormalMaterial.prototype, "diffuseTexture", void 0);
319
- __decorate([
320
- serializeAsColor3()
321
- ], NormalMaterial.prototype, "diffuseColor", void 0);
322
- __decorate([
323
- serialize("disableLighting")
324
- ], NormalMaterial.prototype, "_disableLighting", void 0);
325
- __decorate([
326
- expandToProperty("_markAllSubMeshesAsLightsDirty")
327
- ], NormalMaterial.prototype, "disableLighting", void 0);
328
- __decorate([
329
- serialize("maxSimultaneousLights")
330
- ], NormalMaterial.prototype, "_maxSimultaneousLights", void 0);
331
- __decorate([
332
- expandToProperty("_markAllSubMeshesAsLightsDirty")
333
- ], NormalMaterial.prototype, "maxSimultaneousLights", void 0);
334
- return NormalMaterial;
335
- }(PushMaterial));
336
- export { NormalMaterial };
304
+ static Parse(source, scene, rootUrl) {
305
+ return SerializationHelper.Parse(() => new NormalMaterial(source.name, scene), source, scene, rootUrl);
306
+ }
307
+ }
308
+ __decorate([
309
+ serializeAsTexture("diffuseTexture")
310
+ ], NormalMaterial.prototype, "_diffuseTexture", void 0);
311
+ __decorate([
312
+ expandToProperty("_markAllSubMeshesAsTexturesDirty")
313
+ ], NormalMaterial.prototype, "diffuseTexture", void 0);
314
+ __decorate([
315
+ serializeAsColor3()
316
+ ], NormalMaterial.prototype, "diffuseColor", void 0);
317
+ __decorate([
318
+ serialize("disableLighting")
319
+ ], NormalMaterial.prototype, "_disableLighting", void 0);
320
+ __decorate([
321
+ expandToProperty("_markAllSubMeshesAsLightsDirty")
322
+ ], NormalMaterial.prototype, "disableLighting", void 0);
323
+ __decorate([
324
+ serialize("maxSimultaneousLights")
325
+ ], NormalMaterial.prototype, "_maxSimultaneousLights", void 0);
326
+ __decorate([
327
+ expandToProperty("_markAllSubMeshesAsLightsDirty")
328
+ ], NormalMaterial.prototype, "maxSimultaneousLights", void 0);
337
329
  RegisterClass("BABYLON.NormalMaterial", NormalMaterial);
338
330
  //# sourceMappingURL=normalMaterial.js.map