@babylonjs/materials 9.6.2 → 9.8.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 (172) hide show
  1. package/cell/cell.fragment.d.ts +0 -14
  2. package/cell/cell.fragment.js +20 -14
  3. package/cell/cell.fragment.js.map +1 -1
  4. package/cell/cell.vertex.d.ts +0 -16
  5. package/cell/cell.vertex.js +22 -16
  6. package/cell/cell.vertex.js.map +1 -1
  7. package/cell/wgsl/cell.fragment.d.ts +0 -13
  8. package/cell/wgsl/cell.fragment.js +19 -13
  9. package/cell/wgsl/cell.fragment.js.map +1 -1
  10. package/cell/wgsl/cell.vertex.d.ts +0 -16
  11. package/cell/wgsl/cell.vertex.js +22 -16
  12. package/cell/wgsl/cell.vertex.js.map +1 -1
  13. package/custom/pbrCustomMaterial.d.ts +6 -0
  14. package/custom/pbrCustomMaterial.js +10 -0
  15. package/custom/pbrCustomMaterial.js.map +1 -1
  16. package/fire/fire.fragment.d.ts +0 -8
  17. package/fire/fire.fragment.js +14 -8
  18. package/fire/fire.fragment.js.map +1 -1
  19. package/fire/fire.vertex.d.ts +0 -13
  20. package/fire/fire.vertex.js +19 -13
  21. package/fire/fire.vertex.js.map +1 -1
  22. package/fire/wgsl/fire.fragment.d.ts +0 -8
  23. package/fire/wgsl/fire.fragment.js +14 -8
  24. package/fire/wgsl/fire.fragment.js.map +1 -1
  25. package/fire/wgsl/fire.vertex.d.ts +0 -13
  26. package/fire/wgsl/fire.vertex.js +19 -13
  27. package/fire/wgsl/fire.vertex.js.map +1 -1
  28. package/fur/fur.fragment.d.ts +0 -14
  29. package/fur/fur.fragment.js +20 -14
  30. package/fur/fur.fragment.js.map +1 -1
  31. package/fur/fur.vertex.d.ts +0 -16
  32. package/fur/fur.vertex.js +22 -16
  33. package/fur/fur.vertex.js.map +1 -1
  34. package/fur/wgsl/fur.fragment.d.ts +0 -13
  35. package/fur/wgsl/fur.fragment.js +19 -13
  36. package/fur/wgsl/fur.fragment.js.map +1 -1
  37. package/fur/wgsl/fur.vertex.d.ts +0 -16
  38. package/fur/wgsl/fur.vertex.js +22 -16
  39. package/fur/wgsl/fur.vertex.js.map +1 -1
  40. package/gradient/gradient.fragment.d.ts +0 -14
  41. package/gradient/gradient.fragment.js +20 -14
  42. package/gradient/gradient.fragment.js.map +1 -1
  43. package/gradient/gradient.vertex.d.ts +0 -16
  44. package/gradient/gradient.vertex.js +22 -16
  45. package/gradient/gradient.vertex.js.map +1 -1
  46. package/gradient/wgsl/gradient.fragment.d.ts +0 -13
  47. package/gradient/wgsl/gradient.fragment.js +19 -13
  48. package/gradient/wgsl/gradient.fragment.js.map +1 -1
  49. package/gradient/wgsl/gradient.vertex.d.ts +0 -16
  50. package/gradient/wgsl/gradient.vertex.js +22 -16
  51. package/gradient/wgsl/gradient.vertex.js.map +1 -1
  52. package/grid/grid.fragment.d.ts +0 -7
  53. package/grid/grid.fragment.js +13 -7
  54. package/grid/grid.fragment.js.map +1 -1
  55. package/grid/grid.vertex.d.ts +0 -10
  56. package/grid/grid.vertex.js +16 -10
  57. package/grid/grid.vertex.js.map +1 -1
  58. package/grid/wgsl/grid.fragment.d.ts +0 -7
  59. package/grid/wgsl/grid.fragment.js +13 -7
  60. package/grid/wgsl/grid.fragment.js.map +1 -1
  61. package/grid/wgsl/grid.vertex.d.ts +0 -9
  62. package/grid/wgsl/grid.vertex.js +15 -9
  63. package/grid/wgsl/grid.vertex.js.map +1 -1
  64. package/lava/lava.fragment.d.ts +0 -14
  65. package/lava/lava.fragment.js +20 -14
  66. package/lava/lava.fragment.js.map +1 -1
  67. package/lava/lava.vertex.d.ts +0 -16
  68. package/lava/lava.vertex.js +22 -16
  69. package/lava/lava.vertex.js.map +1 -1
  70. package/lava/wgsl/lava.fragment.d.ts +0 -13
  71. package/lava/wgsl/lava.fragment.js +19 -13
  72. package/lava/wgsl/lava.fragment.js.map +1 -1
  73. package/lava/wgsl/lava.vertex.d.ts +0 -16
  74. package/lava/wgsl/lava.vertex.js +22 -16
  75. package/lava/wgsl/lava.vertex.js.map +1 -1
  76. package/mix/mix.fragment.d.ts +0 -14
  77. package/mix/mix.fragment.js +20 -14
  78. package/mix/mix.fragment.js.map +1 -1
  79. package/mix/mix.vertex.d.ts +0 -16
  80. package/mix/mix.vertex.js +22 -16
  81. package/mix/mix.vertex.js.map +1 -1
  82. package/mix/wgsl/mix.fragment.d.ts +0 -13
  83. package/mix/wgsl/mix.fragment.js +19 -13
  84. package/mix/wgsl/mix.fragment.js.map +1 -1
  85. package/mix/wgsl/mix.vertex.d.ts +0 -16
  86. package/mix/wgsl/mix.vertex.js +22 -16
  87. package/mix/wgsl/mix.vertex.js.map +1 -1
  88. package/normal/normal.fragment.d.ts +0 -14
  89. package/normal/normal.fragment.js +20 -14
  90. package/normal/normal.fragment.js.map +1 -1
  91. package/normal/normal.vertex.d.ts +0 -15
  92. package/normal/normal.vertex.js +21 -15
  93. package/normal/normal.vertex.js.map +1 -1
  94. package/normal/wgsl/normal.fragment.d.ts +0 -13
  95. package/normal/wgsl/normal.fragment.js +19 -13
  96. package/normal/wgsl/normal.fragment.js.map +1 -1
  97. package/normal/wgsl/normal.vertex.d.ts +0 -15
  98. package/normal/wgsl/normal.vertex.js +21 -15
  99. package/normal/wgsl/normal.vertex.js.map +1 -1
  100. package/package.json +2 -2
  101. package/shadowOnly/shadowOnly.fragment.d.ts +0 -15
  102. package/shadowOnly/shadowOnly.fragment.js +21 -15
  103. package/shadowOnly/shadowOnly.fragment.js.map +1 -1
  104. package/shadowOnly/shadowOnly.vertex.d.ts +0 -17
  105. package/shadowOnly/shadowOnly.vertex.js +23 -17
  106. package/shadowOnly/shadowOnly.vertex.js.map +1 -1
  107. package/shadowOnly/wgsl/shadowOnly.fragment.d.ts +0 -12
  108. package/shadowOnly/wgsl/shadowOnly.fragment.js +18 -12
  109. package/shadowOnly/wgsl/shadowOnly.fragment.js.map +1 -1
  110. package/shadowOnly/wgsl/shadowOnly.vertex.d.ts +0 -16
  111. package/shadowOnly/wgsl/shadowOnly.vertex.js +22 -16
  112. package/shadowOnly/wgsl/shadowOnly.vertex.js.map +1 -1
  113. package/simple/simple.fragment.d.ts +0 -14
  114. package/simple/simple.fragment.js +20 -14
  115. package/simple/simple.fragment.js.map +1 -1
  116. package/simple/simple.vertex.d.ts +0 -16
  117. package/simple/simple.vertex.js +22 -16
  118. package/simple/simple.vertex.js.map +1 -1
  119. package/simple/wgsl/simple.fragment.d.ts +0 -13
  120. package/simple/wgsl/simple.fragment.js +19 -13
  121. package/simple/wgsl/simple.fragment.js.map +1 -1
  122. package/simple/wgsl/simple.vertex.d.ts +0 -16
  123. package/simple/wgsl/simple.vertex.js +22 -16
  124. package/simple/wgsl/simple.vertex.js.map +1 -1
  125. package/sky/sky.fragment.d.ts +0 -8
  126. package/sky/sky.fragment.js +14 -8
  127. package/sky/sky.fragment.js.map +1 -1
  128. package/sky/sky.vertex.d.ts +0 -6
  129. package/sky/sky.vertex.js +12 -6
  130. package/sky/sky.vertex.js.map +1 -1
  131. package/sky/wgsl/sky.fragment.d.ts +0 -8
  132. package/sky/wgsl/sky.fragment.js +14 -8
  133. package/sky/wgsl/sky.fragment.js.map +1 -1
  134. package/sky/wgsl/sky.vertex.d.ts +0 -6
  135. package/sky/wgsl/sky.vertex.js +12 -6
  136. package/sky/wgsl/sky.vertex.js.map +1 -1
  137. package/terrain/terrain.fragment.d.ts +0 -14
  138. package/terrain/terrain.fragment.js +20 -14
  139. package/terrain/terrain.fragment.js.map +1 -1
  140. package/terrain/terrain.vertex.d.ts +0 -16
  141. package/terrain/terrain.vertex.js +22 -16
  142. package/terrain/terrain.vertex.js.map +1 -1
  143. package/terrain/wgsl/terrain.fragment.d.ts +0 -13
  144. package/terrain/wgsl/terrain.fragment.js +19 -13
  145. package/terrain/wgsl/terrain.fragment.js.map +1 -1
  146. package/terrain/wgsl/terrain.vertex.d.ts +0 -16
  147. package/terrain/wgsl/terrain.vertex.js +22 -16
  148. package/terrain/wgsl/terrain.vertex.js.map +1 -1
  149. package/triPlanar/triplanar.fragment.d.ts +0 -14
  150. package/triPlanar/triplanar.fragment.js +20 -14
  151. package/triPlanar/triplanar.fragment.js.map +1 -1
  152. package/triPlanar/triplanar.vertex.d.ts +0 -17
  153. package/triPlanar/triplanar.vertex.js +23 -17
  154. package/triPlanar/triplanar.vertex.js.map +1 -1
  155. package/triPlanar/wgsl/triplanar.fragment.d.ts +0 -13
  156. package/triPlanar/wgsl/triplanar.fragment.js +19 -13
  157. package/triPlanar/wgsl/triplanar.fragment.js.map +1 -1
  158. package/triPlanar/wgsl/triplanar.vertex.d.ts +0 -17
  159. package/triPlanar/wgsl/triplanar.vertex.js +23 -17
  160. package/triPlanar/wgsl/triplanar.vertex.js.map +1 -1
  161. package/water/water.fragment.d.ts +0 -14
  162. package/water/water.fragment.js +20 -14
  163. package/water/water.fragment.js.map +1 -1
  164. package/water/water.vertex.d.ts +0 -16
  165. package/water/water.vertex.js +22 -16
  166. package/water/water.vertex.js.map +1 -1
  167. package/water/wgsl/water.fragment.d.ts +0 -13
  168. package/water/wgsl/water.fragment.js +19 -13
  169. package/water/wgsl/water.fragment.js.map +1 -1
  170. package/water/wgsl/water.vertex.d.ts +0 -16
  171. package/water/wgsl/water.vertex.js +22 -16
  172. package/water/wgsl/water.vertex.js.map +1 -1
@@ -1,17 +1,3 @@
1
- import "@babylonjs/core/Shaders/ShadersInclude/helperFunctions.js";
2
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
3
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
4
- import "@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.js";
5
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.js";
6
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
7
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
8
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
9
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
10
- import "@babylonjs/core/Shaders/ShadersInclude/depthPrePass.js";
11
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragment.js";
12
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.js";
13
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragment.js";
14
- import "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
15
1
  /** @internal */
16
2
  export declare const cellPixelShader: {
17
3
  name: string;
@@ -1,19 +1,19 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
- import "@babylonjs/core/Shaders/ShadersInclude/helperFunctions.js";
4
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
5
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
6
- import "@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.js";
7
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.js";
8
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
9
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
10
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
11
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
12
- import "@babylonjs/core/Shaders/ShadersInclude/depthPrePass.js";
13
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragment.js";
14
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.js";
15
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragment.js";
16
- import "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
3
+ import { helperFunctions } from "@babylonjs/core/Shaders/ShadersInclude/helperFunctions.js";
4
+ import { lightFragmentDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
5
+ import { lightUboDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
6
+ import { lightsFragmentFunctions } from "@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.js";
7
+ import { shadowsFragmentFunctions } from "@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.js";
8
+ import { clipPlaneFragmentDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
9
+ import { logDepthDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
10
+ import { fogFragmentDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
11
+ import { clipPlaneFragment } from "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
12
+ import { depthPrePass } from "@babylonjs/core/Shaders/ShadersInclude/depthPrePass.js";
13
+ import { lightFragment } from "@babylonjs/core/Shaders/ShadersInclude/lightFragment.js";
14
+ import { logDepthFragment } from "@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.js";
15
+ import { fogFragment } from "@babylonjs/core/Shaders/ShadersInclude/fogFragment.js";
16
+ import { imageProcessingCompatibility } from "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
17
17
  const name = "cellPixelShader";
18
18
  const shader = `precision highp float;uniform vec4 vEyePosition;uniform vec4 vDiffuseColor;varying vec3 vPositionW;
19
19
  #ifdef NORMAL
@@ -98,6 +98,12 @@ gl_FragColor=color;
98
98
  if (!ShaderStore.ShadersStore[name]) {
99
99
  ShaderStore.ShadersStore[name] = shader;
100
100
  }
101
+ const includes = [helperFunctions, lightFragmentDeclaration, lightUboDeclaration, lightsFragmentFunctions, shadowsFragmentFunctions, clipPlaneFragmentDeclaration, logDepthDeclaration, fogFragmentDeclaration, clipPlaneFragment, depthPrePass, lightFragment, logDepthFragment, fogFragment, imageProcessingCompatibility];
102
+ for (const inc of includes) {
103
+ if (!ShaderStore.IncludesShadersStore[inc.name]) {
104
+ ShaderStore.IncludesShadersStore[inc.name] = inc.shader;
105
+ }
106
+ }
101
107
  /** @internal */
102
108
  export const cellPixelShader = { name, shader };
103
109
  //# sourceMappingURL=cell.fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.fragment.js","sourceRoot":"","sources":["../../../../dev/materials/src/cell/cell.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,6CAA6C,CAAC;AACrD,OAAO,sDAAsD,CAAC;AAC9D,OAAO,iDAAiD,CAAC;AACzD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,0DAA0D,CAAC;AAClE,OAAO,iDAAiD,CAAC;AACzD,OAAO,oDAAoD,CAAC;AAC5D,OAAO,+CAA+C,CAAC;AACvD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,8CAA8C,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,0DAA0D,CAAC;AAElE,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Eb,CAAC;AACH,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,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/logDepthDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"core/Shaders/ShadersInclude/depthPrePass\";\nimport \"core/Shaders/ShadersInclude/lightFragment\";\nimport \"core/Shaders/ShadersInclude/logDepthFragment\";\nimport \"core/Shaders/ShadersInclude/fogFragment\";\nimport \"core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"cellPixelShader\";\nconst shader = `precision highp float;uniform vec4 vEyePosition;uniform vec4 vDiffuseColor;varying 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#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;uniform sampler2D diffuseSampler;uniform vec2 vDiffuseInfos;\n#endif\n#include<clipPlaneFragmentDeclaration>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nvec3 computeCustomDiffuseLighting(lightingInfo info,vec3 diffuseBase,float shadow)\n{diffuseBase=info.diffuse*shadow;\n#ifdef CELLBASIC\nfloat level=1.0;if (info.ndl<0.5)\nlevel=0.5;diffuseBase.rgb*vec3(level,level,level);\n#else\nfloat ToonThresholds[4];ToonThresholds[0]=0.95;ToonThresholds[1]=0.5;ToonThresholds[2]=0.2;ToonThresholds[3]=0.03;float ToonBrightnessLevels[5];ToonBrightnessLevels[0]=1.0;ToonBrightnessLevels[1]=0.8;ToonBrightnessLevels[2]=0.6;ToonBrightnessLevels[3]=0.35;ToonBrightnessLevels[4]=0.2;if (info.ndl>ToonThresholds[0])\n{diffuseBase.rgb*=ToonBrightnessLevels[0];}\nelse if (info.ndl>ToonThresholds[1])\n{diffuseBase.rgb*=ToonBrightnessLevels[1];}\nelse if (info.ndl>ToonThresholds[2])\n{diffuseBase.rgb*=ToonBrightnessLevels[2];}\nelse if (info.ndl>ToonThresholds[3])\n{diffuseBase.rgb*=ToonBrightnessLevels[3];}\nelse\n{diffuseBase.rgb*=ToonBrightnessLevels[4];}\n#endif\nreturn max(diffuseBase,vec3(0.2));}\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void)\n{\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4 baseColor=vec4(1.,1.,1.,1.);vec3 diffuseColor=vDiffuseColor.rgb;float 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 VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\nlightingInfo info;vec3 diffuseBase=vec3(0.,0.,0.);float shadow=1.;float glossiness=0.;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\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4 color=vec4(finalDiffuse,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\n/** @internal */\nexport const cellPixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"cell.fragment.js","sourceRoot":"","sources":["../../../../dev/materials/src/cell/cell.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AAExG,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Eb,CAAC;AACH,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,4BAA4B,CAAC,CAAC;AAC7T,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5D,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport { helperFunctions } from \"core/Shaders/ShadersInclude/helperFunctions\";\nimport { lightFragmentDeclaration } from \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport { lightUboDeclaration } from \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport { lightsFragmentFunctions } from \"core/Shaders/ShadersInclude/lightsFragmentFunctions\";\nimport { shadowsFragmentFunctions } from \"core/Shaders/ShadersInclude/shadowsFragmentFunctions\";\nimport { clipPlaneFragmentDeclaration } from \"core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport { logDepthDeclaration } from \"core/Shaders/ShadersInclude/logDepthDeclaration\";\nimport { fogFragmentDeclaration } from \"core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport { clipPlaneFragment } from \"core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport { depthPrePass } from \"core/Shaders/ShadersInclude/depthPrePass\";\nimport { lightFragment } from \"core/Shaders/ShadersInclude/lightFragment\";\nimport { logDepthFragment } from \"core/Shaders/ShadersInclude/logDepthFragment\";\nimport { fogFragment } from \"core/Shaders/ShadersInclude/fogFragment\";\nimport { imageProcessingCompatibility } from \"core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"cellPixelShader\";\nconst shader = `precision highp float;uniform vec4 vEyePosition;uniform vec4 vDiffuseColor;varying 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#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;uniform sampler2D diffuseSampler;uniform vec2 vDiffuseInfos;\n#endif\n#include<clipPlaneFragmentDeclaration>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nvec3 computeCustomDiffuseLighting(lightingInfo info,vec3 diffuseBase,float shadow)\n{diffuseBase=info.diffuse*shadow;\n#ifdef CELLBASIC\nfloat level=1.0;if (info.ndl<0.5)\nlevel=0.5;diffuseBase.rgb*vec3(level,level,level);\n#else\nfloat ToonThresholds[4];ToonThresholds[0]=0.95;ToonThresholds[1]=0.5;ToonThresholds[2]=0.2;ToonThresholds[3]=0.03;float ToonBrightnessLevels[5];ToonBrightnessLevels[0]=1.0;ToonBrightnessLevels[1]=0.8;ToonBrightnessLevels[2]=0.6;ToonBrightnessLevels[3]=0.35;ToonBrightnessLevels[4]=0.2;if (info.ndl>ToonThresholds[0])\n{diffuseBase.rgb*=ToonBrightnessLevels[0];}\nelse if (info.ndl>ToonThresholds[1])\n{diffuseBase.rgb*=ToonBrightnessLevels[1];}\nelse if (info.ndl>ToonThresholds[2])\n{diffuseBase.rgb*=ToonBrightnessLevels[2];}\nelse if (info.ndl>ToonThresholds[3])\n{diffuseBase.rgb*=ToonBrightnessLevels[3];}\nelse\n{diffuseBase.rgb*=ToonBrightnessLevels[4];}\n#endif\nreturn max(diffuseBase,vec3(0.2));}\n#if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0\nvarying float vViewDepth;\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void)\n{\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4 baseColor=vec4(1.,1.,1.,1.);vec3 diffuseColor=vDiffuseColor.rgb;float 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 VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\nlightingInfo info;vec3 diffuseBase=vec3(0.,0.,0.);float shadow=1.;float glossiness=0.;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\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4 color=vec4(finalDiffuse,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\nconst includes = [helperFunctions, lightFragmentDeclaration, lightUboDeclaration, lightsFragmentFunctions, shadowsFragmentFunctions, clipPlaneFragmentDeclaration, logDepthDeclaration, fogFragmentDeclaration, clipPlaneFragment, depthPrePass, lightFragment, logDepthFragment, fogFragment, imageProcessingCompatibility];\nfor (const inc of includes) {\n if (!ShaderStore.IncludesShadersStore[inc.name]) {\n ShaderStore.IncludesShadersStore[inc.name] = inc.shader;\n }\n}\n\n/** @internal */\nexport const cellPixelShader = { name, shader };\n"]}
@@ -1,19 +1,3 @@
1
- import "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.js";
2
- import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js";
3
- import "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
4
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
5
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
6
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
7
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
8
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
9
- import "@babylonjs/core/Shaders/ShadersInclude/instancesVertex.js";
10
- import "@babylonjs/core/Shaders/ShadersInclude/bonesVertex.js";
11
- import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.js";
12
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
13
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertex.js";
14
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.js";
15
- import "@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.js";
16
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.js";
17
1
  /** @internal */
18
2
  export declare const cellVertexShader: {
19
3
  name: string;
@@ -1,21 +1,21 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
- import "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.js";
4
- import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js";
5
- import "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
6
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
7
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
8
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
9
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
10
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
11
- import "@babylonjs/core/Shaders/ShadersInclude/instancesVertex.js";
12
- import "@babylonjs/core/Shaders/ShadersInclude/bonesVertex.js";
13
- import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.js";
14
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
15
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertex.js";
16
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.js";
17
- import "@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.js";
18
- import "@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.js";
3
+ import { bonesDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.js";
4
+ import { bakedVertexAnimationDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js";
5
+ import { instancesDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
6
+ import { clipPlaneVertexDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
7
+ import { logDepthDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
8
+ import { fogVertexDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
9
+ import { lightFragmentDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
10
+ import { lightUboDeclaration } from "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
11
+ import { instancesVertex } from "@babylonjs/core/Shaders/ShadersInclude/instancesVertex.js";
12
+ import { bonesVertex } from "@babylonjs/core/Shaders/ShadersInclude/bonesVertex.js";
13
+ import { bakedVertexAnimation } from "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.js";
14
+ import { clipPlaneVertex } from "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
15
+ import { fogVertex } from "@babylonjs/core/Shaders/ShadersInclude/fogVertex.js";
16
+ import { shadowsVertex } from "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.js";
17
+ import { vertexColorMixing } from "@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.js";
18
+ import { logDepthVertex } from "@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.js";
19
19
  const name = "cellVertexShader";
20
20
  const shader = `precision highp float;attribute vec3 position;
21
21
  #ifdef NORMAL
@@ -94,6 +94,12 @@ gl_PointSize=pointSize;
94
94
  if (!ShaderStore.ShadersStore[name]) {
95
95
  ShaderStore.ShadersStore[name] = shader;
96
96
  }
97
+ const includes = [bonesDeclaration, bakedVertexAnimationDeclaration, instancesDeclaration, clipPlaneVertexDeclaration, logDepthDeclaration, fogVertexDeclaration, lightFragmentDeclaration, lightUboDeclaration, instancesVertex, bonesVertex, bakedVertexAnimation, clipPlaneVertex, fogVertex, shadowsVertex, vertexColorMixing, logDepthVertex];
98
+ for (const inc of includes) {
99
+ if (!ShaderStore.IncludesShadersStore[inc.name]) {
100
+ ShaderStore.IncludesShadersStore[inc.name] = inc.shader;
101
+ }
102
+ }
97
103
  /** @internal */
98
104
  export const cellVertexShader = { name, shader };
99
105
  //# sourceMappingURL=cell.vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.vertex.js","sourceRoot":"","sources":["../../../../dev/materials/src/cell/cell.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,8CAA8C,CAAC;AACtD,OAAO,6DAA6D,CAAC;AACrE,OAAO,kDAAkD,CAAC;AAC1D,OAAO,wDAAwD,CAAC;AAChE,OAAO,iDAAiD,CAAC;AACzD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,iDAAiD,CAAC;AACzD,OAAO,6CAA6C,CAAC;AACrD,OAAO,yCAAyC,CAAC;AACjD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,6CAA6C,CAAC;AACrD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AACnD,OAAO,+CAA+C,CAAC;AACvD,OAAO,4CAA4C,CAAC;AAEpD,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,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/logDepthDeclaration\";\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\";\nimport \"core/Shaders/ShadersInclude/vertexColorMixing\";\nimport \"core/Shaders/ShadersInclude/logDepthVertex\";\n\nconst name = \"cellVertexShader\";\nconst shader = `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 vDiffuseUV;uniform mat4 diffuseMatrix;uniform vec2 vDiffuseInfos;\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 (vDiffuseInfos.x==0.)\n{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\nelse\n{vDiffuseUV=vec2(diffuseMatrix*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`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\n/** @internal */\nexport const cellVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"cell.vertex.js","sourceRoot":"","sources":["../../../../dev/materials/src/cell/cell.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,gBAAgB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AACnV,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5D,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport { bonesDeclaration } from \"core/Shaders/ShadersInclude/bonesDeclaration\";\nimport { bakedVertexAnimationDeclaration } from \"core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport { instancesDeclaration } from \"core/Shaders/ShadersInclude/instancesDeclaration\";\nimport { clipPlaneVertexDeclaration } from \"core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport { logDepthDeclaration } from \"core/Shaders/ShadersInclude/logDepthDeclaration\";\nimport { fogVertexDeclaration } from \"core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport { lightFragmentDeclaration } from \"core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport { lightUboDeclaration } from \"core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport { instancesVertex } from \"core/Shaders/ShadersInclude/instancesVertex\";\nimport { bonesVertex } from \"core/Shaders/ShadersInclude/bonesVertex\";\nimport { bakedVertexAnimation } from \"core/Shaders/ShadersInclude/bakedVertexAnimation\";\nimport { clipPlaneVertex } from \"core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport { fogVertex } from \"core/Shaders/ShadersInclude/fogVertex\";\nimport { shadowsVertex } from \"core/Shaders/ShadersInclude/shadowsVertex\";\nimport { vertexColorMixing } from \"core/Shaders/ShadersInclude/vertexColorMixing\";\nimport { logDepthVertex } from \"core/Shaders/ShadersInclude/logDepthVertex\";\n\nconst name = \"cellVertexShader\";\nconst shader = `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 vDiffuseUV;uniform mat4 diffuseMatrix;uniform vec2 vDiffuseInfos;\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 (vDiffuseInfos.x==0.)\n{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\nelse\n{vDiffuseUV=vec2(diffuseMatrix*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`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\nconst includes = [bonesDeclaration, bakedVertexAnimationDeclaration, instancesDeclaration, clipPlaneVertexDeclaration, logDepthDeclaration, fogVertexDeclaration, lightFragmentDeclaration, lightUboDeclaration, instancesVertex, bonesVertex, bakedVertexAnimation, clipPlaneVertex, fogVertex, shadowsVertex, vertexColorMixing, logDepthVertex];\nfor (const inc of includes) {\n if (!ShaderStore.IncludesShadersStore[inc.name]) {\n ShaderStore.IncludesShadersStore[inc.name] = inc.shader;\n }\n}\n\n/** @internal */\nexport const cellVertexShader = { name, shader };\n"]}
@@ -1,16 +1,3 @@
1
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/helperFunctions.js";
2
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightUboDeclaration.js";
3
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js";
4
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js";
5
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js";
6
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
7
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js";
8
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragment.js";
9
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/depthPrePass.js";
10
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightFragment.js";
11
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthFragment.js";
12
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragment.js";
13
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/imageProcessingCompatibility.js";
14
1
  /** @internal */
15
2
  export declare const cellPixelShaderWGSL: {
16
3
  name: string;
@@ -1,18 +1,18 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/helperFunctions.js";
4
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightUboDeclaration.js";
5
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js";
6
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js";
7
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js";
8
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
9
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js";
10
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragment.js";
11
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/depthPrePass.js";
12
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightFragment.js";
13
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthFragment.js";
14
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragment.js";
15
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/imageProcessingCompatibility.js";
3
+ import { helperFunctionsWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/helperFunctions.js";
4
+ import { lightUboDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/lightUboDeclaration.js";
5
+ import { lightsFragmentFunctionsWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js";
6
+ import { shadowsFragmentFunctionsWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js";
7
+ import { clipPlaneFragmentDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js";
8
+ import { logDepthDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
9
+ import { fogFragmentDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js";
10
+ import { clipPlaneFragmentWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneFragment.js";
11
+ import { depthPrePassWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/depthPrePass.js";
12
+ import { lightFragmentWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/lightFragment.js";
13
+ import { logDepthFragmentWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthFragment.js";
14
+ import { fogFragmentWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/fogFragment.js";
15
+ import { imageProcessingCompatibilityWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/imageProcessingCompatibility.js";
16
16
  const name = "cellPixelShader";
17
17
  const shader = `uniform vEyePosition: vec4f;uniform vDiffuseColor: vec4f;varying vPositionW: vec3f;
18
18
  #ifdef NORMAL
@@ -94,6 +94,12 @@ fragmentOutputs.color=color;
94
94
  if (!ShaderStore.ShadersStoreWGSL[name]) {
95
95
  ShaderStore.ShadersStoreWGSL[name] = shader;
96
96
  }
97
+ const includes = [helperFunctionsWGSL, lightUboDeclarationWGSL, lightsFragmentFunctionsWGSL, shadowsFragmentFunctionsWGSL, clipPlaneFragmentDeclarationWGSL, logDepthDeclarationWGSL, fogFragmentDeclarationWGSL, clipPlaneFragmentWGSL, depthPrePassWGSL, lightFragmentWGSL, logDepthFragmentWGSL, fogFragmentWGSL, imageProcessingCompatibilityWGSL];
98
+ for (const inc of includes) {
99
+ if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) {
100
+ ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader;
101
+ }
102
+ }
97
103
  /** @internal */
98
104
  export const cellPixelShaderWGSL = { name, shader };
99
105
  //# sourceMappingURL=cell.fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.fragment.js","sourceRoot":"","sources":["../../../../../dev/materials/src/cell/wgsl/cell.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,iDAAiD,CAAC;AACzD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,yDAAyD,CAAC;AACjE,OAAO,0DAA0D,CAAC;AAClE,OAAO,8DAA8D,CAAC;AACtE,OAAO,qDAAqD,CAAC;AAC7D,OAAO,wDAAwD,CAAC;AAChE,OAAO,mDAAmD,CAAC;AAC3D,OAAO,8CAA8C,CAAC;AACtD,OAAO,+CAA+C,CAAC;AACvD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,6CAA6C,CAAC;AACrD,OAAO,8DAA8D,CAAC;AAEtE,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ed,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/ShadersWGSL/ShadersInclude/helperFunctions\";\nimport \"core/ShadersWGSL/ShadersInclude/lightUboDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/lightsFragmentFunctions\";\nimport \"core/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions\";\nimport \"core/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/logDepthDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/fogFragmentDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/clipPlaneFragment\";\nimport \"core/ShadersWGSL/ShadersInclude/depthPrePass\";\nimport \"core/ShadersWGSL/ShadersInclude/lightFragment\";\nimport \"core/ShadersWGSL/ShadersInclude/logDepthFragment\";\nimport \"core/ShadersWGSL/ShadersInclude/fogFragment\";\nimport \"core/ShadersWGSL/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"cellPixelShader\";\nconst shader = `uniform vEyePosition: vec4f;uniform vDiffuseColor: vec4f;varying 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#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#ifdef DIFFUSE\nvarying vDiffuseUV: vec2f;var diffuseSamplerSampler: sampler;var diffuseSampler: texture_2d<f32>;uniform vDiffuseInfos: vec2f;\n#endif\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nfn computeCustomDiffuseLighting(info: lightingInfo,diffuseBaseIn: vec3f,shadow: f32)->vec3f\n{var diffuseBase: vec3f=info.diffuse*shadow;\n#ifdef CELLBASIC\nvar level: f32=1.0;if (info.ndl<0.5) {level=0.5;}\ndiffuseBase=diffuseBase.rgb* vec3f(level,level,level);\n#else\nvar ToonThresholds: array<f32,4>;ToonThresholds[0]=0.95;ToonThresholds[1]=0.5;ToonThresholds[2]=0.2;ToonThresholds[3]=0.03;var ToonBrightnessLevels: array<f32,5>;ToonBrightnessLevels[0]=1.0;ToonBrightnessLevels[1]=0.8;ToonBrightnessLevels[2]=0.6;ToonBrightnessLevels[3]=0.35;ToonBrightnessLevels[4]=0.2;if (info.ndl>ToonThresholds[0])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[0];}\nelse if (info.ndl>ToonThresholds[1])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[1];}\nelse if (info.ndl>ToonThresholds[2])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[2];}\nelse if (info.ndl>ToonThresholds[3])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[3];}\nelse\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[4];}\n#endif\nreturn max(diffuseBase, vec3f(0.2));}\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 baseColor: vec4f= vec4f(1.,1.,1.,1.);var diffuseColor: vec3f=uniforms.vDiffuseColor.rgb;var alpha: f32=uniforms.vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=textureSample(diffuseSampler,diffuseSamplerSampler,fragmentInputs.vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4) {discard;}\n#endif\n#include<depthPrePass>\nbaseColor=vec4f(baseColor.rgb*uniforms.vDiffuseInfos.y,baseColor.a);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor=vec4f(baseColor.rgb*fragmentInputs.vColor.rgb,baseColor.a);\n#endif\n#ifdef NORMAL\nvar normalW: vec3f=normalize(fragmentInputs.vNormalW);\n#else\nvar normalW: vec3f= vec3f(1.0,1.0,1.0);\n#endif\nvar info: lightingInfo;var diffuseBase: vec3f= vec3f(0.,0.,0.);var shadow: f32=1.;var glossiness: f32=0.;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\nvar finalDiffuse: vec3f=clamp(diffuseBase*diffuseColor,vec3f(0.0),vec3f(1.0))*baseColor.rgb;var color: vec4f= vec4f(finalDiffuse,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\nfragmentOutputs.color=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const cellPixelShaderWGSL = { name, shader };\n"]}
1
+ {"version":3,"file":"cell.fragment.js","sourceRoot":"","sources":["../../../../../dev/materials/src/cell/wgsl/cell.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AAEhH,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ed,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,gCAAgC,CAAC,CAAC;AACvV,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAChE,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport { helperFunctionsWGSL } from \"core/ShadersWGSL/ShadersInclude/helperFunctions\";\nimport { lightUboDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/lightUboDeclaration\";\nimport { lightsFragmentFunctionsWGSL } from \"core/ShadersWGSL/ShadersInclude/lightsFragmentFunctions\";\nimport { shadowsFragmentFunctionsWGSL } from \"core/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions\";\nimport { clipPlaneFragmentDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport { logDepthDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/logDepthDeclaration\";\nimport { fogFragmentDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/fogFragmentDeclaration\";\nimport { clipPlaneFragmentWGSL } from \"core/ShadersWGSL/ShadersInclude/clipPlaneFragment\";\nimport { depthPrePassWGSL } from \"core/ShadersWGSL/ShadersInclude/depthPrePass\";\nimport { lightFragmentWGSL } from \"core/ShadersWGSL/ShadersInclude/lightFragment\";\nimport { logDepthFragmentWGSL } from \"core/ShadersWGSL/ShadersInclude/logDepthFragment\";\nimport { fogFragmentWGSL } from \"core/ShadersWGSL/ShadersInclude/fogFragment\";\nimport { imageProcessingCompatibilityWGSL } from \"core/ShadersWGSL/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"cellPixelShader\";\nconst shader = `uniform vEyePosition: vec4f;uniform vDiffuseColor: vec4f;varying 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#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#ifdef DIFFUSE\nvarying vDiffuseUV: vec2f;var diffuseSamplerSampler: sampler;var diffuseSampler: texture_2d<f32>;uniform vDiffuseInfos: vec2f;\n#endif\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nfn computeCustomDiffuseLighting(info: lightingInfo,diffuseBaseIn: vec3f,shadow: f32)->vec3f\n{var diffuseBase: vec3f=info.diffuse*shadow;\n#ifdef CELLBASIC\nvar level: f32=1.0;if (info.ndl<0.5) {level=0.5;}\ndiffuseBase=diffuseBase.rgb* vec3f(level,level,level);\n#else\nvar ToonThresholds: array<f32,4>;ToonThresholds[0]=0.95;ToonThresholds[1]=0.5;ToonThresholds[2]=0.2;ToonThresholds[3]=0.03;var ToonBrightnessLevels: array<f32,5>;ToonBrightnessLevels[0]=1.0;ToonBrightnessLevels[1]=0.8;ToonBrightnessLevels[2]=0.6;ToonBrightnessLevels[3]=0.35;ToonBrightnessLevels[4]=0.2;if (info.ndl>ToonThresholds[0])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[0];}\nelse if (info.ndl>ToonThresholds[1])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[1];}\nelse if (info.ndl>ToonThresholds[2])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[2];}\nelse if (info.ndl>ToonThresholds[3])\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[3];}\nelse\n{diffuseBase=diffuseBase.rgb*ToonBrightnessLevels[4];}\n#endif\nreturn max(diffuseBase, vec3f(0.2));}\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 baseColor: vec4f= vec4f(1.,1.,1.,1.);var diffuseColor: vec3f=uniforms.vDiffuseColor.rgb;var alpha: f32=uniforms.vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=textureSample(diffuseSampler,diffuseSamplerSampler,fragmentInputs.vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4) {discard;}\n#endif\n#include<depthPrePass>\nbaseColor=vec4f(baseColor.rgb*uniforms.vDiffuseInfos.y,baseColor.a);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor=vec4f(baseColor.rgb*fragmentInputs.vColor.rgb,baseColor.a);\n#endif\n#ifdef NORMAL\nvar normalW: vec3f=normalize(fragmentInputs.vNormalW);\n#else\nvar normalW: vec3f= vec3f(1.0,1.0,1.0);\n#endif\nvar info: lightingInfo;var diffuseBase: vec3f= vec3f(0.,0.,0.);var shadow: f32=1.;var glossiness: f32=0.;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\nvar finalDiffuse: vec3f=clamp(diffuseBase*diffuseColor,vec3f(0.0),vec3f(1.0))*baseColor.rgb;var color: vec4f= vec4f(finalDiffuse,alpha);\n#include<logDepthFragment>\n#include<fogFragment>\nfragmentOutputs.color=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\nconst includes = [helperFunctionsWGSL, lightUboDeclarationWGSL, lightsFragmentFunctionsWGSL, shadowsFragmentFunctionsWGSL, clipPlaneFragmentDeclarationWGSL, logDepthDeclarationWGSL, fogFragmentDeclarationWGSL, clipPlaneFragmentWGSL, depthPrePassWGSL, lightFragmentWGSL, logDepthFragmentWGSL, fogFragmentWGSL, imageProcessingCompatibilityWGSL];\nfor (const inc of includes) {\n if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) {\n ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader;\n }\n}\n\n/** @internal */\nexport const cellPixelShaderWGSL = { name, shader };\n"]}
@@ -1,19 +1,3 @@
1
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesDeclaration.js";
2
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js";
3
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesDeclaration.js";
4
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js";
5
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
6
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js";
7
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js";
8
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js";
9
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesVertex.js";
10
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesVertex.js";
11
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js";
12
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertex.js";
13
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertex.js";
14
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsVertex.js";
15
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/vertexColorMixing.js";
16
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthVertex.js";
17
1
  /** @internal */
18
2
  export declare const cellVertexShaderWGSL: {
19
3
  name: string;
@@ -1,21 +1,21 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesDeclaration.js";
4
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js";
5
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesDeclaration.js";
6
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js";
7
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
8
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js";
9
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js";
10
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js";
11
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesVertex.js";
12
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesVertex.js";
13
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js";
14
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertex.js";
15
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertex.js";
16
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsVertex.js";
17
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/vertexColorMixing.js";
18
- import "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthVertex.js";
3
+ import { bonesDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesDeclaration.js";
4
+ import { bakedVertexAnimationDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js";
5
+ import { instancesDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesDeclaration.js";
6
+ import { clipPlaneVertexDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js";
7
+ import { logDepthDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthDeclaration.js";
8
+ import { fogVertexDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js";
9
+ import { lightVxFragmentDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js";
10
+ import { lightVxUboDeclarationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js";
11
+ import { instancesVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/instancesVertex.js";
12
+ import { bonesVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/bonesVertex.js";
13
+ import { bakedVertexAnimationWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js";
14
+ import { clipPlaneVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/clipPlaneVertex.js";
15
+ import { fogVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/fogVertex.js";
16
+ import { shadowsVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/shadowsVertex.js";
17
+ import { vertexColorMixingWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/vertexColorMixing.js";
18
+ import { logDepthVertexWGSL } from "@babylonjs/core/ShadersWGSL/ShadersInclude/logDepthVertex.js";
19
19
  const name = "cellVertexShader";
20
20
  const shader = `attribute position: vec3f;
21
21
  #ifdef NORMAL
@@ -96,6 +96,12 @@ else
96
96
  if (!ShaderStore.ShadersStoreWGSL[name]) {
97
97
  ShaderStore.ShadersStoreWGSL[name] = shader;
98
98
  }
99
+ const includes = [bonesDeclarationWGSL, bakedVertexAnimationDeclarationWGSL, instancesDeclarationWGSL, clipPlaneVertexDeclarationWGSL, logDepthDeclarationWGSL, fogVertexDeclarationWGSL, lightVxFragmentDeclarationWGSL, lightVxUboDeclarationWGSL, instancesVertexWGSL, bonesVertexWGSL, bakedVertexAnimationWGSL, clipPlaneVertexWGSL, fogVertexWGSL, shadowsVertexWGSL, vertexColorMixingWGSL, logDepthVertexWGSL];
100
+ for (const inc of includes) {
101
+ if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) {
102
+ ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader;
103
+ }
104
+ }
99
105
  /** @internal */
100
106
  export const cellVertexShaderWGSL = { name, shader };
101
107
  //# sourceMappingURL=cell.vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.vertex.js","sourceRoot":"","sources":["../../../../../dev/materials/src/cell/wgsl/cell.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,iEAAiE,CAAC;AACzE,OAAO,sDAAsD,CAAC;AAC9D,OAAO,4DAA4D,CAAC;AACpE,OAAO,qDAAqD,CAAC;AAC7D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,4DAA4D,CAAC;AACpE,OAAO,uDAAuD,CAAC;AAC/D,OAAO,iDAAiD,CAAC;AACzD,OAAO,6CAA6C,CAAC;AACrD,OAAO,sDAAsD,CAAC;AAC9D,OAAO,iDAAiD,CAAC;AACzD,OAAO,2CAA2C,CAAC;AACnD,OAAO,+CAA+C,CAAC;AACvD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,gDAAgD,CAAC;AAExD,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ed,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/ShadersWGSL/ShadersInclude/bonesDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/instancesDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/logDepthDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/fogVertexDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/lightVxUboDeclaration\";\nimport \"core/ShadersWGSL/ShadersInclude/instancesVertex\";\nimport \"core/ShadersWGSL/ShadersInclude/bonesVertex\";\nimport \"core/ShadersWGSL/ShadersInclude/bakedVertexAnimation\";\nimport \"core/ShadersWGSL/ShadersInclude/clipPlaneVertex\";\nimport \"core/ShadersWGSL/ShadersInclude/fogVertex\";\nimport \"core/ShadersWGSL/ShadersInclude/shadowsVertex\";\nimport \"core/ShadersWGSL/ShadersInclude/vertexColorMixing\";\nimport \"core/ShadersWGSL/ShadersInclude/logDepthVertex\";\n\nconst name = \"cellVertexShader\";\nconst shader = `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 vDiffuseUV: vec2f;uniform diffuseMatrix: mat4x4f;uniform vDiffuseInfos: 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.vDiffuseInfos.x==0.)\n{vertexOutputs.vDiffuseUV=(uniforms.diffuseMatrix* vec4f(uv,1.0,0.0)).xy;}\nelse\n{vertexOutputs.vDiffuseUV=(uniforms.diffuseMatrix* 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`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const cellVertexShaderWGSL = { name, shader };\n"]}
1
+ {"version":3,"file":"cell.vertex.js","sourceRoot":"","sources":["../../../../../dev/materials/src/cell/wgsl/cell.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,mCAAmC,EAAE,MAAM,iEAAiE,CAAC;AACtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ed,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,oBAAoB,EAAE,mCAAmC,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AACvZ,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAChE,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport { bonesDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/bonesDeclaration\";\nimport { bakedVertexAnimationDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport { instancesDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/instancesDeclaration\";\nimport { clipPlaneVertexDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration\";\nimport { logDepthDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/logDepthDeclaration\";\nimport { fogVertexDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/fogVertexDeclaration\";\nimport { lightVxFragmentDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration\";\nimport { lightVxUboDeclarationWGSL } from \"core/ShadersWGSL/ShadersInclude/lightVxUboDeclaration\";\nimport { instancesVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/instancesVertex\";\nimport { bonesVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/bonesVertex\";\nimport { bakedVertexAnimationWGSL } from \"core/ShadersWGSL/ShadersInclude/bakedVertexAnimation\";\nimport { clipPlaneVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/clipPlaneVertex\";\nimport { fogVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/fogVertex\";\nimport { shadowsVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/shadowsVertex\";\nimport { vertexColorMixingWGSL } from \"core/ShadersWGSL/ShadersInclude/vertexColorMixing\";\nimport { logDepthVertexWGSL } from \"core/ShadersWGSL/ShadersInclude/logDepthVertex\";\n\nconst name = \"cellVertexShader\";\nconst shader = `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 vDiffuseUV: vec2f;uniform diffuseMatrix: mat4x4f;uniform vDiffuseInfos: 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.vDiffuseInfos.x==0.)\n{vertexOutputs.vDiffuseUV=(uniforms.diffuseMatrix* vec4f(uv,1.0,0.0)).xy;}\nelse\n{vertexOutputs.vDiffuseUV=(uniforms.diffuseMatrix* 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`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\nconst includes = [bonesDeclarationWGSL, bakedVertexAnimationDeclarationWGSL, instancesDeclarationWGSL, clipPlaneVertexDeclarationWGSL, logDepthDeclarationWGSL, fogVertexDeclarationWGSL, lightVxFragmentDeclarationWGSL, lightVxUboDeclarationWGSL, instancesVertexWGSL, bonesVertexWGSL, bakedVertexAnimationWGSL, clipPlaneVertexWGSL, fogVertexWGSL, shadowsVertexWGSL, vertexColorMixingWGSL, logDepthVertexWGSL];\nfor (const inc of includes) {\n if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) {\n ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader;\n }\n}\n\n/** @internal */\nexport const cellVertexShaderWGSL = { name, shader };\n"]}
@@ -167,6 +167,12 @@ export declare class PBRCustomMaterial extends PBRMaterial {
167
167
  [pointName: string]: string;
168
168
  };
169
169
  constructor(name: string, scene?: Scene);
170
+ /**
171
+ * Disposes the material
172
+ * @param forceDisposeEffect specifies if effects should be forcefully disposed
173
+ * @param forceDisposeTextures specifies if textures should be forcefully disposed
174
+ */
175
+ dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void;
170
176
  protected _afterBind(mesh?: Mesh, effect?: Nullable<Effect>, subMesh?: SubMesh): void;
171
177
  /**
172
178
  * Adds a new uniform to the shader
@@ -169,6 +169,16 @@ export class PBRCustomMaterial extends PBRMaterial {
169
169
  PBRCustomMaterial.ShaderIndexer++;
170
170
  this._createdShaderName = "custompbr_" + PBRCustomMaterial.ShaderIndexer;
171
171
  }
172
+ /**
173
+ * Disposes the material
174
+ * @param forceDisposeEffect specifies if effects should be forcefully disposed
175
+ * @param forceDisposeTextures specifies if textures should be forcefully disposed
176
+ */
177
+ dispose(forceDisposeEffect, forceDisposeTextures) {
178
+ delete Effect.ShadersStore[this._createdShaderName + "VertexShader"];
179
+ delete Effect.ShadersStore[this._createdShaderName + "PixelShader"];
180
+ super.dispose(forceDisposeEffect, forceDisposeTextures);
181
+ }
172
182
  _afterBind(mesh, effect = null, subMesh) {
173
183
  if (!effect) {
174
184
  return;