@driftengine/core 4.11.1 → 4.12.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 (46) hide show
  1. package/CHANGELOG.json +36 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.ts +2 -0
  4. package/dist/render/backend/webgl2/renderer.d.ts +16 -1
  5. package/dist/render/backend/webgl2/renderer.js +41 -2
  6. package/dist/render/backend/webgpu/renderer.d.ts +2 -0
  7. package/dist/render/backend/webgpu/renderer.js +9 -0
  8. package/dist/render/shaders/flat/areaLight.d.ts +1 -1
  9. package/dist/render/shaders/flat/areaLight.js +1 -1
  10. package/dist/render/shaders/flat/glassTint.d.ts +1 -1
  11. package/dist/render/shaders/flat/glassTint.js +1 -0
  12. package/dist/render/shaders/flat/index.d.ts +5 -0
  13. package/dist/render/shaders/flat/index.js +1 -1
  14. package/dist/render/shaders/flat/layerLooks.d.ts +16 -0
  15. package/dist/render/shaders/flat/layerLooks.js +116 -0
  16. package/dist/render/shaders/flat/layered.d.ts +6 -4
  17. package/dist/render/shaders/flat/layered.js +62 -13
  18. package/dist/render/shaders/flat/main.d.ts +1 -1
  19. package/dist/render/shaders/flat/main.js +7 -2
  20. package/dist/render/shaders/flat/models.js +1 -1
  21. package/dist/render/shaders/flat/preamble.js +6 -0
  22. package/dist/render/shaders/generated/flat.wgsl.d.ts +144 -16
  23. package/dist/render/shaders/generated/flat.wgsl.js +183 -55
  24. package/dist/render/surfaceLayerLooks.d.ts +80 -0
  25. package/dist/render/surfaceLayerLooks.js +83 -0
  26. package/dist/render/surfaceLayers.d.ts +47 -6
  27. package/dist/render/surfaceLayers.js +5 -1
  28. package/package.json +6 -6
  29. package/scripts/browser.d.mts +5 -0
  30. package/scripts/browser.mjs +68 -14
  31. package/scripts/look.d.mts +81 -0
  32. package/scripts/look.mjs +380 -0
  33. package/src/index.ts +2 -0
  34. package/src/render/backend/webgl2/renderer.ts +40 -2
  35. package/src/render/backend/webgpu/renderer.ts +8 -0
  36. package/src/render/shaders/flat/areaLight.ts +1 -1
  37. package/src/render/shaders/flat/glassTint.ts +3 -1
  38. package/src/render/shaders/flat/index.ts +6 -1
  39. package/src/render/shaders/flat/layerLooks.ts +116 -0
  40. package/src/render/shaders/flat/layered.ts +63 -13
  41. package/src/render/shaders/flat/main.ts +7 -2
  42. package/src/render/shaders/flat/models.ts +1 -1
  43. package/src/render/shaders/flat/preamble.ts +6 -0
  44. package/src/render/shaders/generated/flat.wgsl.ts +183 -55
  45. package/src/render/surfaceLayerLooks.ts +155 -0
  46. package/src/render/surfaceLayers.ts +52 -7
@@ -17,6 +17,9 @@ export const MAIN_GLSL = `void main() {
17
17
  projectSurface(surfaceAt, frameAt, frameTangents);
18
18
  /* A layered material's mask, read once for every layer's share below: layered.ts. */
19
19
  if (LAYERED && layered()) layeredBegin();
20
+ /* And the specular every highlight below reads: its layers' own, where a material gives them. */
21
+ surfaceSpecular = vSpecular;
22
+ if (LAYERED && layered()) surfaceSpecular = layeredSpecular(vSpecular);
20
23
  if (dot(vec4(vWorldPos, 1.0), uClipPlane) < 0.0) discard;
21
24
  /*
22
25
  * The layer's surface effects, zeros where the albedo array carries no table — see
@@ -510,6 +513,8 @@ export const MAIN_GLSL = `void main() {
510
513
  #endif
511
514
  /* A draw's own ambient, where one is set, in place of the frame's: \`setAmbientSH\`. */
512
515
  if (uAmbientSH[6].w > 0.5) ambient = ambientHarmonics(n);
516
+ /* Less of it where a layered material's mesh occlusion darkens the ambient light: layered.ts. */
517
+ if (LAYERED && layered()) ambient *= layeredAmbient();
513
518
  /*
514
519
  * A metal keeps its ambient and loses its direct diffuse.
515
520
  *
@@ -563,7 +568,7 @@ export const MAIN_GLSL = `void main() {
563
568
  * mix(x, y, 0) is exactly x, so at metal 0 this is vec3(vSpecular) and the line below is the
564
569
  * one it replaces with the scalar broadened to three components.
565
570
  */
566
- vec3 specColor = mix(vec3(vSpecular), albedo, metal);
571
+ vec3 specColor = mix(vec3(surfaceSpecular), albedo, metal);
567
572
  /*
568
573
  * **A metal's highlight goes white at a grazing angle, and that is most of what reads as
569
574
  * polished.**
@@ -1656,7 +1661,7 @@ export const MAIN_GLSL = `void main() {
1656
1661
  * any lamp in the scene. The condition is the old one exactly when metal is 0, so nothing
1657
1662
  * that binds no map takes a different branch than it took before.
1658
1663
  */
1659
- if (vSpecular > 0.0 || metal > 0.0) {
1664
+ if (surfaceSpecular > 0.0 || metal > 0.0) {
1660
1665
  vec3 toEyeLamp = normalize(uCameraPos - vWorldPos);
1661
1666
  vec3 lampHalfway = normalize(toLight / max(dist, 1e-4) + toEyeLamp);
1662
1667
  /* The same grazing whitening the sun's highlight takes, and zero at metal 0 for the look. */
@@ -218,7 +218,7 @@ void modelSurface(vec3 n, vec3 albedo, float roughness, float metal, vec3 at) {
218
218
  if (MODEL_SKIN) {
219
219
  if (SKIN_DIFFUSE) mAlbedo = vec3(1.0);
220
220
  }
221
- mSpecColor = mix(vec3(vSpecular), albedo, metal);
221
+ mSpecColor = mix(vec3(surfaceSpecular), albedo, metal);
222
222
  mRoughness = roughness;
223
223
  mMetal = metal;
224
224
  mMap = vec4(0.5, 0.5, 1.0, 1.0);
@@ -39,6 +39,12 @@ in vec3 vColor;
39
39
  in vec3 vWorldPos;
40
40
  in float vEmissive;
41
41
  in float vSpecular;
42
+ /*
43
+ * The specular this fragment shades with: its vertices' own, or a layered material's layers'
44
+ * blend of theirs, set once at the top of main. Every read of the specular reads this rather than
45
+ * the varying, so a layer's specular reaches the highlight, the reflection and the area lights alike.
46
+ */
47
+ float surfaceSpecular;
42
48
  in vec4 vLightPos;
43
49
  in vec3 vUv;
44
50
  in vec3 vEmissiveColor;
@@ -282,7 +282,7 @@ export declare const FLAT_BINDINGS: {
282
282
  };
283
283
  };
284
284
  readonly materialUniforms: 2;
285
- readonly materialSize: 672;
285
+ readonly materialSize: 912;
286
286
  readonly materialFields: {
287
287
  readonly uSeeThrough: {
288
288
  readonly offset: 0;
@@ -412,6 +412,13 @@ export declare const FLAT_BINDINGS: {
412
412
  readonly length: 4;
413
413
  readonly stride: 16;
414
414
  };
415
+ readonly uLayerLooks: {
416
+ readonly offset: 672;
417
+ readonly size: 240;
418
+ readonly type: "vec4";
419
+ readonly length: 15;
420
+ readonly stride: 16;
421
+ };
415
422
  };
416
423
  readonly textures: {
417
424
  readonly uRefractScene: {
@@ -493,6 +500,7 @@ export declare const FLAT_BINDINGS: {
493
500
  readonly REFLECTION_MAPS: 17;
494
501
  readonly WORLD_UVS: 18;
495
502
  readonly LAYERED: 19;
503
+ readonly LAYER_LOOKS: 20;
496
504
  };
497
505
  };
498
506
  readonly pointShadows: {
@@ -894,7 +902,7 @@ export declare const FLAT_BINDINGS: {
894
902
  };
895
903
  };
896
904
  readonly materialUniforms: 2;
897
- readonly materialSize: 672;
905
+ readonly materialSize: 912;
898
906
  readonly materialFields: {
899
907
  readonly uSeeThrough: {
900
908
  readonly offset: 0;
@@ -1024,6 +1032,13 @@ export declare const FLAT_BINDINGS: {
1024
1032
  readonly length: 4;
1025
1033
  readonly stride: 16;
1026
1034
  };
1035
+ readonly uLayerLooks: {
1036
+ readonly offset: 672;
1037
+ readonly size: 240;
1038
+ readonly type: "vec4";
1039
+ readonly length: 15;
1040
+ readonly stride: 16;
1041
+ };
1027
1042
  };
1028
1043
  readonly textures: {
1029
1044
  readonly uRefractScene: {
@@ -1117,6 +1132,7 @@ export declare const FLAT_BINDINGS: {
1117
1132
  readonly REFLECTION_MAPS: 17;
1118
1133
  readonly WORLD_UVS: 18;
1119
1134
  readonly LAYERED: 19;
1135
+ readonly LAYER_LOOKS: 20;
1120
1136
  };
1121
1137
  };
1122
1138
  readonly directionalShadows: {
@@ -1422,7 +1438,7 @@ export declare const FLAT_BINDINGS: {
1422
1438
  };
1423
1439
  };
1424
1440
  readonly materialUniforms: 2;
1425
- readonly materialSize: 672;
1441
+ readonly materialSize: 912;
1426
1442
  readonly materialFields: {
1427
1443
  readonly uSeeThrough: {
1428
1444
  readonly offset: 0;
@@ -1552,6 +1568,13 @@ export declare const FLAT_BINDINGS: {
1552
1568
  readonly length: 4;
1553
1569
  readonly stride: 16;
1554
1570
  };
1571
+ readonly uLayerLooks: {
1572
+ readonly offset: 672;
1573
+ readonly size: 240;
1574
+ readonly type: "vec4";
1575
+ readonly length: 15;
1576
+ readonly stride: 16;
1577
+ };
1555
1578
  };
1556
1579
  readonly textures: {
1557
1580
  readonly uRefractScene: {
@@ -1645,6 +1668,7 @@ export declare const FLAT_BINDINGS: {
1645
1668
  readonly REFLECTION_MAPS: 17;
1646
1669
  readonly WORLD_UVS: 18;
1647
1670
  readonly LAYERED: 19;
1671
+ readonly LAYER_LOOKS: 20;
1648
1672
  };
1649
1673
  };
1650
1674
  readonly "directionalShadows+pointShadows": {
@@ -2076,7 +2100,7 @@ export declare const FLAT_BINDINGS: {
2076
2100
  };
2077
2101
  };
2078
2102
  readonly materialUniforms: 2;
2079
- readonly materialSize: 672;
2103
+ readonly materialSize: 912;
2080
2104
  readonly materialFields: {
2081
2105
  readonly uSeeThrough: {
2082
2106
  readonly offset: 0;
@@ -2206,6 +2230,13 @@ export declare const FLAT_BINDINGS: {
2206
2230
  readonly length: 4;
2207
2231
  readonly stride: 16;
2208
2232
  };
2233
+ readonly uLayerLooks: {
2234
+ readonly offset: 672;
2235
+ readonly size: 240;
2236
+ readonly type: "vec4";
2237
+ readonly length: 15;
2238
+ readonly stride: 16;
2239
+ };
2209
2240
  };
2210
2241
  readonly textures: {
2211
2242
  readonly uRefractScene: {
@@ -2311,6 +2342,7 @@ export declare const FLAT_BINDINGS: {
2311
2342
  readonly REFLECTION_MAPS: 17;
2312
2343
  readonly WORLD_UVS: 18;
2313
2344
  readonly LAYERED: 19;
2345
+ readonly LAYER_LOOKS: 20;
2314
2346
  };
2315
2347
  };
2316
2348
  readonly environmentProbe: {
@@ -2636,7 +2668,7 @@ export declare const FLAT_BINDINGS: {
2636
2668
  };
2637
2669
  };
2638
2670
  readonly materialUniforms: 2;
2639
- readonly materialSize: 672;
2671
+ readonly materialSize: 912;
2640
2672
  readonly materialFields: {
2641
2673
  readonly uSeeThrough: {
2642
2674
  readonly offset: 0;
@@ -2766,6 +2798,13 @@ export declare const FLAT_BINDINGS: {
2766
2798
  readonly length: 4;
2767
2799
  readonly stride: 16;
2768
2800
  };
2801
+ readonly uLayerLooks: {
2802
+ readonly offset: 672;
2803
+ readonly size: 240;
2804
+ readonly type: "vec4";
2805
+ readonly length: 15;
2806
+ readonly stride: 16;
2807
+ };
2769
2808
  };
2770
2809
  readonly textures: {
2771
2810
  readonly uRefractScene: {
@@ -2852,6 +2891,7 @@ export declare const FLAT_BINDINGS: {
2852
2891
  readonly REFLECTION_MAPS: 17;
2853
2892
  readonly WORLD_UVS: 18;
2854
2893
  readonly LAYERED: 19;
2894
+ readonly LAYER_LOOKS: 20;
2855
2895
  };
2856
2896
  };
2857
2897
  readonly "environmentProbe+pointShadows": {
@@ -3303,7 +3343,7 @@ export declare const FLAT_BINDINGS: {
3303
3343
  };
3304
3344
  };
3305
3345
  readonly materialUniforms: 2;
3306
- readonly materialSize: 672;
3346
+ readonly materialSize: 912;
3307
3347
  readonly materialFields: {
3308
3348
  readonly uSeeThrough: {
3309
3349
  readonly offset: 0;
@@ -3433,6 +3473,13 @@ export declare const FLAT_BINDINGS: {
3433
3473
  readonly length: 4;
3434
3474
  readonly stride: 16;
3435
3475
  };
3476
+ readonly uLayerLooks: {
3477
+ readonly offset: 672;
3478
+ readonly size: 240;
3479
+ readonly type: "vec4";
3480
+ readonly length: 15;
3481
+ readonly stride: 16;
3482
+ };
3436
3483
  };
3437
3484
  readonly textures: {
3438
3485
  readonly uRefractScene: {
@@ -3531,6 +3578,7 @@ export declare const FLAT_BINDINGS: {
3531
3578
  readonly REFLECTION_MAPS: 17;
3532
3579
  readonly WORLD_UVS: 18;
3533
3580
  readonly LAYERED: 19;
3581
+ readonly LAYER_LOOKS: 20;
3534
3582
  };
3535
3583
  };
3536
3584
  readonly "directionalShadows+environmentProbe": {
@@ -3886,7 +3934,7 @@ export declare const FLAT_BINDINGS: {
3886
3934
  };
3887
3935
  };
3888
3936
  readonly materialUniforms: 2;
3889
- readonly materialSize: 672;
3937
+ readonly materialSize: 912;
3890
3938
  readonly materialFields: {
3891
3939
  readonly uSeeThrough: {
3892
3940
  readonly offset: 0;
@@ -4016,6 +4064,13 @@ export declare const FLAT_BINDINGS: {
4016
4064
  readonly length: 4;
4017
4065
  readonly stride: 16;
4018
4066
  };
4067
+ readonly uLayerLooks: {
4068
+ readonly offset: 672;
4069
+ readonly size: 240;
4070
+ readonly type: "vec4";
4071
+ readonly length: 15;
4072
+ readonly stride: 16;
4073
+ };
4019
4074
  };
4020
4075
  readonly textures: {
4021
4076
  readonly uRefractScene: {
@@ -4114,6 +4169,7 @@ export declare const FLAT_BINDINGS: {
4114
4169
  readonly REFLECTION_MAPS: 17;
4115
4170
  readonly WORLD_UVS: 18;
4116
4171
  readonly LAYERED: 19;
4172
+ readonly LAYER_LOOKS: 20;
4117
4173
  };
4118
4174
  };
4119
4175
  readonly "directionalShadows+environmentProbe+pointShadows": {
@@ -4595,7 +4651,7 @@ export declare const FLAT_BINDINGS: {
4595
4651
  };
4596
4652
  };
4597
4653
  readonly materialUniforms: 2;
4598
- readonly materialSize: 672;
4654
+ readonly materialSize: 912;
4599
4655
  readonly materialFields: {
4600
4656
  readonly uSeeThrough: {
4601
4657
  readonly offset: 0;
@@ -4725,6 +4781,13 @@ export declare const FLAT_BINDINGS: {
4725
4781
  readonly length: 4;
4726
4782
  readonly stride: 16;
4727
4783
  };
4784
+ readonly uLayerLooks: {
4785
+ readonly offset: 672;
4786
+ readonly size: 240;
4787
+ readonly type: "vec4";
4788
+ readonly length: 15;
4789
+ readonly stride: 16;
4790
+ };
4728
4791
  };
4729
4792
  readonly textures: {
4730
4793
  readonly uRefractScene: {
@@ -4835,6 +4898,7 @@ export declare const FLAT_BINDINGS: {
4835
4898
  readonly REFLECTION_MAPS: 17;
4836
4899
  readonly WORLD_UVS: 18;
4837
4900
  readonly LAYERED: 19;
4901
+ readonly LAYER_LOOKS: 20;
4838
4902
  };
4839
4903
  };
4840
4904
  readonly nightEmissive: {
@@ -5115,7 +5179,7 @@ export declare const FLAT_BINDINGS: {
5115
5179
  };
5116
5180
  };
5117
5181
  readonly materialUniforms: 2;
5118
- readonly materialSize: 672;
5182
+ readonly materialSize: 912;
5119
5183
  readonly materialFields: {
5120
5184
  readonly uSeeThrough: {
5121
5185
  readonly offset: 0;
@@ -5245,6 +5309,13 @@ export declare const FLAT_BINDINGS: {
5245
5309
  readonly length: 4;
5246
5310
  readonly stride: 16;
5247
5311
  };
5312
+ readonly uLayerLooks: {
5313
+ readonly offset: 672;
5314
+ readonly size: 240;
5315
+ readonly type: "vec4";
5316
+ readonly length: 15;
5317
+ readonly stride: 16;
5318
+ };
5248
5319
  };
5249
5320
  readonly textures: {
5250
5321
  readonly uRefractScene: {
@@ -5326,6 +5397,7 @@ export declare const FLAT_BINDINGS: {
5326
5397
  readonly REFLECTION_MAPS: 17;
5327
5398
  readonly WORLD_UVS: 18;
5328
5399
  readonly LAYERED: 19;
5400
+ readonly LAYER_LOOKS: 20;
5329
5401
  };
5330
5402
  };
5331
5403
  readonly "nightEmissive+pointShadows": {
@@ -5732,7 +5804,7 @@ export declare const FLAT_BINDINGS: {
5732
5804
  };
5733
5805
  };
5734
5806
  readonly materialUniforms: 2;
5735
- readonly materialSize: 672;
5807
+ readonly materialSize: 912;
5736
5808
  readonly materialFields: {
5737
5809
  readonly uSeeThrough: {
5738
5810
  readonly offset: 0;
@@ -5862,6 +5934,13 @@ export declare const FLAT_BINDINGS: {
5862
5934
  readonly length: 4;
5863
5935
  readonly stride: 16;
5864
5936
  };
5937
+ readonly uLayerLooks: {
5938
+ readonly offset: 672;
5939
+ readonly size: 240;
5940
+ readonly type: "vec4";
5941
+ readonly length: 15;
5942
+ readonly stride: 16;
5943
+ };
5865
5944
  };
5866
5945
  readonly textures: {
5867
5946
  readonly uRefractScene: {
@@ -5955,6 +6034,7 @@ export declare const FLAT_BINDINGS: {
5955
6034
  readonly REFLECTION_MAPS: 17;
5956
6035
  readonly WORLD_UVS: 18;
5957
6036
  readonly LAYERED: 19;
6037
+ readonly LAYER_LOOKS: 20;
5958
6038
  };
5959
6039
  };
5960
6040
  readonly "directionalShadows+nightEmissive": {
@@ -6265,7 +6345,7 @@ export declare const FLAT_BINDINGS: {
6265
6345
  };
6266
6346
  };
6267
6347
  readonly materialUniforms: 2;
6268
- readonly materialSize: 672;
6348
+ readonly materialSize: 912;
6269
6349
  readonly materialFields: {
6270
6350
  readonly uSeeThrough: {
6271
6351
  readonly offset: 0;
@@ -6395,6 +6475,13 @@ export declare const FLAT_BINDINGS: {
6395
6475
  readonly length: 4;
6396
6476
  readonly stride: 16;
6397
6477
  };
6478
+ readonly uLayerLooks: {
6479
+ readonly offset: 672;
6480
+ readonly size: 240;
6481
+ readonly type: "vec4";
6482
+ readonly length: 15;
6483
+ readonly stride: 16;
6484
+ };
6398
6485
  };
6399
6486
  readonly textures: {
6400
6487
  readonly uRefractScene: {
@@ -6488,6 +6575,7 @@ export declare const FLAT_BINDINGS: {
6488
6575
  readonly REFLECTION_MAPS: 17;
6489
6576
  readonly WORLD_UVS: 18;
6490
6577
  readonly LAYERED: 19;
6578
+ readonly LAYER_LOOKS: 20;
6491
6579
  };
6492
6580
  };
6493
6581
  readonly "directionalShadows+nightEmissive+pointShadows": {
@@ -6924,7 +7012,7 @@ export declare const FLAT_BINDINGS: {
6924
7012
  };
6925
7013
  };
6926
7014
  readonly materialUniforms: 2;
6927
- readonly materialSize: 672;
7015
+ readonly materialSize: 912;
6928
7016
  readonly materialFields: {
6929
7017
  readonly uSeeThrough: {
6930
7018
  readonly offset: 0;
@@ -7054,6 +7142,13 @@ export declare const FLAT_BINDINGS: {
7054
7142
  readonly length: 4;
7055
7143
  readonly stride: 16;
7056
7144
  };
7145
+ readonly uLayerLooks: {
7146
+ readonly offset: 672;
7147
+ readonly size: 240;
7148
+ readonly type: "vec4";
7149
+ readonly length: 15;
7150
+ readonly stride: 16;
7151
+ };
7057
7152
  };
7058
7153
  readonly textures: {
7059
7154
  readonly uRefractScene: {
@@ -7159,6 +7254,7 @@ export declare const FLAT_BINDINGS: {
7159
7254
  readonly REFLECTION_MAPS: 17;
7160
7255
  readonly WORLD_UVS: 18;
7161
7256
  readonly LAYERED: 19;
7257
+ readonly LAYER_LOOKS: 20;
7162
7258
  };
7163
7259
  };
7164
7260
  readonly "environmentProbe+nightEmissive": {
@@ -7489,7 +7585,7 @@ export declare const FLAT_BINDINGS: {
7489
7585
  };
7490
7586
  };
7491
7587
  readonly materialUniforms: 2;
7492
- readonly materialSize: 672;
7588
+ readonly materialSize: 912;
7493
7589
  readonly materialFields: {
7494
7590
  readonly uSeeThrough: {
7495
7591
  readonly offset: 0;
@@ -7619,6 +7715,13 @@ export declare const FLAT_BINDINGS: {
7619
7715
  readonly length: 4;
7620
7716
  readonly stride: 16;
7621
7717
  };
7718
+ readonly uLayerLooks: {
7719
+ readonly offset: 672;
7720
+ readonly size: 240;
7721
+ readonly type: "vec4";
7722
+ readonly length: 15;
7723
+ readonly stride: 16;
7724
+ };
7622
7725
  };
7623
7726
  readonly textures: {
7624
7727
  readonly uRefractScene: {
@@ -7705,6 +7808,7 @@ export declare const FLAT_BINDINGS: {
7705
7808
  readonly REFLECTION_MAPS: 17;
7706
7809
  readonly WORLD_UVS: 18;
7707
7810
  readonly LAYERED: 19;
7811
+ readonly LAYER_LOOKS: 20;
7708
7812
  };
7709
7813
  };
7710
7814
  readonly "environmentProbe+nightEmissive+pointShadows": {
@@ -8161,7 +8265,7 @@ export declare const FLAT_BINDINGS: {
8161
8265
  };
8162
8266
  };
8163
8267
  readonly materialUniforms: 2;
8164
- readonly materialSize: 672;
8268
+ readonly materialSize: 912;
8165
8269
  readonly materialFields: {
8166
8270
  readonly uSeeThrough: {
8167
8271
  readonly offset: 0;
@@ -8291,6 +8395,13 @@ export declare const FLAT_BINDINGS: {
8291
8395
  readonly length: 4;
8292
8396
  readonly stride: 16;
8293
8397
  };
8398
+ readonly uLayerLooks: {
8399
+ readonly offset: 672;
8400
+ readonly size: 240;
8401
+ readonly type: "vec4";
8402
+ readonly length: 15;
8403
+ readonly stride: 16;
8404
+ };
8294
8405
  };
8295
8406
  readonly textures: {
8296
8407
  readonly uRefractScene: {
@@ -8389,6 +8500,7 @@ export declare const FLAT_BINDINGS: {
8389
8500
  readonly REFLECTION_MAPS: 17;
8390
8501
  readonly WORLD_UVS: 18;
8391
8502
  readonly LAYERED: 19;
8503
+ readonly LAYER_LOOKS: 20;
8392
8504
  };
8393
8505
  };
8394
8506
  readonly "directionalShadows+environmentProbe+nightEmissive": {
@@ -8749,7 +8861,7 @@ export declare const FLAT_BINDINGS: {
8749
8861
  };
8750
8862
  };
8751
8863
  readonly materialUniforms: 2;
8752
- readonly materialSize: 672;
8864
+ readonly materialSize: 912;
8753
8865
  readonly materialFields: {
8754
8866
  readonly uSeeThrough: {
8755
8867
  readonly offset: 0;
@@ -8879,6 +8991,13 @@ export declare const FLAT_BINDINGS: {
8879
8991
  readonly length: 4;
8880
8992
  readonly stride: 16;
8881
8993
  };
8994
+ readonly uLayerLooks: {
8995
+ readonly offset: 672;
8996
+ readonly size: 240;
8997
+ readonly type: "vec4";
8998
+ readonly length: 15;
8999
+ readonly stride: 16;
9000
+ };
8882
9001
  };
8883
9002
  readonly textures: {
8884
9003
  readonly uRefractScene: {
@@ -8977,6 +9096,7 @@ export declare const FLAT_BINDINGS: {
8977
9096
  readonly REFLECTION_MAPS: 17;
8978
9097
  readonly WORLD_UVS: 18;
8979
9098
  readonly LAYERED: 19;
9099
+ readonly LAYER_LOOKS: 20;
8980
9100
  };
8981
9101
  };
8982
9102
  readonly "directionalShadows+environmentProbe+nightEmissive+pointShadows": {
@@ -9463,7 +9583,7 @@ export declare const FLAT_BINDINGS: {
9463
9583
  };
9464
9584
  };
9465
9585
  readonly materialUniforms: 2;
9466
- readonly materialSize: 672;
9586
+ readonly materialSize: 912;
9467
9587
  readonly materialFields: {
9468
9588
  readonly uSeeThrough: {
9469
9589
  readonly offset: 0;
@@ -9593,6 +9713,13 @@ export declare const FLAT_BINDINGS: {
9593
9713
  readonly length: 4;
9594
9714
  readonly stride: 16;
9595
9715
  };
9716
+ readonly uLayerLooks: {
9717
+ readonly offset: 672;
9718
+ readonly size: 240;
9719
+ readonly type: "vec4";
9720
+ readonly length: 15;
9721
+ readonly stride: 16;
9722
+ };
9596
9723
  };
9597
9724
  readonly textures: {
9598
9725
  readonly uRefractScene: {
@@ -9703,6 +9830,7 @@ export declare const FLAT_BINDINGS: {
9703
9830
  readonly REFLECTION_MAPS: 17;
9704
9831
  readonly WORLD_UVS: 18;
9705
9832
  readonly LAYERED: 19;
9833
+ readonly LAYER_LOOKS: 20;
9706
9834
  };
9707
9835
  };
9708
9836
  };