@luma.gl/shaders 0.0.0-stage → 10.0.0-alpha.6

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 (693) hide show
  1. package/LICENSE +38 -0
  2. package/README.md +25 -2
  3. package/dist/dist.dev.js +19686 -0
  4. package/dist/dist.min.js +12180 -0
  5. package/dist/glsl.cjs +33 -0
  6. package/dist/glsl.cjs.map +6 -0
  7. package/dist/glsl.d.ts +6 -0
  8. package/dist/glsl.d.ts.map +1 -0
  9. package/dist/glsl.js +7 -0
  10. package/dist/glsl.js.map +1 -0
  11. package/dist/index.cjs +243 -0
  12. package/dist/index.cjs.map +6 -0
  13. package/dist/index.d.ts +91 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +65 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/lib/color/normalize-byte-colors.cjs +50 -0
  18. package/dist/lib/color/normalize-byte-colors.d.ts +23 -0
  19. package/dist/lib/color/normalize-byte-colors.d.ts.map +1 -0
  20. package/dist/lib/color/normalize-byte-colors.js +42 -0
  21. package/dist/lib/color/normalize-byte-colors.js.map +1 -0
  22. package/dist/lib/filters/prop-types.cjs +90 -0
  23. package/dist/lib/filters/prop-types.d.ts +44 -0
  24. package/dist/lib/filters/prop-types.d.ts.map +1 -0
  25. package/dist/lib/filters/prop-types.js +96 -0
  26. package/dist/lib/filters/prop-types.js.map +1 -0
  27. package/dist/lib/glsl-shader-assembler.cjs +50 -0
  28. package/dist/lib/glsl-shader-assembler.d.ts +19 -0
  29. package/dist/lib/glsl-shader-assembler.d.ts.map +1 -0
  30. package/dist/lib/glsl-shader-assembler.js +29 -0
  31. package/dist/lib/glsl-shader-assembler.js.map +1 -0
  32. package/dist/lib/glsl-utils/get-shader-info.cjs +52 -0
  33. package/dist/lib/glsl-utils/get-shader-info.d.ts +9 -0
  34. package/dist/lib/glsl-utils/get-shader-info.d.ts.map +1 -0
  35. package/dist/lib/glsl-utils/get-shader-info.js +33 -0
  36. package/dist/lib/glsl-utils/get-shader-info.js.map +1 -0
  37. package/dist/lib/glsl-utils/shader-utils.cjs +126 -0
  38. package/dist/lib/glsl-utils/shader-utils.d.ts +23 -0
  39. package/dist/lib/glsl-utils/shader-utils.d.ts.map +1 -0
  40. package/dist/lib/glsl-utils/shader-utils.js +92 -0
  41. package/dist/lib/glsl-utils/shader-utils.js.map +1 -0
  42. package/dist/lib/preprocessor/preprocessor.cjs +107 -0
  43. package/dist/lib/preprocessor/preprocessor.d.ts +15 -0
  44. package/dist/lib/preprocessor/preprocessor.d.ts.map +1 -0
  45. package/dist/lib/preprocessor/preprocessor.js +99 -0
  46. package/dist/lib/preprocessor/preprocessor.js.map +1 -0
  47. package/dist/lib/shader-assembler-base.cjs +133 -0
  48. package/dist/lib/shader-assembler-base.d.ts +52 -0
  49. package/dist/lib/shader-assembler-base.d.ts.map +1 -0
  50. package/dist/lib/shader-assembler-base.js +128 -0
  51. package/dist/lib/shader-assembler-base.js.map +1 -0
  52. package/dist/lib/shader-assembler.cjs +33 -0
  53. package/dist/lib/shader-assembler.d.ts +4 -0
  54. package/dist/lib/shader-assembler.d.ts.map +1 -0
  55. package/dist/lib/shader-assembler.js +7 -0
  56. package/dist/lib/shader-assembler.js.map +1 -0
  57. package/dist/lib/shader-assembly/assemble-glsl-shaders.cjs +200 -0
  58. package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts +69 -0
  59. package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts.map +1 -0
  60. package/dist/lib/shader-assembly/assemble-glsl-shaders.js +221 -0
  61. package/dist/lib/shader-assembly/assemble-glsl-shaders.js.map +1 -0
  62. package/dist/lib/shader-assembly/assemble-shaders.cjs +42 -0
  63. package/dist/lib/shader-assembly/assemble-shaders.d.ts +10 -0
  64. package/dist/lib/shader-assembly/assemble-shaders.d.ts.map +1 -0
  65. package/dist/lib/shader-assembly/assemble-shaders.js +10 -0
  66. package/dist/lib/shader-assembly/assemble-shaders.js.map +1 -0
  67. package/dist/lib/shader-assembly/assemble-wgsl-shaders.cjs +501 -0
  68. package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts +71 -0
  69. package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts.map +1 -0
  70. package/dist/lib/shader-assembly/assemble-wgsl-shaders.js +473 -0
  71. package/dist/lib/shader-assembly/assemble-wgsl-shaders.js.map +1 -0
  72. package/dist/lib/shader-assembly/platform-defines.cjs +79 -0
  73. package/dist/lib/shader-assembly/platform-defines.d.ts +4 -0
  74. package/dist/lib/shader-assembly/platform-defines.d.ts.map +1 -0
  75. package/dist/lib/shader-assembly/platform-defines.js +52 -0
  76. package/dist/lib/shader-assembly/platform-defines.js.map +1 -0
  77. package/dist/lib/shader-assembly/platform-info.cjs +15 -0
  78. package/dist/lib/shader-assembly/platform-info.d.ts +20 -0
  79. package/dist/lib/shader-assembly/platform-info.d.ts.map +1 -0
  80. package/dist/lib/shader-assembly/platform-info.js +5 -0
  81. package/dist/lib/shader-assembly/platform-info.js.map +1 -0
  82. package/dist/lib/shader-assembly/shader-assembly-shared.cjs +96 -0
  83. package/dist/lib/shader-assembly/shader-assembly-shared.d.ts +16 -0
  84. package/dist/lib/shader-assembly/shader-assembly-shared.d.ts.map +1 -0
  85. package/dist/lib/shader-assembly/shader-assembly-shared.js +79 -0
  86. package/dist/lib/shader-assembly/shader-assembly-shared.js.map +1 -0
  87. package/dist/lib/shader-assembly/shader-assembly-types.cjs +15 -0
  88. package/dist/lib/shader-assembly/shader-assembly-types.d.ts +128 -0
  89. package/dist/lib/shader-assembly/shader-assembly-types.d.ts.map +1 -0
  90. package/dist/lib/shader-assembly/shader-assembly-types.js +5 -0
  91. package/dist/lib/shader-assembly/shader-assembly-types.js.map +1 -0
  92. package/dist/lib/shader-assembly/shader-hooks.cjs +103 -0
  93. package/dist/lib/shader-assembly/shader-hooks.d.ts +45 -0
  94. package/dist/lib/shader-assembly/shader-hooks.d.ts.map +1 -0
  95. package/dist/lib/shader-assembly/shader-hooks.js +84 -0
  96. package/dist/lib/shader-assembly/shader-hooks.js.map +1 -0
  97. package/dist/lib/shader-assembly/shader-injections.cjs +180 -0
  98. package/dist/lib/shader-assembly/shader-injections.d.ts +34 -0
  99. package/dist/lib/shader-assembly/shader-injections.d.ts.map +1 -0
  100. package/dist/lib/shader-assembly/shader-injections.js +183 -0
  101. package/dist/lib/shader-assembly/shader-injections.js.map +1 -0
  102. package/dist/lib/shader-assembly/shader-plugin-varyings.cjs +417 -0
  103. package/dist/lib/shader-assembly/shader-plugin-varyings.d.ts +15 -0
  104. package/dist/lib/shader-assembly/shader-plugin-varyings.d.ts.map +1 -0
  105. package/dist/lib/shader-assembly/shader-plugin-varyings.js +412 -0
  106. package/dist/lib/shader-assembly/shader-plugin-varyings.js.map +1 -0
  107. package/dist/lib/shader-assembly/shader-plugin-vertex-inputs.cjs +254 -0
  108. package/dist/lib/shader-assembly/shader-plugin-vertex-inputs.d.ts +12 -0
  109. package/dist/lib/shader-assembly/shader-plugin-vertex-inputs.d.ts.map +1 -0
  110. package/dist/lib/shader-assembly/shader-plugin-vertex-inputs.js +237 -0
  111. package/dist/lib/shader-assembly/shader-plugin-vertex-inputs.js.map +1 -0
  112. package/dist/lib/shader-assembly/wgsl-binding-debug.cjs +166 -0
  113. package/dist/lib/shader-assembly/wgsl-binding-debug.d.ts +37 -0
  114. package/dist/lib/shader-assembly/wgsl-binding-debug.d.ts.map +1 -0
  115. package/dist/lib/shader-assembly/wgsl-binding-debug.js +144 -0
  116. package/dist/lib/shader-assembly/wgsl-binding-debug.js.map +1 -0
  117. package/dist/lib/shader-assembly/wgsl-binding-scan.cjs +184 -0
  118. package/dist/lib/shader-assembly/wgsl-binding-scan.d.ts +19 -0
  119. package/dist/lib/shader-assembly/wgsl-binding-scan.d.ts.map +1 -0
  120. package/dist/lib/shader-assembly/wgsl-binding-scan.js +151 -0
  121. package/dist/lib/shader-assembly/wgsl-binding-scan.js.map +1 -0
  122. package/dist/lib/shader-assembly/wgsl-interface-scan.cjs +502 -0
  123. package/dist/lib/shader-assembly/wgsl-interface-scan.d.ts +14 -0
  124. package/dist/lib/shader-assembly/wgsl-interface-scan.d.ts.map +1 -0
  125. package/dist/lib/shader-assembly/wgsl-interface-scan.js +498 -0
  126. package/dist/lib/shader-assembly/wgsl-interface-scan.js.map +1 -0
  127. package/dist/lib/shader-generator/generate-shader.cjs +36 -0
  128. package/dist/lib/shader-generator/generate-shader.d.ts +8 -0
  129. package/dist/lib/shader-generator/generate-shader.d.ts.map +1 -0
  130. package/dist/lib/shader-generator/generate-shader.js +15 -0
  131. package/dist/lib/shader-generator/generate-shader.js.map +1 -0
  132. package/dist/lib/shader-generator/glsl/generate-glsl.cjs +94 -0
  133. package/dist/lib/shader-generator/glsl/generate-glsl.d.ts +7 -0
  134. package/dist/lib/shader-generator/glsl/generate-glsl.d.ts.map +1 -0
  135. package/dist/lib/shader-generator/glsl/generate-glsl.js +79 -0
  136. package/dist/lib/shader-generator/glsl/generate-glsl.js.map +1 -0
  137. package/dist/lib/shader-generator/utils/capitalize.cjs +29 -0
  138. package/dist/lib/shader-generator/utils/capitalize.d.ts +7 -0
  139. package/dist/lib/shader-generator/utils/capitalize.d.ts.map +1 -0
  140. package/dist/lib/shader-generator/utils/capitalize.js +12 -0
  141. package/dist/lib/shader-generator/utils/capitalize.js.map +1 -0
  142. package/dist/lib/shader-generator/wgsl/generate-wgsl.cjs +46 -0
  143. package/dist/lib/shader-generator/wgsl/generate-wgsl.d.ts +7 -0
  144. package/dist/lib/shader-generator/wgsl/generate-wgsl.d.ts.map +1 -0
  145. package/dist/lib/shader-generator/wgsl/generate-wgsl.js +23 -0
  146. package/dist/lib/shader-generator/wgsl/generate-wgsl.js.map +1 -0
  147. package/dist/lib/shader-module/composite-shader-pass.cjs +15 -0
  148. package/dist/lib/shader-module/composite-shader-pass.d.ts +41 -0
  149. package/dist/lib/shader-module/composite-shader-pass.d.ts.map +1 -0
  150. package/dist/lib/shader-module/composite-shader-pass.js +5 -0
  151. package/dist/lib/shader-module/composite-shader-pass.js.map +1 -0
  152. package/dist/lib/shader-module/shader-module-dependencies.cjs +83 -0
  153. package/dist/lib/shader-module/shader-module-dependencies.d.ts +39 -0
  154. package/dist/lib/shader-module/shader-module-dependencies.d.ts.map +1 -0
  155. package/dist/lib/shader-module/shader-module-dependencies.js +103 -0
  156. package/dist/lib/shader-module/shader-module-dependencies.js.map +1 -0
  157. package/dist/lib/shader-module/shader-module-uniform-layout.cjs +224 -0
  158. package/dist/lib/shader-module/shader-module-uniform-layout.d.ts +91 -0
  159. package/dist/lib/shader-module/shader-module-uniform-layout.d.ts.map +1 -0
  160. package/dist/lib/shader-module/shader-module-uniform-layout.js +253 -0
  161. package/dist/lib/shader-module/shader-module-uniform-layout.js.map +1 -0
  162. package/dist/lib/shader-module/shader-module.cjs +105 -0
  163. package/dist/lib/shader-module/shader-module.d.ts +98 -0
  164. package/dist/lib/shader-module/shader-module.d.ts.map +1 -0
  165. package/dist/lib/shader-module/shader-module.js +104 -0
  166. package/dist/lib/shader-module/shader-module.js.map +1 -0
  167. package/dist/lib/shader-module/shader-pass.cjs +15 -0
  168. package/dist/lib/shader-module/shader-pass.d.ts +48 -0
  169. package/dist/lib/shader-module/shader-pass.d.ts.map +1 -0
  170. package/dist/lib/shader-module/shader-pass.js +5 -0
  171. package/dist/lib/shader-module/shader-pass.js.map +1 -0
  172. package/dist/lib/shader-plugin.cjs +117 -0
  173. package/dist/lib/shader-plugin.d.ts +68 -0
  174. package/dist/lib/shader-plugin.d.ts.map +1 -0
  175. package/dist/lib/shader-plugin.js +98 -0
  176. package/dist/lib/shader-plugin.js.map +1 -0
  177. package/dist/lib/shader-transpiler/shader-transpiler.cjs +15 -0
  178. package/dist/lib/shader-transpiler/shader-transpiler.d.ts +27 -0
  179. package/dist/lib/shader-transpiler/shader-transpiler.d.ts.map +1 -0
  180. package/dist/lib/shader-transpiler/shader-transpiler.js +5 -0
  181. package/dist/lib/shader-transpiler/shader-transpiler.js.map +1 -0
  182. package/dist/lib/shader-transpiler/transpile-glsl-shader.cjs +71 -0
  183. package/dist/lib/shader-transpiler/transpile-glsl-shader.d.ts +9 -0
  184. package/dist/lib/shader-transpiler/transpile-glsl-shader.d.ts.map +1 -0
  185. package/dist/lib/shader-transpiler/transpile-glsl-shader.js +69 -0
  186. package/dist/lib/shader-transpiler/transpile-glsl-shader.js.map +1 -0
  187. package/dist/lib/utils/assert.cjs +34 -0
  188. package/dist/lib/utils/assert.d.ts +2 -0
  189. package/dist/lib/utils/assert.d.ts.map +1 -0
  190. package/dist/lib/utils/assert.js +13 -0
  191. package/dist/lib/utils/assert.js.map +1 -0
  192. package/dist/lib/utils/uniform-types.cjs +15 -0
  193. package/dist/lib/utils/uniform-types.d.ts +18 -0
  194. package/dist/lib/utils/uniform-types.d.ts.map +1 -0
  195. package/dist/lib/utils/uniform-types.js +5 -0
  196. package/dist/lib/utils/uniform-types.js.map +1 -0
  197. package/dist/lib/wgsl-shader-assembler.cjs +99 -0
  198. package/dist/lib/wgsl-shader-assembler.d.ts +34 -0
  199. package/dist/lib/wgsl-shader-assembler.d.ts.map +1 -0
  200. package/dist/lib/wgsl-shader-assembler.js +84 -0
  201. package/dist/lib/wgsl-shader-assembler.js.map +1 -0
  202. package/dist/module-injectors.cjs +59 -0
  203. package/dist/module-injectors.d.ts +3 -0
  204. package/dist/module-injectors.d.ts.map +1 -0
  205. package/dist/module-injectors.js +31 -0
  206. package/dist/module-injectors.js.map +1 -0
  207. package/dist/modules/color/float-colors.cjs +275 -0
  208. package/dist/modules/color/float-colors.d.ts +132 -0
  209. package/dist/modules/color/float-colors.d.ts.map +1 -0
  210. package/dist/modules/color/float-colors.js +248 -0
  211. package/dist/modules/color/float-colors.js.map +1 -0
  212. package/dist/modules/engine/clip/clip.cjs +152 -0
  213. package/dist/modules/engine/clip/clip.d.ts +12 -0
  214. package/dist/modules/engine/clip/clip.d.ts.map +1 -0
  215. package/dist/modules/engine/clip/clip.js +129 -0
  216. package/dist/modules/engine/clip/clip.js.map +1 -0
  217. package/dist/modules/engine/filter/filter.cjs +111 -0
  218. package/dist/modules/engine/filter/filter.d.ts +12 -0
  219. package/dist/modules/engine/filter/filter.d.ts.map +1 -0
  220. package/dist/modules/engine/filter/filter.js +88 -0
  221. package/dist/modules/engine/filter/filter.js.map +1 -0
  222. package/dist/modules/engine/geometry/geometry.cjs +63 -0
  223. package/dist/modules/engine/geometry/geometry.d.ts +9 -0
  224. package/dist/modules/engine/geometry/geometry.d.ts.map +1 -0
  225. package/dist/modules/engine/geometry/geometry.js +42 -0
  226. package/dist/modules/engine/geometry/geometry.js.map +1 -0
  227. package/dist/modules/engine/gpu-animation/gpu-animation.cjs +255 -0
  228. package/dist/modules/engine/gpu-animation/gpu-animation.d.ts +34 -0
  229. package/dist/modules/engine/gpu-animation/gpu-animation.d.ts.map +1 -0
  230. package/dist/modules/engine/gpu-animation/gpu-animation.js +228 -0
  231. package/dist/modules/engine/gpu-animation/gpu-animation.js.map +1 -0
  232. package/dist/modules/engine/picking/picking.cjs +210 -0
  233. package/dist/modules/engine/picking/picking.d.ts +77 -0
  234. package/dist/modules/engine/picking/picking.d.ts.map +1 -0
  235. package/dist/modules/engine/picking/picking.js +198 -0
  236. package/dist/modules/engine/picking/picking.js.map +1 -0
  237. package/dist/modules/engine/project/project.cjs +138 -0
  238. package/dist/modules/engine/project/project.d.ts +39 -0
  239. package/dist/modules/engine/project/project.d.ts.map +1 -0
  240. package/dist/modules/engine/project/project.js +129 -0
  241. package/dist/modules/engine/project/project.js.map +1 -0
  242. package/dist/modules/engine/skin/skin.cjs +212 -0
  243. package/dist/modules/engine/skin/skin.d.ts +52 -0
  244. package/dist/modules/engine/skin/skin.d.ts.map +1 -0
  245. package/dist/modules/engine/skin/skin.js +179 -0
  246. package/dist/modules/engine/skin/skin.js.map +1 -0
  247. package/dist/modules/engine/transform/transform.cjs +72 -0
  248. package/dist/modules/engine/transform/transform.d.ts +6 -0
  249. package/dist/modules/engine/transform/transform.d.ts.map +1 -0
  250. package/dist/modules/engine/transform/transform.js +49 -0
  251. package/dist/modules/engine/transform/transform.js.map +1 -0
  252. package/dist/modules/geometry/path-dash/path-dash.cjs +93 -0
  253. package/dist/modules/geometry/path-dash/path-dash.d.ts +10 -0
  254. package/dist/modules/geometry/path-dash/path-dash.d.ts.map +1 -0
  255. package/dist/modules/geometry/path-dash/path-dash.js +66 -0
  256. package/dist/modules/geometry/path-dash/path-dash.js.map +1 -0
  257. package/dist/modules/geometry/pattern-fill/pattern-fill-shaders.cjs +117 -0
  258. package/dist/modules/geometry/pattern-fill/pattern-fill-shaders.d.ts +3 -0
  259. package/dist/modules/geometry/pattern-fill/pattern-fill-shaders.d.ts.map +1 -0
  260. package/dist/modules/geometry/pattern-fill/pattern-fill-shaders.js +87 -0
  261. package/dist/modules/geometry/pattern-fill/pattern-fill-shaders.js.map +1 -0
  262. package/dist/modules/geometry/pattern-fill/pattern-fill.cjs +64 -0
  263. package/dist/modules/geometry/pattern-fill/pattern-fill.d.ts +14 -0
  264. package/dist/modules/geometry/pattern-fill/pattern-fill.d.ts.map +1 -0
  265. package/dist/modules/geometry/pattern-fill/pattern-fill.js +43 -0
  266. package/dist/modules/geometry/pattern-fill/pattern-fill.js.map +1 -0
  267. package/dist/modules/geometry/point-glow/point-glow.cjs +104 -0
  268. package/dist/modules/geometry/point-glow/point-glow.d.ts +11 -0
  269. package/dist/modules/geometry/point-glow/point-glow.d.ts.map +1 -0
  270. package/dist/modules/geometry/point-glow/point-glow.js +77 -0
  271. package/dist/modules/geometry/point-glow/point-glow.js.map +1 -0
  272. package/dist/modules/geometry/precipitation/precipitation.cjs +122 -0
  273. package/dist/modules/geometry/precipitation/precipitation.d.ts +40 -0
  274. package/dist/modules/geometry/precipitation/precipitation.d.ts.map +1 -0
  275. package/dist/modules/geometry/precipitation/precipitation.js +95 -0
  276. package/dist/modules/geometry/precipitation/precipitation.js.map +1 -0
  277. package/dist/modules/geometry/sketch-stroke/sketch-stroke.cjs +158 -0
  278. package/dist/modules/geometry/sketch-stroke/sketch-stroke.d.ts +60 -0
  279. package/dist/modules/geometry/sketch-stroke/sketch-stroke.d.ts.map +1 -0
  280. package/dist/modules/geometry/sketch-stroke/sketch-stroke.js +137 -0
  281. package/dist/modules/geometry/sketch-stroke/sketch-stroke.js.map +1 -0
  282. package/dist/modules/geospatial/dggs/dggs-wgsl.cjs +2304 -0
  283. package/dist/modules/geospatial/dggs/dggs-wgsl.d.ts +3 -0
  284. package/dist/modules/geospatial/dggs/dggs-wgsl.d.ts.map +1 -0
  285. package/dist/modules/geospatial/dggs/dggs-wgsl.js +2283 -0
  286. package/dist/modules/geospatial/dggs/dggs-wgsl.js.map +1 -0
  287. package/dist/modules/geospatial/dggs/dggs.cjs +31 -0
  288. package/dist/modules/geospatial/dggs/dggs.d.ts +6 -0
  289. package/dist/modules/geospatial/dggs/dggs.d.ts.map +1 -0
  290. package/dist/modules/geospatial/dggs/dggs.js +10 -0
  291. package/dist/modules/geospatial/dggs/dggs.js.map +1 -0
  292. package/dist/modules/lighting/area-lighting/area-light-types.cjs +68 -0
  293. package/dist/modules/lighting/area-lighting/area-light-types.d.ts +34 -0
  294. package/dist/modules/lighting/area-lighting/area-light-types.d.ts.map +1 -0
  295. package/dist/modules/lighting/area-lighting/area-light-types.js +40 -0
  296. package/dist/modules/lighting/area-lighting/area-light-types.js.map +1 -0
  297. package/dist/modules/lighting/area-lighting/area-lighting-shaders.cjs +101 -0
  298. package/dist/modules/lighting/area-lighting/area-lighting-shaders.d.ts +3 -0
  299. package/dist/modules/lighting/area-lighting/area-lighting-shaders.d.ts.map +1 -0
  300. package/dist/modules/lighting/area-lighting/area-lighting-shaders.js +71 -0
  301. package/dist/modules/lighting/area-lighting/area-lighting-shaders.js.map +1 -0
  302. package/dist/modules/lighting/area-lighting/area-lighting.cjs +62 -0
  303. package/dist/modules/lighting/area-lighting/area-lighting.d.ts +89 -0
  304. package/dist/modules/lighting/area-lighting/area-lighting.d.ts.map +1 -0
  305. package/dist/modules/lighting/area-lighting/area-lighting.js +41 -0
  306. package/dist/modules/lighting/area-lighting/area-lighting.js.map +1 -0
  307. package/dist/modules/lighting/area-lighting/ltc-shaders.cjs +192 -0
  308. package/dist/modules/lighting/area-lighting/ltc-shaders.d.ts +3 -0
  309. package/dist/modules/lighting/area-lighting/ltc-shaders.d.ts.map +1 -0
  310. package/dist/modules/lighting/area-lighting/ltc-shaders.js +162 -0
  311. package/dist/modules/lighting/area-lighting/ltc-shaders.js.map +1 -0
  312. package/dist/modules/lighting/atmosphere/atmosphere.cjs +253 -0
  313. package/dist/modules/lighting/atmosphere/atmosphere.d.ts +45 -0
  314. package/dist/modules/lighting/atmosphere/atmosphere.d.ts.map +1 -0
  315. package/dist/modules/lighting/atmosphere/atmosphere.js +228 -0
  316. package/dist/modules/lighting/atmosphere/atmosphere.js.map +1 -0
  317. package/dist/modules/lighting/clouds/clouds.cjs +216 -0
  318. package/dist/modules/lighting/clouds/clouds.d.ts +58 -0
  319. package/dist/modules/lighting/clouds/clouds.d.ts.map +1 -0
  320. package/dist/modules/lighting/clouds/clouds.js +192 -0
  321. package/dist/modules/lighting/clouds/clouds.js.map +1 -0
  322. package/dist/modules/lighting/firefly/firefly.cjs +74 -0
  323. package/dist/modules/lighting/firefly/firefly.d.ts +36 -0
  324. package/dist/modules/lighting/firefly/firefly.d.ts.map +1 -0
  325. package/dist/modules/lighting/firefly/firefly.js +53 -0
  326. package/dist/modules/lighting/firefly/firefly.js.map +1 -0
  327. package/dist/modules/lighting/globe-clouds/globe-clouds.cjs +143 -0
  328. package/dist/modules/lighting/globe-clouds/globe-clouds.d.ts +53 -0
  329. package/dist/modules/lighting/globe-clouds/globe-clouds.d.ts.map +1 -0
  330. package/dist/modules/lighting/globe-clouds/globe-clouds.js +119 -0
  331. package/dist/modules/lighting/globe-clouds/globe-clouds.js.map +1 -0
  332. package/dist/modules/lighting/gouraud-material/gouraud-material.cjs +61 -0
  333. package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts +12 -0
  334. package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts.map +1 -0
  335. package/dist/modules/lighting/gouraud-material/gouraud-material.js +40 -0
  336. package/dist/modules/lighting/gouraud-material/gouraud-material.js.map +1 -0
  337. package/dist/modules/lighting/height-fog/height-fog-functions.cjs +139 -0
  338. package/dist/modules/lighting/height-fog/height-fog-functions.d.ts +14 -0
  339. package/dist/modules/lighting/height-fog/height-fog-functions.d.ts.map +1 -0
  340. package/dist/modules/lighting/height-fog/height-fog-functions.js +114 -0
  341. package/dist/modules/lighting/height-fog/height-fog-functions.js.map +1 -0
  342. package/dist/modules/lighting/height-fog/height-fog.cjs +104 -0
  343. package/dist/modules/lighting/height-fog/height-fog.d.ts +60 -0
  344. package/dist/modules/lighting/height-fog/height-fog.d.ts.map +1 -0
  345. package/dist/modules/lighting/height-fog/height-fog.js +77 -0
  346. package/dist/modules/lighting/height-fog/height-fog.js.map +1 -0
  347. package/dist/modules/lighting/ibl/ibl.cjs +63 -0
  348. package/dist/modules/lighting/ibl/ibl.d.ts +25 -0
  349. package/dist/modules/lighting/ibl/ibl.d.ts.map +1 -0
  350. package/dist/modules/lighting/ibl/ibl.js +33 -0
  351. package/dist/modules/lighting/ibl/ibl.js.map +1 -0
  352. package/dist/modules/lighting/lambert-material/lambert-material.cjs +54 -0
  353. package/dist/modules/lighting/lambert-material/lambert-material.d.ts +10 -0
  354. package/dist/modules/lighting/lambert-material/lambert-material.d.ts.map +1 -0
  355. package/dist/modules/lighting/lambert-material/lambert-material.js +33 -0
  356. package/dist/modules/lighting/lambert-material/lambert-material.js.map +1 -0
  357. package/dist/modules/lighting/lambert-material/lambert-shaders-glsl.cjs +88 -0
  358. package/dist/modules/lighting/lambert-material/lambert-shaders-glsl.d.ts +3 -0
  359. package/dist/modules/lighting/lambert-material/lambert-shaders-glsl.d.ts.map +1 -0
  360. package/dist/modules/lighting/lambert-material/lambert-shaders-glsl.js +60 -0
  361. package/dist/modules/lighting/lambert-material/lambert-shaders-glsl.js.map +1 -0
  362. package/dist/modules/lighting/lambert-material/lambert-shaders-wgsl.cjs +97 -0
  363. package/dist/modules/lighting/lambert-material/lambert-shaders-wgsl.d.ts +2 -0
  364. package/dist/modules/lighting/lambert-material/lambert-shaders-wgsl.d.ts.map +1 -0
  365. package/dist/modules/lighting/lambert-material/lambert-shaders-wgsl.js +73 -0
  366. package/dist/modules/lighting/lambert-material/lambert-shaders-wgsl.js.map +1 -0
  367. package/dist/modules/lighting/lights/lighting-glsl.cjs +116 -0
  368. package/dist/modules/lighting/lights/lighting-glsl.d.ts +2 -0
  369. package/dist/modules/lighting/lights/lighting-glsl.d.ts.map +1 -0
  370. package/dist/modules/lighting/lights/lighting-glsl.js +92 -0
  371. package/dist/modules/lighting/lights/lighting-glsl.js.map +1 -0
  372. package/dist/modules/lighting/lights/lighting-wgsl.cjs +115 -0
  373. package/dist/modules/lighting/lights/lighting-wgsl.d.ts +2 -0
  374. package/dist/modules/lighting/lights/lighting-wgsl.d.ts.map +1 -0
  375. package/dist/modules/lighting/lights/lighting-wgsl.js +91 -0
  376. package/dist/modules/lighting/lights/lighting-wgsl.js.map +1 -0
  377. package/dist/modules/lighting/lights/lighting.cjs +210 -0
  378. package/dist/modules/lighting/lights/lighting.d.ts +163 -0
  379. package/dist/modules/lighting/lights/lighting.d.ts.map +1 -0
  380. package/dist/modules/lighting/lights/lighting.js +208 -0
  381. package/dist/modules/lighting/lights/lighting.js.map +1 -0
  382. package/dist/modules/lighting/no-material/dirlight.cjs +112 -0
  383. package/dist/modules/lighting/no-material/dirlight.d.ts +33 -0
  384. package/dist/modules/lighting/no-material/dirlight.d.ts.map +1 -0
  385. package/dist/modules/lighting/no-material/dirlight.js +86 -0
  386. package/dist/modules/lighting/no-material/dirlight.js.map +1 -0
  387. package/dist/modules/lighting/pbr-material/pbr-material-glsl.cjs +1767 -0
  388. package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts +3 -0
  389. package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts.map +1 -0
  390. package/dist/modules/lighting/pbr-material/pbr-material-glsl.js +1745 -0
  391. package/dist/modules/lighting/pbr-material/pbr-material-glsl.js.map +1 -0
  392. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.cjs +2062 -0
  393. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts +3 -0
  394. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts.map +1 -0
  395. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.js +2040 -0
  396. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.js.map +1 -0
  397. package/dist/modules/lighting/pbr-material/pbr-material.cjs +315 -0
  398. package/dist/modules/lighting/pbr-material/pbr-material.d.ts +516 -0
  399. package/dist/modules/lighting/pbr-material/pbr-material.d.ts.map +1 -0
  400. package/dist/modules/lighting/pbr-material/pbr-material.js +292 -0
  401. package/dist/modules/lighting/pbr-material/pbr-material.js.map +1 -0
  402. package/dist/modules/lighting/pbr-material/pbr-projection.cjs +63 -0
  403. package/dist/modules/lighting/pbr-material/pbr-projection.d.ts +10 -0
  404. package/dist/modules/lighting/pbr-material/pbr-projection.d.ts.map +1 -0
  405. package/dist/modules/lighting/pbr-material/pbr-projection.js +37 -0
  406. package/dist/modules/lighting/pbr-material/pbr-projection.js.map +1 -0
  407. package/dist/modules/lighting/pbr-material/pbr-scene.cjs +109 -0
  408. package/dist/modules/lighting/pbr-material/pbr-scene.d.ts +52 -0
  409. package/dist/modules/lighting/pbr-material/pbr-scene.d.ts.map +1 -0
  410. package/dist/modules/lighting/pbr-material/pbr-scene.js +83 -0
  411. package/dist/modules/lighting/pbr-material/pbr-scene.js.map +1 -0
  412. package/dist/modules/lighting/phong-material/phong-material.cjs +61 -0
  413. package/dist/modules/lighting/phong-material/phong-material.d.ts +13 -0
  414. package/dist/modules/lighting/phong-material/phong-material.d.ts.map +1 -0
  415. package/dist/modules/lighting/phong-material/phong-material.js +40 -0
  416. package/dist/modules/lighting/phong-material/phong-material.js.map +1 -0
  417. package/dist/modules/lighting/phong-material/phong-shaders-glsl.cjs +100 -0
  418. package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts +3 -0
  419. package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts.map +1 -0
  420. package/dist/modules/lighting/phong-material/phong-shaders-glsl.js +72 -0
  421. package/dist/modules/lighting/phong-material/phong-shaders-glsl.js.map +1 -0
  422. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.cjs +153 -0
  423. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts +2 -0
  424. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts.map +1 -0
  425. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.js +129 -0
  426. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.js.map +1 -0
  427. package/dist/modules/lighting/surface-weather/surface-weather.cjs +199 -0
  428. package/dist/modules/lighting/surface-weather/surface-weather.d.ts +54 -0
  429. package/dist/modules/lighting/surface-weather/surface-weather.d.ts.map +1 -0
  430. package/dist/modules/lighting/surface-weather/surface-weather.js +175 -0
  431. package/dist/modules/lighting/surface-weather/surface-weather.js.map +1 -0
  432. package/dist/modules/lighting/water-material/river-water-material.cjs +56 -0
  433. package/dist/modules/lighting/water-material/river-water-material.d.ts +21 -0
  434. package/dist/modules/lighting/water-material/river-water-material.d.ts.map +1 -0
  435. package/dist/modules/lighting/water-material/river-water-material.js +36 -0
  436. package/dist/modules/lighting/water-material/river-water-material.js.map +1 -0
  437. package/dist/modules/lighting/water-material/river-water-shaders.cjs +261 -0
  438. package/dist/modules/lighting/water-material/river-water-shaders.d.ts +3 -0
  439. package/dist/modules/lighting/water-material/river-water-shaders.d.ts.map +1 -0
  440. package/dist/modules/lighting/water-material/river-water-shaders.js +233 -0
  441. package/dist/modules/lighting/water-material/river-water-shaders.js.map +1 -0
  442. package/dist/modules/lighting/water-material/water-material.cjs +188 -0
  443. package/dist/modules/lighting/water-material/water-material.d.ts +28 -0
  444. package/dist/modules/lighting/water-material/water-material.d.ts.map +1 -0
  445. package/dist/modules/lighting/water-material/water-material.js +179 -0
  446. package/dist/modules/lighting/water-material/water-material.js.map +1 -0
  447. package/dist/modules/lighting/water-material/water-shaders-glsl.cjs +260 -0
  448. package/dist/modules/lighting/water-material/water-shaders-glsl.d.ts +3 -0
  449. package/dist/modules/lighting/water-material/water-shaders-glsl.d.ts.map +1 -0
  450. package/dist/modules/lighting/water-material/water-shaders-glsl.js +232 -0
  451. package/dist/modules/lighting/water-material/water-shaders-glsl.js.map +1 -0
  452. package/dist/modules/lighting/water-material/water-shaders-wgsl.cjs +254 -0
  453. package/dist/modules/lighting/water-material/water-shaders-wgsl.d.ts +2 -0
  454. package/dist/modules/lighting/water-material/water-shaders-wgsl.d.ts.map +1 -0
  455. package/dist/modules/lighting/water-material/water-shaders-wgsl.js +230 -0
  456. package/dist/modules/lighting/water-material/water-shaders-wgsl.js.map +1 -0
  457. package/dist/modules/math/fp16/fp16-utils.cjs +112 -0
  458. package/dist/modules/math/fp16/fp16-utils.d.ts +13 -0
  459. package/dist/modules/math/fp16/fp16-utils.d.ts.map +1 -0
  460. package/dist/modules/math/fp16/fp16-utils.js +118 -0
  461. package/dist/modules/math/fp16/fp16-utils.js.map +1 -0
  462. package/dist/modules/math/fp32/fp32.cjs +310 -0
  463. package/dist/modules/math/fp32/fp32.d.ts +9 -0
  464. package/dist/modules/math/fp32/fp32.d.ts.map +1 -0
  465. package/dist/modules/math/fp32/fp32.js +288 -0
  466. package/dist/modules/math/fp32/fp32.js.map +1 -0
  467. package/dist/modules/math/fp64/fp64-arithmetic-glsl.cjs +229 -0
  468. package/dist/modules/math/fp64/fp64-arithmetic-glsl.d.ts +2 -0
  469. package/dist/modules/math/fp64/fp64-arithmetic-glsl.d.ts.map +1 -0
  470. package/dist/modules/math/fp64/fp64-arithmetic-glsl.js +205 -0
  471. package/dist/modules/math/fp64/fp64-arithmetic-glsl.js.map +1 -0
  472. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.cjs +144 -0
  473. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.d.ts +10 -0
  474. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.d.ts.map +1 -0
  475. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.js +128 -0
  476. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.js.map +1 -0
  477. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-integer.cjs +583 -0
  478. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-integer.d.ts +11 -0
  479. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-integer.d.ts.map +1 -0
  480. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-integer.js +563 -0
  481. package/dist/modules/math/fp64/fp64-arithmetic-wgsl-integer.js.map +1 -0
  482. package/dist/modules/math/fp64/fp64-arithmetic-wgsl.cjs +946 -0
  483. package/dist/modules/math/fp64/fp64-arithmetic-wgsl.d.ts +3 -0
  484. package/dist/modules/math/fp64/fp64-arithmetic-wgsl.d.ts.map +1 -0
  485. package/dist/modules/math/fp64/fp64-arithmetic-wgsl.js +923 -0
  486. package/dist/modules/math/fp64/fp64-arithmetic-wgsl.js.map +1 -0
  487. package/dist/modules/math/fp64/fp64-functions-glsl.cjs +699 -0
  488. package/dist/modules/math/fp64/fp64-functions-glsl.d.ts +2 -0
  489. package/dist/modules/math/fp64/fp64-functions-glsl.d.ts.map +1 -0
  490. package/dist/modules/math/fp64/fp64-functions-glsl.js +675 -0
  491. package/dist/modules/math/fp64/fp64-functions-glsl.js.map +1 -0
  492. package/dist/modules/math/fp64/fp64-functions-wgsl.cjs +180 -0
  493. package/dist/modules/math/fp64/fp64-functions-wgsl.d.ts +3 -0
  494. package/dist/modules/math/fp64/fp64-functions-wgsl.d.ts.map +1 -0
  495. package/dist/modules/math/fp64/fp64-functions-wgsl.js +157 -0
  496. package/dist/modules/math/fp64/fp64-functions-wgsl.js.map +1 -0
  497. package/dist/modules/math/fp64/fp64-utils.cjs +50 -0
  498. package/dist/modules/math/fp64/fp64-utils.d.ts +22 -0
  499. package/dist/modules/math/fp64/fp64-utils.d.ts.map +1 -0
  500. package/dist/modules/math/fp64/fp64-utils.js +42 -0
  501. package/dist/modules/math/fp64/fp64-utils.js.map +1 -0
  502. package/dist/modules/math/fp64/fp64.cjs +68 -0
  503. package/dist/modules/math/fp64/fp64.d.ts +24 -0
  504. package/dist/modules/math/fp64/fp64.d.ts.map +1 -0
  505. package/dist/modules/math/fp64/fp64.js +46 -0
  506. package/dist/modules/math/fp64/fp64.js.map +1 -0
  507. package/dist/modules/math/random/random.cjs +46 -0
  508. package/dist/modules/math/random/random.d.ts +7 -0
  509. package/dist/modules/math/random/random.d.ts.map +1 -0
  510. package/dist/modules/math/random/random.js +21 -0
  511. package/dist/modules/math/random/random.js.map +1 -0
  512. package/dist/modules/math/value-noise/value-noise.cjs +95 -0
  513. package/dist/modules/math/value-noise/value-noise.d.ts +7 -0
  514. package/dist/modules/math/value-noise/value-noise.d.ts.map +1 -0
  515. package/dist/modules/math/value-noise/value-noise.js +68 -0
  516. package/dist/modules/math/value-noise/value-noise.js.map +1 -0
  517. package/dist/modules/volume/volume-raymarch.cjs +107 -0
  518. package/dist/modules/volume/volume-raymarch.d.ts +6 -0
  519. package/dist/modules/volume/volume-raymarch.d.ts.map +1 -0
  520. package/dist/modules/volume/volume-raymarch.js +84 -0
  521. package/dist/modules/volume/volume-raymarch.js.map +1 -0
  522. package/dist/types/align-to.cjs +38 -0
  523. package/dist/types/align-to.d.ts +3 -0
  524. package/dist/types/align-to.d.ts.map +1 -0
  525. package/dist/types/align-to.js +13 -0
  526. package/dist/types/align-to.js.map +1 -0
  527. package/dist/types/primitive-data-types.cjs +15 -0
  528. package/dist/types/primitive-data-types.d.ts +7 -0
  529. package/dist/types/primitive-data-types.d.ts.map +1 -0
  530. package/dist/types/primitive-data-types.js +5 -0
  531. package/dist/types/primitive-data-types.js.map +1 -0
  532. package/dist/types/sampler-props.cjs +15 -0
  533. package/dist/types/sampler-props.d.ts +26 -0
  534. package/dist/types/sampler-props.d.ts.map +1 -0
  535. package/dist/types/sampler-props.js +5 -0
  536. package/dist/types/sampler-props.js.map +1 -0
  537. package/dist/types/shader-block-layout.cjs +184 -0
  538. package/dist/types/shader-block-layout.d.ts +72 -0
  539. package/dist/types/shader-block-layout.d.ts.map +1 -0
  540. package/dist/types/shader-block-layout.js +209 -0
  541. package/dist/types/shader-block-layout.js.map +1 -0
  542. package/dist/types/shader-layout.cjs +15 -0
  543. package/dist/types/shader-layout.d.ts +178 -0
  544. package/dist/types/shader-layout.d.ts.map +1 -0
  545. package/dist/types/shader-layout.js +5 -0
  546. package/dist/types/shader-layout.js.map +1 -0
  547. package/dist/types/shader-type-decoder.cjs +240 -0
  548. package/dist/types/shader-type-decoder.d.ts +41 -0
  549. package/dist/types/shader-type-decoder.d.ts.map +1 -0
  550. package/dist/types/shader-type-decoder.js +210 -0
  551. package/dist/types/shader-type-decoder.js.map +1 -0
  552. package/dist/types/shader-types.cjs +15 -0
  553. package/dist/types/shader-types.d.ts +101 -0
  554. package/dist/types/shader-types.d.ts.map +1 -0
  555. package/dist/types/shader-types.js +30 -0
  556. package/dist/types/shader-types.js.map +1 -0
  557. package/dist/types/texture-formats.cjs +15 -0
  558. package/dist/types/texture-formats.d.ts +24 -0
  559. package/dist/types/texture-formats.d.ts.map +1 -0
  560. package/dist/types/texture-formats.js +5 -0
  561. package/dist/types/texture-formats.js.map +1 -0
  562. package/dist/types.cjs +42 -0
  563. package/dist/types.cjs.map +6 -0
  564. package/dist/types.d.ts +14 -0
  565. package/dist/types.d.ts.map +1 -0
  566. package/dist/types.js +12 -0
  567. package/dist/types.js.map +1 -0
  568. package/dist/wgsl.cjs +39 -0
  569. package/dist/wgsl.cjs.map +6 -0
  570. package/dist/wgsl.d.ts +8 -0
  571. package/dist/wgsl.d.ts.map +1 -0
  572. package/dist/wgsl.js +9 -0
  573. package/dist/wgsl.js.map +1 -0
  574. package/package.json +65 -4
  575. package/src/glsl.ts +13 -0
  576. package/src/index.ts +259 -0
  577. package/src/lib/color/normalize-byte-colors.ts +57 -0
  578. package/src/lib/filters/prop-types.ts +150 -0
  579. package/src/lib/glsl-shader-assembler.ts +39 -0
  580. package/src/lib/glsl-utils/get-shader-info.ts +42 -0
  581. package/src/lib/glsl-utils/shader-utils.ts +110 -0
  582. package/src/lib/preprocessor/preprocessor.ts +132 -0
  583. package/src/lib/shader-assembler-base.ts +170 -0
  584. package/src/lib/shader-assembler.ts +7 -0
  585. package/src/lib/shader-assembly/assemble-glsl-shaders.ts +305 -0
  586. package/src/lib/shader-assembly/assemble-shaders.ts +13 -0
  587. package/src/lib/shader-assembly/assemble-wgsl-shaders.ts +801 -0
  588. package/src/lib/shader-assembly/platform-defines.ts +58 -0
  589. package/src/lib/shader-assembly/platform-info.ts +23 -0
  590. package/src/lib/shader-assembly/shader-assembly-shared.ts +95 -0
  591. package/src/lib/shader-assembly/shader-assembly-types.ts +142 -0
  592. package/src/lib/shader-assembly/shader-hooks.ts +141 -0
  593. package/src/lib/shader-assembly/shader-injections.ts +250 -0
  594. package/src/lib/shader-assembly/shader-plugin-varyings.ts +524 -0
  595. package/src/lib/shader-assembly/shader-plugin-vertex-inputs.ts +279 -0
  596. package/src/lib/shader-assembly/wgsl-binding-debug.ts +227 -0
  597. package/src/lib/shader-assembly/wgsl-binding-scan.ts +228 -0
  598. package/src/lib/shader-assembly/wgsl-interface-scan.ts +676 -0
  599. package/src/lib/shader-generator/generate-shader.ts +27 -0
  600. package/src/lib/shader-generator/glsl/generate-glsl.ts +101 -0
  601. package/src/lib/shader-generator/utils/capitalize.ts +12 -0
  602. package/src/lib/shader-generator/wgsl/generate-wgsl.ts +40 -0
  603. package/src/lib/shader-module/composite-shader-pass.ts +47 -0
  604. package/src/lib/shader-module/shader-module-dependencies.ts +128 -0
  605. package/src/lib/shader-module/shader-module-uniform-layout.ts +420 -0
  606. package/src/lib/shader-module/shader-module.ts +244 -0
  607. package/src/lib/shader-module/shader-pass.ts +69 -0
  608. package/src/lib/shader-plugin.ts +214 -0
  609. package/src/lib/shader-transpiler/shader-transpiler.ts +34 -0
  610. package/src/lib/shader-transpiler/transpile-glsl-shader.ts +78 -0
  611. package/src/lib/utils/assert.ts +13 -0
  612. package/src/lib/utils/uniform-types.ts +89 -0
  613. package/src/lib/wgsl-shader-assembler.ts +122 -0
  614. package/src/module-injectors.ts +32 -0
  615. package/src/modules/color/float-colors.ts +334 -0
  616. package/src/modules/engine/clip/clip.ts +149 -0
  617. package/src/modules/engine/filter/filter.ts +107 -0
  618. package/src/modules/engine/geometry/geometry.ts +45 -0
  619. package/src/modules/engine/gpu-animation/gpu-animation.ts +244 -0
  620. package/src/modules/engine/picking/README.md +88 -0
  621. package/src/modules/engine/picking/picking.ts +252 -0
  622. package/src/modules/engine/project/project.ts +166 -0
  623. package/src/modules/engine/skin/skin.ts +233 -0
  624. package/src/modules/engine/transform/transform.ts +50 -0
  625. package/src/modules/geometry/path-dash/path-dash.ts +68 -0
  626. package/src/modules/geometry/pattern-fill/pattern-fill-shaders.ts +88 -0
  627. package/src/modules/geometry/pattern-fill/pattern-fill.ts +54 -0
  628. package/src/modules/geometry/point-glow/point-glow.ts +87 -0
  629. package/src/modules/geometry/precipitation/README.md +19 -0
  630. package/src/modules/geometry/precipitation/precipitation.ts +108 -0
  631. package/src/modules/geometry/sketch-stroke/sketch-stroke.ts +160 -0
  632. package/src/modules/geospatial/dggs/dggs-wgsl.ts +2284 -0
  633. package/src/modules/geospatial/dggs/dggs.ts +12 -0
  634. package/src/modules/lighting/area-lighting/area-light-types.ts +71 -0
  635. package/src/modules/lighting/area-lighting/area-lighting-shaders.ts +72 -0
  636. package/src/modules/lighting/area-lighting/area-lighting.ts +63 -0
  637. package/src/modules/lighting/area-lighting/ltc-shaders.ts +163 -0
  638. package/src/modules/lighting/atmosphere/README.md +25 -0
  639. package/src/modules/lighting/atmosphere/atmosphere.ts +246 -0
  640. package/src/modules/lighting/clouds/README.md +24 -0
  641. package/src/modules/lighting/clouds/clouds.ts +216 -0
  642. package/src/modules/lighting/firefly/firefly.ts +64 -0
  643. package/src/modules/lighting/globe-clouds/globe-clouds.ts +124 -0
  644. package/src/modules/lighting/gouraud-material/gouraud-material.ts +55 -0
  645. package/src/modules/lighting/height-fog/README.md +36 -0
  646. package/src/modules/lighting/height-fog/height-fog-functions.ts +116 -0
  647. package/src/modules/lighting/height-fog/height-fog.ts +96 -0
  648. package/src/modules/lighting/ibl/ibl.ts +43 -0
  649. package/src/modules/lighting/lambert-material/lambert-material.ts +42 -0
  650. package/src/modules/lighting/lambert-material/lambert-shaders-glsl.ts +61 -0
  651. package/src/modules/lighting/lambert-material/lambert-shaders-wgsl.ts +73 -0
  652. package/src/modules/lighting/lights/lighting-glsl.ts +92 -0
  653. package/src/modules/lighting/lights/lighting-wgsl.ts +91 -0
  654. package/src/modules/lighting/lights/lighting.ts +385 -0
  655. package/src/modules/lighting/no-material/dirlight.ts +101 -0
  656. package/src/modules/lighting/pbr-material/pbr-material-glsl.ts +1748 -0
  657. package/src/modules/lighting/pbr-material/pbr-material-wgsl.ts +2043 -0
  658. package/src/modules/lighting/pbr-material/pbr-material.ts +517 -0
  659. package/src/modules/lighting/pbr-material/pbr-projection.ts +50 -0
  660. package/src/modules/lighting/pbr-material/pbr-scene.ts +112 -0
  661. package/src/modules/lighting/phong-material/phong-material.ts +53 -0
  662. package/src/modules/lighting/phong-material/phong-shaders-glsl.ts +73 -0
  663. package/src/modules/lighting/phong-material/phong-shaders-wgsl.ts +129 -0
  664. package/src/modules/lighting/surface-weather/README.md +28 -0
  665. package/src/modules/lighting/surface-weather/surface-weather.ts +198 -0
  666. package/src/modules/lighting/water-material/river-water-material.ts +58 -0
  667. package/src/modules/lighting/water-material/river-water-shaders.ts +234 -0
  668. package/src/modules/lighting/water-material/water-material.ts +234 -0
  669. package/src/modules/lighting/water-material/water-shaders-glsl.ts +233 -0
  670. package/src/modules/lighting/water-material/water-shaders-wgsl.ts +230 -0
  671. package/src/modules/math/fp16/fp16-utils.ts +156 -0
  672. package/src/modules/math/fp32/fp32.ts +291 -0
  673. package/src/modules/math/fp64/fp64-arithmetic-glsl.ts +205 -0
  674. package/src/modules/math/fp64/fp64-arithmetic-wgsl-hybrid.ts +129 -0
  675. package/src/modules/math/fp64/fp64-arithmetic-wgsl-integer.ts +564 -0
  676. package/src/modules/math/fp64/fp64-arithmetic-wgsl.ts +924 -0
  677. package/src/modules/math/fp64/fp64-functions-glsl.ts +675 -0
  678. package/src/modules/math/fp64/fp64-functions-wgsl.ts +157 -0
  679. package/src/modules/math/fp64/fp64-utils.ts +46 -0
  680. package/src/modules/math/fp64/fp64.ts +64 -0
  681. package/src/modules/math/random/random.ts +25 -0
  682. package/src/modules/math/value-noise/value-noise.ts +70 -0
  683. package/src/modules/volume/volume-raymarch.ts +87 -0
  684. package/src/types/align-to.ts +13 -0
  685. package/src/types/primitive-data-types.ts +10 -0
  686. package/src/types/sampler-props.ts +39 -0
  687. package/src/types/shader-block-layout.ts +340 -0
  688. package/src/types/shader-layout.ts +208 -0
  689. package/src/types/shader-type-decoder.ts +285 -0
  690. package/src/types/shader-types.ts +207 -0
  691. package/src/types/texture-formats.ts +155 -0
  692. package/src/types.ts +48 -0
  693. package/src/wgsl.ts +23 -0
@@ -0,0 +1,3 @@
1
+ export declare const WATER_VS = "layout(std140) uniform waterMaterialUniforms {\n uniform float time;\n uniform vec3 baseColor;\n uniform float opacity;\n uniform vec3 fresnelColor;\n uniform float fresnelPower;\n uniform float specularIntensity;\n uniform float normalStrength;\n uniform int mappingMode;\n uniform vec2 coordinateScale;\n uniform vec2 coordinateOffset;\n uniform vec2 waveADirection;\n uniform float waveASpeed;\n uniform float waveAFrequency;\n uniform float waveAAmplitude;\n uniform vec2 waveBDirection;\n uniform float waveBSpeed;\n uniform float waveBFrequency;\n uniform float waveBAmplitude;\n} waterMaterial;\n";
2
+ export declare const WATER_FS = "layout(std140) uniform waterMaterialUniforms {\n uniform float time;\n uniform vec3 baseColor;\n uniform float opacity;\n uniform vec3 fresnelColor;\n uniform float fresnelPower;\n uniform float specularIntensity;\n uniform float normalStrength;\n uniform int mappingMode;\n uniform vec2 coordinateScale;\n uniform vec2 coordinateOffset;\n uniform vec2 waveADirection;\n uniform float waveASpeed;\n uniform float waveAFrequency;\n uniform float waveAAmplitude;\n uniform vec2 waveBDirection;\n uniform float waveBSpeed;\n uniform float waveBFrequency;\n uniform float waveBAmplitude;\n} waterMaterial;\n\nvec2 water_getDirection(vec2 direction) {\n float directionLength = length(direction);\n return directionLength > 0.0 ? direction / directionLength : vec2(1.0, 0.0);\n}\n\nvec2 water_getCoordinates(vec3 position_worldspace, vec3 position_objectspace, vec2 uv) {\n vec2 baseCoordinates = uv;\n if (waterMaterial.mappingMode == 1) {\n baseCoordinates = position_worldspace.xz;\n } else if (waterMaterial.mappingMode == 2) {\n vec3 globeDirection = normalize(position_objectspace);\n float longitude = atan(globeDirection.x, globeDirection.z);\n float latitude = asin(clamp(globeDirection.y, -1.0, 1.0));\n baseCoordinates = vec2(longitude, latitude);\n }\n return baseCoordinates * waterMaterial.coordinateScale + waterMaterial.coordinateOffset;\n}\n\nvec2 water_getWaveGradient(\n vec2 coordinates,\n vec2 direction,\n float speed,\n float frequency,\n float amplitude\n) {\n vec2 normalizedDirection = water_getDirection(direction);\n float phase = dot(coordinates * frequency, normalizedDirection) + waterMaterial.time * speed;\n return cos(phase) * normalizedDirection * frequency * amplitude;\n}\n\nvec3 water_getTangent(vec3 normal_worldspace) {\n vec3 referenceAxis = abs(normal_worldspace.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(0.0, 1.0, 0.0);\n return normalize(cross(referenceAxis, normal_worldspace));\n}\n\nvec3 water_getNormal(\n vec3 position_worldspace,\n vec3 position_objectspace,\n vec3 normal_worldspace,\n vec2 uv\n) {\n vec2 coordinates = water_getCoordinates(position_worldspace, position_objectspace, uv);\n vec2 gradient =\n water_getWaveGradient(\n coordinates,\n waterMaterial.waveADirection,\n waterMaterial.waveASpeed,\n waterMaterial.waveAFrequency,\n waterMaterial.waveAAmplitude\n ) +\n water_getWaveGradient(\n coordinates,\n waterMaterial.waveBDirection,\n waterMaterial.waveBSpeed,\n waterMaterial.waveBFrequency,\n waterMaterial.waveBAmplitude\n );\n\n vec3 tangent = water_getTangent(normal_worldspace);\n vec3 bitangent = normalize(cross(normal_worldspace, tangent));\n vec3 perturbation =\n waterMaterial.normalStrength * (gradient.x * tangent + gradient.y * bitangent);\n\n return normalize(normal_worldspace + perturbation);\n}\n\nvec3 water_getSpecularContribution(\n vec3 light_direction,\n vec3 view_direction,\n vec3 normal_worldspace,\n vec3 light_color,\n float fresnel\n) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float specular =\n pow(max(dot(normal_worldspace, halfway_direction), 0.0), 72.0) *\n waterMaterial.specularIntensity *\n (0.25 + 0.75 * fresnel);\n\n return waterMaterial.fresnelColor * light_color * specular;\n}\n\nvec4 water_getColorMapped(\n vec3 cameraPosition,\n vec3 position_worldspace,\n vec3 position_objectspace,\n vec3 normal_worldspace,\n vec2 uv\n) {\n vec3 waterNormal = water_getNormal(\n position_worldspace,\n position_objectspace,\n normalize(normal_worldspace),\n uv\n );\n vec3 viewDirection = normalize(cameraPosition - position_worldspace);\n float fresnel =\n pow(\n 1.0 - max(dot(viewDirection, waterNormal), 0.0),\n max(waterMaterial.fresnelPower, 0.0001)\n );\n vec3 surfaceColor = mix(\n waterMaterial.baseColor,\n waterMaterial.fresnelColor,\n clamp(fresnel * 0.6, 0.0, 1.0)\n );\n\n if (lighting.enabled == 0) {\n return vec4(surfaceColor, waterMaterial.opacity);\n }\n\n vec3 lightColor = surfaceColor * (0.15 + 0.85 * lighting.ambientColor);\n\n for (int i = 0; i < lighting.pointLightCount; i++) {\n PointLight pointLight = lighting_getPointLight(i);\n vec3 lightPosition = pointLight.position;\n vec3 lightDirection = normalize(lightPosition - position_worldspace);\n float attenuation =\n getPointLightAttenuation(pointLight, distance(lightPosition, position_worldspace));\n vec3 incidentLight = pointLight.color / attenuation;\n float diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * incidentLight * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n incidentLight,\n fresnel\n );\n }\n\n for (int i = 0; i < lighting.spotLightCount; i++) {\n SpotLight spotLight = lighting_getSpotLight(i);\n vec3 lightPosition = spotLight.position;\n vec3 lightDirection = normalize(lightPosition - position_worldspace);\n float attenuation = getSpotLightAttenuation(spotLight, position_worldspace);\n vec3 incidentLight = spotLight.color / attenuation;\n float diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * incidentLight * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n incidentLight,\n fresnel\n );\n }\n\n for (int i = 0; i < lighting.directionalLightCount; i++) {\n DirectionalLight directionalLight = lighting_getDirectionalLight(i);\n vec3 lightDirection = normalize(-directionalLight.direction);\n float diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * directionalLight.color * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n directionalLight.color,\n fresnel\n );\n }\n\n lightColor = mix(lightColor, waterMaterial.fresnelColor, clamp(fresnel, 0.0, 1.0) * 0.35);\n return vec4(lightColor, waterMaterial.opacity);\n}\n\nvec4 water_getColor(\n vec3 cameraPosition,\n vec3 position_worldspace,\n vec3 normal_worldspace,\n vec2 uv\n) {\n return water_getColorMapped(\n cameraPosition,\n position_worldspace,\n position_worldspace,\n normal_worldspace,\n uv\n );\n}\n";
3
+ //# sourceMappingURL=water-shaders-glsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"water-shaders-glsl.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/water-material/water-shaders-glsl.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,knBAqBpB,CAAC;AAEF,eAAO,MAAM,QAAQ,m0MA6MpB,CAAC"}
@@ -0,0 +1,232 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ export const WATER_VS = /* glsl */ `\
5
+ layout(std140) uniform waterMaterialUniforms {
6
+ uniform float time;
7
+ uniform vec3 baseColor;
8
+ uniform float opacity;
9
+ uniform vec3 fresnelColor;
10
+ uniform float fresnelPower;
11
+ uniform float specularIntensity;
12
+ uniform float normalStrength;
13
+ uniform int mappingMode;
14
+ uniform vec2 coordinateScale;
15
+ uniform vec2 coordinateOffset;
16
+ uniform vec2 waveADirection;
17
+ uniform float waveASpeed;
18
+ uniform float waveAFrequency;
19
+ uniform float waveAAmplitude;
20
+ uniform vec2 waveBDirection;
21
+ uniform float waveBSpeed;
22
+ uniform float waveBFrequency;
23
+ uniform float waveBAmplitude;
24
+ } waterMaterial;
25
+ `;
26
+ export const WATER_FS = /* glsl */ `\
27
+ layout(std140) uniform waterMaterialUniforms {
28
+ uniform float time;
29
+ uniform vec3 baseColor;
30
+ uniform float opacity;
31
+ uniform vec3 fresnelColor;
32
+ uniform float fresnelPower;
33
+ uniform float specularIntensity;
34
+ uniform float normalStrength;
35
+ uniform int mappingMode;
36
+ uniform vec2 coordinateScale;
37
+ uniform vec2 coordinateOffset;
38
+ uniform vec2 waveADirection;
39
+ uniform float waveASpeed;
40
+ uniform float waveAFrequency;
41
+ uniform float waveAAmplitude;
42
+ uniform vec2 waveBDirection;
43
+ uniform float waveBSpeed;
44
+ uniform float waveBFrequency;
45
+ uniform float waveBAmplitude;
46
+ } waterMaterial;
47
+
48
+ vec2 water_getDirection(vec2 direction) {
49
+ float directionLength = length(direction);
50
+ return directionLength > 0.0 ? direction / directionLength : vec2(1.0, 0.0);
51
+ }
52
+
53
+ vec2 water_getCoordinates(vec3 position_worldspace, vec3 position_objectspace, vec2 uv) {
54
+ vec2 baseCoordinates = uv;
55
+ if (waterMaterial.mappingMode == 1) {
56
+ baseCoordinates = position_worldspace.xz;
57
+ } else if (waterMaterial.mappingMode == 2) {
58
+ vec3 globeDirection = normalize(position_objectspace);
59
+ float longitude = atan(globeDirection.x, globeDirection.z);
60
+ float latitude = asin(clamp(globeDirection.y, -1.0, 1.0));
61
+ baseCoordinates = vec2(longitude, latitude);
62
+ }
63
+ return baseCoordinates * waterMaterial.coordinateScale + waterMaterial.coordinateOffset;
64
+ }
65
+
66
+ vec2 water_getWaveGradient(
67
+ vec2 coordinates,
68
+ vec2 direction,
69
+ float speed,
70
+ float frequency,
71
+ float amplitude
72
+ ) {
73
+ vec2 normalizedDirection = water_getDirection(direction);
74
+ float phase = dot(coordinates * frequency, normalizedDirection) + waterMaterial.time * speed;
75
+ return cos(phase) * normalizedDirection * frequency * amplitude;
76
+ }
77
+
78
+ vec3 water_getTangent(vec3 normal_worldspace) {
79
+ vec3 referenceAxis = abs(normal_worldspace.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(0.0, 1.0, 0.0);
80
+ return normalize(cross(referenceAxis, normal_worldspace));
81
+ }
82
+
83
+ vec3 water_getNormal(
84
+ vec3 position_worldspace,
85
+ vec3 position_objectspace,
86
+ vec3 normal_worldspace,
87
+ vec2 uv
88
+ ) {
89
+ vec2 coordinates = water_getCoordinates(position_worldspace, position_objectspace, uv);
90
+ vec2 gradient =
91
+ water_getWaveGradient(
92
+ coordinates,
93
+ waterMaterial.waveADirection,
94
+ waterMaterial.waveASpeed,
95
+ waterMaterial.waveAFrequency,
96
+ waterMaterial.waveAAmplitude
97
+ ) +
98
+ water_getWaveGradient(
99
+ coordinates,
100
+ waterMaterial.waveBDirection,
101
+ waterMaterial.waveBSpeed,
102
+ waterMaterial.waveBFrequency,
103
+ waterMaterial.waveBAmplitude
104
+ );
105
+
106
+ vec3 tangent = water_getTangent(normal_worldspace);
107
+ vec3 bitangent = normalize(cross(normal_worldspace, tangent));
108
+ vec3 perturbation =
109
+ waterMaterial.normalStrength * (gradient.x * tangent + gradient.y * bitangent);
110
+
111
+ return normalize(normal_worldspace + perturbation);
112
+ }
113
+
114
+ vec3 water_getSpecularContribution(
115
+ vec3 light_direction,
116
+ vec3 view_direction,
117
+ vec3 normal_worldspace,
118
+ vec3 light_color,
119
+ float fresnel
120
+ ) {
121
+ vec3 halfway_direction = normalize(light_direction + view_direction);
122
+ float specular =
123
+ pow(max(dot(normal_worldspace, halfway_direction), 0.0), 72.0) *
124
+ waterMaterial.specularIntensity *
125
+ (0.25 + 0.75 * fresnel);
126
+
127
+ return waterMaterial.fresnelColor * light_color * specular;
128
+ }
129
+
130
+ vec4 water_getColorMapped(
131
+ vec3 cameraPosition,
132
+ vec3 position_worldspace,
133
+ vec3 position_objectspace,
134
+ vec3 normal_worldspace,
135
+ vec2 uv
136
+ ) {
137
+ vec3 waterNormal = water_getNormal(
138
+ position_worldspace,
139
+ position_objectspace,
140
+ normalize(normal_worldspace),
141
+ uv
142
+ );
143
+ vec3 viewDirection = normalize(cameraPosition - position_worldspace);
144
+ float fresnel =
145
+ pow(
146
+ 1.0 - max(dot(viewDirection, waterNormal), 0.0),
147
+ max(waterMaterial.fresnelPower, 0.0001)
148
+ );
149
+ vec3 surfaceColor = mix(
150
+ waterMaterial.baseColor,
151
+ waterMaterial.fresnelColor,
152
+ clamp(fresnel * 0.6, 0.0, 1.0)
153
+ );
154
+
155
+ if (lighting.enabled == 0) {
156
+ return vec4(surfaceColor, waterMaterial.opacity);
157
+ }
158
+
159
+ vec3 lightColor = surfaceColor * (0.15 + 0.85 * lighting.ambientColor);
160
+
161
+ for (int i = 0; i < lighting.pointLightCount; i++) {
162
+ PointLight pointLight = lighting_getPointLight(i);
163
+ vec3 lightPosition = pointLight.position;
164
+ vec3 lightDirection = normalize(lightPosition - position_worldspace);
165
+ float attenuation =
166
+ getPointLightAttenuation(pointLight, distance(lightPosition, position_worldspace));
167
+ vec3 incidentLight = pointLight.color / attenuation;
168
+ float diffuse = max(dot(waterNormal, lightDirection), 0.0);
169
+
170
+ lightColor += surfaceColor * incidentLight * diffuse;
171
+ lightColor += water_getSpecularContribution(
172
+ lightDirection,
173
+ viewDirection,
174
+ waterNormal,
175
+ incidentLight,
176
+ fresnel
177
+ );
178
+ }
179
+
180
+ for (int i = 0; i < lighting.spotLightCount; i++) {
181
+ SpotLight spotLight = lighting_getSpotLight(i);
182
+ vec3 lightPosition = spotLight.position;
183
+ vec3 lightDirection = normalize(lightPosition - position_worldspace);
184
+ float attenuation = getSpotLightAttenuation(spotLight, position_worldspace);
185
+ vec3 incidentLight = spotLight.color / attenuation;
186
+ float diffuse = max(dot(waterNormal, lightDirection), 0.0);
187
+
188
+ lightColor += surfaceColor * incidentLight * diffuse;
189
+ lightColor += water_getSpecularContribution(
190
+ lightDirection,
191
+ viewDirection,
192
+ waterNormal,
193
+ incidentLight,
194
+ fresnel
195
+ );
196
+ }
197
+
198
+ for (int i = 0; i < lighting.directionalLightCount; i++) {
199
+ DirectionalLight directionalLight = lighting_getDirectionalLight(i);
200
+ vec3 lightDirection = normalize(-directionalLight.direction);
201
+ float diffuse = max(dot(waterNormal, lightDirection), 0.0);
202
+
203
+ lightColor += surfaceColor * directionalLight.color * diffuse;
204
+ lightColor += water_getSpecularContribution(
205
+ lightDirection,
206
+ viewDirection,
207
+ waterNormal,
208
+ directionalLight.color,
209
+ fresnel
210
+ );
211
+ }
212
+
213
+ lightColor = mix(lightColor, waterMaterial.fresnelColor, clamp(fresnel, 0.0, 1.0) * 0.35);
214
+ return vec4(lightColor, waterMaterial.opacity);
215
+ }
216
+
217
+ vec4 water_getColor(
218
+ vec3 cameraPosition,
219
+ vec3 position_worldspace,
220
+ vec3 normal_worldspace,
221
+ vec2 uv
222
+ ) {
223
+ return water_getColorMapped(
224
+ cameraPosition,
225
+ position_worldspace,
226
+ position_worldspace,
227
+ normal_worldspace,
228
+ uv
229
+ );
230
+ }
231
+ `;
232
+ //# sourceMappingURL=water-shaders-glsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"water-shaders-glsl.js","sourceRoot":"","sources":["../../../../src/modules/lighting/water-material/water-shaders-glsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;CAqBlC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6MlC,CAAC"}
@@ -0,0 +1,254 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var water_shaders_wgsl_exports = {};
19
+ __export(water_shaders_wgsl_exports, {
20
+ WATER_WGSL: () => WATER_WGSL
21
+ });
22
+ module.exports = __toCommonJS(water_shaders_wgsl_exports);
23
+ const WATER_WGSL = (
24
+ /* wgsl */
25
+ `struct waterMaterialUniforms {
26
+ time: f32,
27
+ baseColor: vec3<f32>,
28
+ opacity: f32,
29
+ fresnelColor: vec3<f32>,
30
+ fresnelPower: f32,
31
+ specularIntensity: f32,
32
+ normalStrength: f32,
33
+ mappingMode: i32,
34
+ coordinateScale: vec2<f32>,
35
+ coordinateOffset: vec2<f32>,
36
+ waveADirection: vec2<f32>,
37
+ waveASpeed: f32,
38
+ waveAFrequency: f32,
39
+ waveAAmplitude: f32,
40
+ waveBDirection: vec2<f32>,
41
+ waveBSpeed: f32,
42
+ waveBFrequency: f32,
43
+ waveBAmplitude: f32,
44
+ };
45
+
46
+ @group(3) @binding(auto) var<uniform> waterMaterial : waterMaterialUniforms;
47
+
48
+ fn water_getDirection(direction: vec2<f32>) -> vec2<f32> {
49
+ let directionLength = length(direction);
50
+ if (directionLength > 0.0) {
51
+ return direction / directionLength;
52
+ }
53
+
54
+ return vec2<f32>(1.0, 0.0);
55
+ }
56
+
57
+ fn water_getCoordinates(
58
+ position_worldspace: vec3<f32>,
59
+ position_objectspace: vec3<f32>,
60
+ uv: vec2<f32>
61
+ ) -> vec2<f32> {
62
+ var baseCoordinates = uv;
63
+ if (waterMaterial.mappingMode == 1) {
64
+ baseCoordinates = position_worldspace.xz;
65
+ } else if (waterMaterial.mappingMode == 2) {
66
+ let globeDirection = normalize(position_objectspace);
67
+ let longitude = atan2(globeDirection.x, globeDirection.z);
68
+ let latitude = asin(clamp(globeDirection.y, -1.0, 1.0));
69
+ baseCoordinates = vec2<f32>(longitude, latitude);
70
+ }
71
+
72
+ return baseCoordinates * waterMaterial.coordinateScale + waterMaterial.coordinateOffset;
73
+ }
74
+
75
+ fn water_getWaveGradient(
76
+ coordinates: vec2<f32>,
77
+ direction: vec2<f32>,
78
+ speed: f32,
79
+ frequency: f32,
80
+ amplitude: f32
81
+ ) -> vec2<f32> {
82
+ let normalizedDirection = water_getDirection(direction);
83
+ let phase = dot(coordinates * frequency, normalizedDirection) + waterMaterial.time * speed;
84
+ return cos(phase) * normalizedDirection * frequency * amplitude;
85
+ }
86
+
87
+ fn water_getTangent(normal_worldspace: vec3<f32>) -> vec3<f32> {
88
+ var referenceAxis = vec3<f32>(0.0, 0.0, 1.0);
89
+ if (abs(normal_worldspace.z) >= 0.999) {
90
+ referenceAxis = vec3<f32>(0.0, 1.0, 0.0);
91
+ }
92
+
93
+ return normalize(cross(referenceAxis, normal_worldspace));
94
+ }
95
+
96
+ fn water_getNormal(
97
+ position_worldspace: vec3<f32>,
98
+ position_objectspace: vec3<f32>,
99
+ normal_worldspace: vec3<f32>,
100
+ uv: vec2<f32>
101
+ ) -> vec3<f32> {
102
+ let coordinates = water_getCoordinates(position_worldspace, position_objectspace, uv);
103
+ let gradient =
104
+ water_getWaveGradient(
105
+ coordinates,
106
+ waterMaterial.waveADirection,
107
+ waterMaterial.waveASpeed,
108
+ waterMaterial.waveAFrequency,
109
+ waterMaterial.waveAAmplitude
110
+ ) +
111
+ water_getWaveGradient(
112
+ coordinates,
113
+ waterMaterial.waveBDirection,
114
+ waterMaterial.waveBSpeed,
115
+ waterMaterial.waveBFrequency,
116
+ waterMaterial.waveBAmplitude
117
+ );
118
+ let tangent = water_getTangent(normal_worldspace);
119
+ let bitangent = normalize(cross(normal_worldspace, tangent));
120
+ let perturbation =
121
+ waterMaterial.normalStrength * (gradient.x * tangent + gradient.y * bitangent);
122
+
123
+ return normalize(normal_worldspace + perturbation);
124
+ }
125
+
126
+ fn water_getSpecularContribution(
127
+ light_direction: vec3<f32>,
128
+ view_direction: vec3<f32>,
129
+ normal_worldspace: vec3<f32>,
130
+ light_color: vec3<f32>,
131
+ fresnel: f32
132
+ ) -> vec3<f32> {
133
+ let halfwayDirection = normalize(light_direction + view_direction);
134
+ let specular =
135
+ pow(max(dot(normal_worldspace, halfwayDirection), 0.0), 72.0) *
136
+ waterMaterial.specularIntensity *
137
+ (0.25 + 0.75 * fresnel);
138
+
139
+ return waterMaterial.fresnelColor * light_color * specular;
140
+ }
141
+
142
+ fn water_getColorMapped(
143
+ cameraPosition: vec3<f32>,
144
+ position_worldspace: vec3<f32>,
145
+ position_objectspace: vec3<f32>,
146
+ normal_worldspace: vec3<f32>,
147
+ uv: vec2<f32>
148
+ ) -> vec4<f32> {
149
+ let waterNormal = water_getNormal(
150
+ position_worldspace,
151
+ position_objectspace,
152
+ normalize(normal_worldspace),
153
+ uv
154
+ );
155
+ let viewDirection = normalize(cameraPosition - position_worldspace);
156
+ let fresnel =
157
+ pow(
158
+ 1.0 - max(dot(viewDirection, waterNormal), 0.0),
159
+ max(waterMaterial.fresnelPower, 0.0001)
160
+ );
161
+ let surfaceColor = mix(
162
+ waterMaterial.baseColor,
163
+ waterMaterial.fresnelColor,
164
+ clamp(fresnel * 0.6, 0.0, 1.0)
165
+ );
166
+
167
+ if (lighting.enabled == 0) {
168
+ return vec4<f32>(surfaceColor, waterMaterial.opacity);
169
+ }
170
+
171
+ var lightColor = surfaceColor * (0.15 + 0.85 * lighting.ambientColor);
172
+
173
+ for (var i: i32 = 0; i < lighting.pointLightCount; i++) {
174
+ let pointLight = lighting_getPointLight(i);
175
+ let lightPosition = pointLight.position;
176
+ let lightDirection = normalize(lightPosition - position_worldspace);
177
+ let attenuation = getPointLightAttenuation(
178
+ pointLight,
179
+ distance(lightPosition, position_worldspace)
180
+ );
181
+ let incidentLight = pointLight.color / attenuation;
182
+ let diffuse = max(dot(waterNormal, lightDirection), 0.0);
183
+
184
+ lightColor += surfaceColor * incidentLight * diffuse;
185
+ lightColor += water_getSpecularContribution(
186
+ lightDirection,
187
+ viewDirection,
188
+ waterNormal,
189
+ incidentLight,
190
+ fresnel
191
+ );
192
+ }
193
+
194
+ for (var i: i32 = 0; i < lighting.spotLightCount; i++) {
195
+ let spotLight = lighting_getSpotLight(i);
196
+ let lightPosition = spotLight.position;
197
+ let lightDirection = normalize(lightPosition - position_worldspace);
198
+ let attenuation = getSpotLightAttenuation(spotLight, position_worldspace);
199
+ let incidentLight = spotLight.color / attenuation;
200
+ let diffuse = max(dot(waterNormal, lightDirection), 0.0);
201
+
202
+ lightColor += surfaceColor * incidentLight * diffuse;
203
+ lightColor += water_getSpecularContribution(
204
+ lightDirection,
205
+ viewDirection,
206
+ waterNormal,
207
+ incidentLight,
208
+ fresnel
209
+ );
210
+ }
211
+
212
+ for (var i: i32 = 0; i < lighting.directionalLightCount; i++) {
213
+ let directionalLight = lighting_getDirectionalLight(i);
214
+ let lightDirection = normalize(-directionalLight.direction);
215
+ let diffuse = max(dot(waterNormal, lightDirection), 0.0);
216
+
217
+ lightColor += surfaceColor * directionalLight.color * diffuse;
218
+ lightColor += water_getSpecularContribution(
219
+ lightDirection,
220
+ viewDirection,
221
+ waterNormal,
222
+ directionalLight.color,
223
+ fresnel
224
+ );
225
+ }
226
+
227
+ lightColor = mix(
228
+ lightColor,
229
+ waterMaterial.fresnelColor,
230
+ clamp(fresnel, 0.0, 1.0) * 0.35
231
+ );
232
+ return vec4<f32>(lightColor, waterMaterial.opacity);
233
+ }
234
+
235
+ fn water_getColor(
236
+ cameraPosition: vec3<f32>,
237
+ position_worldspace: vec3<f32>,
238
+ normal_worldspace: vec3<f32>,
239
+ uv: vec2<f32>
240
+ ) -> vec4<f32> {
241
+ return water_getColorMapped(
242
+ cameraPosition,
243
+ position_worldspace,
244
+ position_worldspace,
245
+ normal_worldspace,
246
+ uv
247
+ );
248
+ }
249
+ `
250
+ );
251
+ // Annotate the CommonJS export names for ESM import in node:
252
+ 0 && (module.exports = {
253
+ WATER_WGSL
254
+ });
@@ -0,0 +1,2 @@
1
+ export declare const WATER_WGSL = "struct waterMaterialUniforms {\n time: f32,\n baseColor: vec3<f32>,\n opacity: f32,\n fresnelColor: vec3<f32>,\n fresnelPower: f32,\n specularIntensity: f32,\n normalStrength: f32,\n mappingMode: i32,\n coordinateScale: vec2<f32>,\n coordinateOffset: vec2<f32>,\n waveADirection: vec2<f32>,\n waveASpeed: f32,\n waveAFrequency: f32,\n waveAAmplitude: f32,\n waveBDirection: vec2<f32>,\n waveBSpeed: f32,\n waveBFrequency: f32,\n waveBAmplitude: f32,\n};\n\n@group(3) @binding(auto) var<uniform> waterMaterial : waterMaterialUniforms;\n\nfn water_getDirection(direction: vec2<f32>) -> vec2<f32> {\n let directionLength = length(direction);\n if (directionLength > 0.0) {\n return direction / directionLength;\n }\n\n return vec2<f32>(1.0, 0.0);\n}\n\nfn water_getCoordinates(\n position_worldspace: vec3<f32>,\n position_objectspace: vec3<f32>,\n uv: vec2<f32>\n) -> vec2<f32> {\n var baseCoordinates = uv;\n if (waterMaterial.mappingMode == 1) {\n baseCoordinates = position_worldspace.xz;\n } else if (waterMaterial.mappingMode == 2) {\n let globeDirection = normalize(position_objectspace);\n let longitude = atan2(globeDirection.x, globeDirection.z);\n let latitude = asin(clamp(globeDirection.y, -1.0, 1.0));\n baseCoordinates = vec2<f32>(longitude, latitude);\n }\n\n return baseCoordinates * waterMaterial.coordinateScale + waterMaterial.coordinateOffset;\n}\n\nfn water_getWaveGradient(\n coordinates: vec2<f32>,\n direction: vec2<f32>,\n speed: f32,\n frequency: f32,\n amplitude: f32\n) -> vec2<f32> {\n let normalizedDirection = water_getDirection(direction);\n let phase = dot(coordinates * frequency, normalizedDirection) + waterMaterial.time * speed;\n return cos(phase) * normalizedDirection * frequency * amplitude;\n}\n\nfn water_getTangent(normal_worldspace: vec3<f32>) -> vec3<f32> {\n var referenceAxis = vec3<f32>(0.0, 0.0, 1.0);\n if (abs(normal_worldspace.z) >= 0.999) {\n referenceAxis = vec3<f32>(0.0, 1.0, 0.0);\n }\n\n return normalize(cross(referenceAxis, normal_worldspace));\n}\n\nfn water_getNormal(\n position_worldspace: vec3<f32>,\n position_objectspace: vec3<f32>,\n normal_worldspace: vec3<f32>,\n uv: vec2<f32>\n) -> vec3<f32> {\n let coordinates = water_getCoordinates(position_worldspace, position_objectspace, uv);\n let gradient =\n water_getWaveGradient(\n coordinates,\n waterMaterial.waveADirection,\n waterMaterial.waveASpeed,\n waterMaterial.waveAFrequency,\n waterMaterial.waveAAmplitude\n ) +\n water_getWaveGradient(\n coordinates,\n waterMaterial.waveBDirection,\n waterMaterial.waveBSpeed,\n waterMaterial.waveBFrequency,\n waterMaterial.waveBAmplitude\n );\n let tangent = water_getTangent(normal_worldspace);\n let bitangent = normalize(cross(normal_worldspace, tangent));\n let perturbation =\n waterMaterial.normalStrength * (gradient.x * tangent + gradient.y * bitangent);\n\n return normalize(normal_worldspace + perturbation);\n}\n\nfn water_getSpecularContribution(\n light_direction: vec3<f32>,\n view_direction: vec3<f32>,\n normal_worldspace: vec3<f32>,\n light_color: vec3<f32>,\n fresnel: f32\n) -> vec3<f32> {\n let halfwayDirection = normalize(light_direction + view_direction);\n let specular =\n pow(max(dot(normal_worldspace, halfwayDirection), 0.0), 72.0) *\n waterMaterial.specularIntensity *\n (0.25 + 0.75 * fresnel);\n\n return waterMaterial.fresnelColor * light_color * specular;\n}\n\nfn water_getColorMapped(\n cameraPosition: vec3<f32>,\n position_worldspace: vec3<f32>,\n position_objectspace: vec3<f32>,\n normal_worldspace: vec3<f32>,\n uv: vec2<f32>\n) -> vec4<f32> {\n let waterNormal = water_getNormal(\n position_worldspace,\n position_objectspace,\n normalize(normal_worldspace),\n uv\n );\n let viewDirection = normalize(cameraPosition - position_worldspace);\n let fresnel =\n pow(\n 1.0 - max(dot(viewDirection, waterNormal), 0.0),\n max(waterMaterial.fresnelPower, 0.0001)\n );\n let surfaceColor = mix(\n waterMaterial.baseColor,\n waterMaterial.fresnelColor,\n clamp(fresnel * 0.6, 0.0, 1.0)\n );\n\n if (lighting.enabled == 0) {\n return vec4<f32>(surfaceColor, waterMaterial.opacity);\n }\n\n var lightColor = surfaceColor * (0.15 + 0.85 * lighting.ambientColor);\n\n for (var i: i32 = 0; i < lighting.pointLightCount; i++) {\n let pointLight = lighting_getPointLight(i);\n let lightPosition = pointLight.position;\n let lightDirection = normalize(lightPosition - position_worldspace);\n let attenuation = getPointLightAttenuation(\n pointLight,\n distance(lightPosition, position_worldspace)\n );\n let incidentLight = pointLight.color / attenuation;\n let diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * incidentLight * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n incidentLight,\n fresnel\n );\n }\n\n for (var i: i32 = 0; i < lighting.spotLightCount; i++) {\n let spotLight = lighting_getSpotLight(i);\n let lightPosition = spotLight.position;\n let lightDirection = normalize(lightPosition - position_worldspace);\n let attenuation = getSpotLightAttenuation(spotLight, position_worldspace);\n let incidentLight = spotLight.color / attenuation;\n let diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * incidentLight * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n incidentLight,\n fresnel\n );\n }\n\n for (var i: i32 = 0; i < lighting.directionalLightCount; i++) {\n let directionalLight = lighting_getDirectionalLight(i);\n let lightDirection = normalize(-directionalLight.direction);\n let diffuse = max(dot(waterNormal, lightDirection), 0.0);\n\n lightColor += surfaceColor * directionalLight.color * diffuse;\n lightColor += water_getSpecularContribution(\n lightDirection,\n viewDirection,\n waterNormal,\n directionalLight.color,\n fresnel\n );\n }\n\n lightColor = mix(\n lightColor,\n waterMaterial.fresnelColor,\n clamp(fresnel, 0.0, 1.0) * 0.35\n );\n return vec4<f32>(lightColor, waterMaterial.opacity);\n}\n\nfn water_getColor(\n cameraPosition: vec3<f32>,\n position_worldspace: vec3<f32>,\n normal_worldspace: vec3<f32>,\n uv: vec2<f32>\n) -> vec4<f32> {\n return water_getColorMapped(\n cameraPosition,\n position_worldspace,\n position_worldspace,\n normal_worldspace,\n uv\n );\n}\n";
2
+ //# sourceMappingURL=water-shaders-wgsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"water-shaders-wgsl.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/water-material/water-shaders-wgsl.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,sjNAiOtB,CAAC"}