@jbrowse/render-core 5.0.0-beta.11 → 5.0.0-beta.14

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 (190) hide show
  1. package/esm/OverlayCanvas.d.ts +3 -2
  2. package/esm/OverlayCanvas.js +4 -2
  3. package/esm/RenderCanvas.d.ts +4 -3
  4. package/esm/RenderCanvas.js +4 -2
  5. package/esm/ScrollLockedOverlay.d.ts +2 -2
  6. package/esm/ScrollLockedOverlay.js +3 -2
  7. package/esm/blockClipUtils.d.ts +5 -5
  8. package/esm/blockClipUtils.js +4 -3
  9. package/esm/canvas2dUtils.d.ts +15 -21
  10. package/esm/canvas2dUtils.js +25 -55
  11. package/esm/colorRampLut.d.ts +2 -2
  12. package/esm/colorRampLut.js +2 -2
  13. package/esm/coverageBand.d.ts +0 -1
  14. package/esm/coverageBand.js +0 -5
  15. package/esm/coverageBandBuffers.d.ts +8 -5
  16. package/esm/createRenderingBackend.d.ts +1 -1
  17. package/esm/displayPhase.d.ts +5 -9
  18. package/esm/displayPhase.js +2 -2
  19. package/esm/hal/mockHal.d.ts +3 -4
  20. package/esm/hal/mockHal.js +5 -4
  21. package/esm/hal/types.d.ts +5 -5
  22. package/esm/hal/webgl2Hal.d.ts +4 -1
  23. package/esm/hal/webgl2Hal.js +18 -6
  24. package/esm/hal/webgpuHal.js +2 -2
  25. package/esm/linkFeet.d.ts +4 -0
  26. package/esm/linkFeet.js +7 -0
  27. package/esm/marks/barMark.d.ts +1 -1
  28. package/esm/marks/barMark.js +4 -2
  29. package/esm/marks/colorFill.d.ts +4 -4
  30. package/esm/marks/colorFill.js +4 -4
  31. package/esm/marks/connectorMark.d.ts +48 -0
  32. package/esm/marks/connectorMark.js +285 -0
  33. package/esm/marks/drawAgainstHit.d.ts +1 -1
  34. package/esm/marks/drawAgainstHit.js +4 -4
  35. package/esm/marks/glyphPaint.d.ts +5 -4
  36. package/esm/marks/glyphPaint.js +17 -7
  37. package/esm/marks/index.d.ts +8 -5
  38. package/esm/marks/index.js +6 -4
  39. package/esm/marks/lineMark.d.ts +47 -7
  40. package/esm/marks/lineMark.js +53 -39
  41. package/esm/marks/linkMark.d.ts +43 -6
  42. package/esm/marks/linkMark.js +118 -21
  43. package/esm/marks/markBackend.d.ts +1 -1
  44. package/esm/marks/markBackend.js +1 -1
  45. package/esm/marks/markPlan.d.ts +4 -3
  46. package/esm/marks/markPlan.js +5 -4
  47. package/esm/marks/markRamp.d.ts +11 -11
  48. package/esm/marks/markRamp.js +9 -9
  49. package/esm/marks/pointMark.d.ts +11 -5
  50. package/esm/marks/pointMark.js +34 -9
  51. package/esm/marks/rowLane.d.ts +4 -2
  52. package/esm/marks/rowLane.js +7 -3
  53. package/esm/marks/rowTable.d.ts +5 -5
  54. package/esm/marks/rowTable.js +4 -4
  55. package/esm/marks/ruleMark.js +1 -0
  56. package/esm/marks/spanMark.d.ts +8 -7
  57. package/esm/marks/spanMark.js +3 -3
  58. package/esm/marks/types.d.ts +8 -5
  59. package/esm/marks/types.js +8 -1
  60. package/esm/perRegionRenderingBackend.d.ts +1 -1
  61. package/esm/perRegionRenderingBackend.js +1 -1
  62. package/esm/regionDataMap.d.ts +2 -2
  63. package/esm/regionDataMap.js +2 -2
  64. package/esm/shaders/barMark.glsl.generated.d.ts +1 -1
  65. package/esm/shaders/barMark.glsl.generated.js +1 -1
  66. package/esm/shaders/barMark.wgsl.generated.d.ts +1 -1
  67. package/esm/shaders/barMark.wgsl.generated.js +1 -1
  68. package/esm/shaders/capsule.js.generated.d.ts +1 -1
  69. package/esm/shaders/capsule.js.generated.js +2 -2
  70. package/esm/shaders/connectorMark.consts.generated.d.ts +11 -0
  71. package/esm/shaders/connectorMark.consts.generated.js +13 -0
  72. package/esm/shaders/{coverageIndicator.generated.d.ts → connectorMark.generated.d.ts} +2 -1
  73. package/esm/shaders/connectorMark.generated.js +8 -0
  74. package/esm/shaders/connectorMark.glsl.generated.d.ts +2 -0
  75. package/esm/shaders/connectorMark.glsl.generated.js +4 -0
  76. package/esm/shaders/connectorMark.iface.generated.d.ts +88 -0
  77. package/esm/shaders/connectorMark.iface.generated.js +1194 -0
  78. package/esm/shaders/connectorMark.js.generated.d.ts +5 -0
  79. package/esm/shaders/connectorMark.js.generated.js +47 -0
  80. package/esm/shaders/connectorMark.wgsl.generated.d.ts +1 -0
  81. package/esm/shaders/connectorMark.wgsl.generated.js +3 -0
  82. package/esm/shaders/coverageInterbase.glsl.generated.d.ts +1 -1
  83. package/esm/shaders/coverageInterbase.glsl.generated.js +1 -1
  84. package/esm/shaders/coverageInterbase.wgsl.generated.d.ts +1 -1
  85. package/esm/shaders/coverageInterbase.wgsl.generated.js +1 -1
  86. package/esm/shaders/curveDistance.js.generated.d.ts +4 -0
  87. package/esm/shaders/curveDistance.js.generated.js +113 -0
  88. package/esm/shaders/insertionGlyph.generated.d.ts +6 -0
  89. package/esm/shaders/insertionGlyph.generated.js +8 -0
  90. package/esm/shaders/lineCenterMark.glsl.generated.d.ts +2 -2
  91. package/esm/shaders/lineCenterMark.glsl.generated.js +2 -2
  92. package/esm/shaders/lineCenterMark.iface.generated.d.ts +11 -9
  93. package/esm/shaders/lineCenterMark.iface.generated.js +20 -18
  94. package/esm/shaders/lineCenterMark.wgsl.generated.d.ts +1 -1
  95. package/esm/shaders/lineCenterMark.wgsl.generated.js +1 -1
  96. package/esm/shaders/lineCommon.js.generated.d.ts +1 -0
  97. package/esm/shaders/lineCommon.js.generated.js +20 -0
  98. package/esm/shaders/lineStepMark.glsl.generated.d.ts +2 -2
  99. package/esm/shaders/lineStepMark.glsl.generated.js +2 -2
  100. package/esm/shaders/lineStepMark.iface.generated.d.ts +11 -9
  101. package/esm/shaders/lineStepMark.iface.generated.js +20 -18
  102. package/esm/shaders/lineStepMark.wgsl.generated.d.ts +1 -1
  103. package/esm/shaders/lineStepMark.wgsl.generated.js +1 -1
  104. package/esm/shaders/linkMark.consts.generated.d.ts +1 -0
  105. package/esm/shaders/linkMark.consts.generated.js +1 -0
  106. package/esm/shaders/linkMark.glsl.generated.d.ts +2 -2
  107. package/esm/shaders/linkMark.glsl.generated.js +2 -2
  108. package/esm/shaders/linkMark.js.generated.d.ts +4 -2
  109. package/esm/shaders/linkMark.js.generated.js +33 -4
  110. package/esm/shaders/linkMark.wgsl.generated.d.ts +1 -1
  111. package/esm/shaders/linkMark.wgsl.generated.js +1 -1
  112. package/esm/shaders/pointMark.glsl.generated.d.ts +1 -1
  113. package/esm/shaders/pointMark.glsl.generated.js +1 -1
  114. package/esm/shaders/pointMark.iface.generated.d.ts +10 -8
  115. package/esm/shaders/pointMark.iface.generated.js +18 -16
  116. package/esm/shaders/pointMark.wgsl.generated.d.ts +1 -1
  117. package/esm/shaders/pointMark.wgsl.generated.js +1 -1
  118. package/esm/shaders/spanMark.glsl.generated.d.ts +1 -1
  119. package/esm/shaders/spanMark.glsl.generated.js +1 -1
  120. package/esm/shaders/spanMark.wgsl.generated.d.ts +1 -1
  121. package/esm/shaders/spanMark.wgsl.generated.js +1 -1
  122. package/esm/slangPass.d.ts +5 -3
  123. package/esm/slangPass.js +2 -2
  124. package/package.json +7 -4
  125. package/src/shaders/arcHull.test.ts +87 -0
  126. package/src/shaders/barMark.glsl.generated.ts +1 -1
  127. package/src/shaders/barMark.slang +2 -2
  128. package/src/shaders/barMark.wgsl.generated.ts +1 -1
  129. package/src/shaders/capsule.js.generated.ts +2 -2
  130. package/src/shaders/capsule.slang +69 -24
  131. package/src/shaders/clipStrip.slang +1 -1
  132. package/src/shaders/colorPack.slang +2 -2
  133. package/src/shaders/colorRampLut.slang +7 -7
  134. package/src/shaders/connectorMark.consts.generated.ts +24 -0
  135. package/src/shaders/connectorMark.generated.ts +12 -0
  136. package/src/shaders/connectorMark.glsl.generated.ts +6 -0
  137. package/src/shaders/connectorMark.iface.generated.ts +1270 -0
  138. package/src/shaders/connectorMark.js.generated.ts +52 -0
  139. package/src/shaders/connectorMark.slang +287 -0
  140. package/src/shaders/connectorMark.wgsl.generated.ts +4 -0
  141. package/src/shaders/coverageBand.slang +10 -12
  142. package/src/shaders/coverageInterbase.glsl.generated.ts +1 -1
  143. package/src/shaders/coverageInterbase.slang +24 -21
  144. package/src/shaders/coverageInterbase.wgsl.generated.ts +1 -1
  145. package/src/shaders/coverageSnp.slang +1 -1
  146. package/src/shaders/curveDistance.js.generated.ts +112 -0
  147. package/src/shaders/curveDistance.slang +104 -1
  148. package/src/shaders/farDome.test.ts +117 -0
  149. package/src/shaders/hpClampFloor.test.ts +0 -4
  150. package/src/shaders/insertionGlyph.generated.ts +14 -0
  151. package/src/shaders/insertionGlyph.slang +59 -0
  152. package/src/shaders/lineCenterMark.glsl.generated.ts +2 -2
  153. package/src/shaders/lineCenterMark.iface.generated.ts +21 -18
  154. package/src/shaders/lineCenterMark.slang +19 -23
  155. package/src/shaders/lineCenterMark.wgsl.generated.ts +1 -1
  156. package/src/shaders/lineCommon.js.generated.ts +20 -0
  157. package/src/shaders/lineCommon.slang +18 -8
  158. package/src/shaders/lineStepMark.glsl.generated.ts +2 -2
  159. package/src/shaders/lineStepMark.iface.generated.ts +21 -18
  160. package/src/shaders/lineStepMark.slang +10 -6
  161. package/src/shaders/lineStepMark.wgsl.generated.ts +1 -1
  162. package/src/shaders/linkMark.consts.generated.ts +2 -0
  163. package/src/shaders/linkMark.glsl.generated.ts +2 -2
  164. package/src/shaders/linkMark.js.generated.ts +30 -4
  165. package/src/shaders/linkMark.slang +67 -24
  166. package/src/shaders/linkMark.wgsl.generated.ts +1 -1
  167. package/src/shaders/markColor.slang +10 -10
  168. package/src/shaders/pointMark.glsl.generated.ts +1 -1
  169. package/src/shaders/pointMark.iface.generated.ts +19 -16
  170. package/src/shaders/pointMark.slang +12 -8
  171. package/src/shaders/pointMark.wgsl.generated.ts +1 -1
  172. package/src/shaders/rowRect.slang +3 -3
  173. package/src/shaders/rowTable.slang +12 -8
  174. package/src/shaders/scoreScale.slang +1 -1
  175. package/src/shaders/spanMark.glsl.generated.ts +1 -1
  176. package/src/shaders/spanMark.slang +5 -5
  177. package/src/shaders/spanMark.wgsl.generated.ts +1 -1
  178. package/src/shaders/viewRegion.slang +13 -0
  179. package/esm/shaders/coverageIndicator.generated.js +0 -7
  180. package/esm/shaders/coverageIndicator.glsl.generated.d.ts +0 -2
  181. package/esm/shaders/coverageIndicator.glsl.generated.js +0 -4
  182. package/esm/shaders/coverageIndicator.iface.generated.d.ts +0 -85
  183. package/esm/shaders/coverageIndicator.iface.generated.js +0 -114
  184. package/esm/shaders/coverageIndicator.wgsl.generated.d.ts +0 -1
  185. package/esm/shaders/coverageIndicator.wgsl.generated.js +0 -3
  186. package/src/shaders/coverageIndicator.generated.ts +0 -11
  187. package/src/shaders/coverageIndicator.glsl.generated.ts +0 -6
  188. package/src/shaders/coverageIndicator.iface.generated.ts +0 -172
  189. package/src/shaders/coverageIndicator.slang +0 -61
  190. package/src/shaders/coverageIndicator.wgsl.generated.ts +0 -4
@@ -0,0 +1,1270 @@
1
+ // AUTO-GENERATED by packages/shader-tools/src/shader-codegen from connectorMark.slang.
2
+ // Do not edit. Run `pnpm gen:shaders` to regenerate.
3
+
4
+ import type { VertexAttributeLayout, ShaderBinding } from '@jbrowse/render-core/hal'
5
+
6
+ export const BINDINGS: readonly ShaderBinding[] = [
7
+ { index: 1, kind: 'uniform', name: 'u', stages: ['vertex', 'fragment'] },
8
+ ]
9
+
10
+ export const VERTS_PER_INSTANCE = 110
11
+
12
+ export const TOPOLOGY = 'triangle-strip' as const
13
+
14
+ export const COVERAGE = 'analytic' as const
15
+
16
+ export const UNIFORMS_SIZE_BYTES = 4160
17
+
18
+ // Word indices into a Float32Array view over the uniform buffer.
19
+ export const UNIFORM_OFFSET_F32 = {
20
+ canvasHeight: 0,
21
+ canvasWidth: 1,
22
+ devicePixelRatio: 2,
23
+ rowOffsetPx: 3,
24
+ rowPitchPx: 4,
25
+ maxHandlePx: 5,
26
+ dashPx: 6,
27
+ gapPx: 7,
28
+ arrowPx: 8,
29
+ zero: 10,
30
+ ownEntry: 12,
31
+ } as const
32
+
33
+ // Word indices into a Uint32Array view over the uniform buffer.
34
+ export const UNIFORM_OFFSET_U32 = {
35
+ regionCount: 9,
36
+ } as const
37
+
38
+
39
+ // Word indices of each array field’s elements, into a 4-byte-word
40
+ // view over the uniform buffer (Uint32Array or Float32Array — the
41
+ // field’s scalar type picks, same as UNIFORM_OFFSET_*). NOT
42
+ // consecutive: std140 pads every array element to 16 bytes.
43
+ export const UNIFORM_SLOT_ARRAYS = {
44
+ regionTable: [16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, 412, 416, 420, 424, 428, 432, 436, 440, 444, 448, 452, 456, 460, 464, 468, 472, 476, 480, 484, 488, 492, 496, 500, 504, 508, 512, 516, 520, 524, 528, 532, 536, 540, 544, 548, 552, 556, 560, 564, 568, 572, 576, 580, 584, 588, 592, 596, 600, 604, 608, 612, 616, 620, 624, 628, 632, 636, 640, 644, 648, 652, 656, 660, 664, 668, 672, 676, 680, 684, 688, 692, 696, 700, 704, 708, 712, 716, 720, 724, 728, 732, 736, 740, 744, 748, 752, 756, 760, 764, 768, 772, 776, 780, 784, 788, 792, 796, 800, 804, 808, 812, 816, 820, 824, 828, 832, 836, 840, 844, 848, 852, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 900, 904, 908, 912, 916, 920, 924, 928, 932, 936, 940, 944, 948, 952, 956, 960, 964, 968, 972, 976, 980, 984, 988, 992, 996, 1000, 1004, 1008, 1012, 1016, 1020, 1024, 1028, 1032, 1036] as const,
45
+ } as const
46
+
47
+ // Element `i` of the `regionTable` uniform array (4 components).
48
+ export function setUniformRegionTable(
49
+ f32: Float32Array,
50
+ i: number,
51
+ v0: number,
52
+ v1: number,
53
+ v2: number,
54
+ v3: number,
55
+ ) {
56
+ const o = UNIFORM_SLOT_ARRAYS.regionTable[i]!
57
+ f32[o] = v0
58
+ f32[o + 1] = v1
59
+ f32[o + 2] = v2
60
+ f32[o + 3] = v3
61
+ }
62
+
63
+
64
+ export interface Uniforms {
65
+ canvasHeight: number
66
+ canvasWidth: number
67
+ devicePixelRatio: number
68
+ rowOffsetPx: number
69
+ rowPitchPx: number
70
+ maxHandlePx: number
71
+ dashPx: number
72
+ gapPx: number
73
+ arrowPx: number
74
+ regionCount: number
75
+ zero: number
76
+ ownEntry: [number, number, number, number]
77
+ regionTable: [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]
78
+ }
79
+
80
+ export function writeUniforms(buf: ArrayBuffer, uniforms: Uniforms) {
81
+ const f32 = new Float32Array(buf)
82
+ const u32 = new Uint32Array(buf)
83
+ f32[0] = uniforms.canvasHeight
84
+ f32[1] = uniforms.canvasWidth
85
+ f32[2] = uniforms.devicePixelRatio
86
+ f32[3] = uniforms.rowOffsetPx
87
+ f32[4] = uniforms.rowPitchPx
88
+ f32[5] = uniforms.maxHandlePx
89
+ f32[6] = uniforms.dashPx
90
+ f32[7] = uniforms.gapPx
91
+ f32[8] = uniforms.arrowPx
92
+ u32[9] = uniforms.regionCount
93
+ f32[10] = uniforms.zero
94
+ f32[12] = uniforms.ownEntry[0]
95
+ f32[13] = uniforms.ownEntry[1]
96
+ f32[14] = uniforms.ownEntry[2]
97
+ f32[15] = uniforms.ownEntry[3]
98
+ f32[16] = uniforms.regionTable[0][0]
99
+ f32[17] = uniforms.regionTable[0][1]
100
+ f32[18] = uniforms.regionTable[0][2]
101
+ f32[19] = uniforms.regionTable[0][3]
102
+ f32[20] = uniforms.regionTable[1][0]
103
+ f32[21] = uniforms.regionTable[1][1]
104
+ f32[22] = uniforms.regionTable[1][2]
105
+ f32[23] = uniforms.regionTable[1][3]
106
+ f32[24] = uniforms.regionTable[2][0]
107
+ f32[25] = uniforms.regionTable[2][1]
108
+ f32[26] = uniforms.regionTable[2][2]
109
+ f32[27] = uniforms.regionTable[2][3]
110
+ f32[28] = uniforms.regionTable[3][0]
111
+ f32[29] = uniforms.regionTable[3][1]
112
+ f32[30] = uniforms.regionTable[3][2]
113
+ f32[31] = uniforms.regionTable[3][3]
114
+ f32[32] = uniforms.regionTable[4][0]
115
+ f32[33] = uniforms.regionTable[4][1]
116
+ f32[34] = uniforms.regionTable[4][2]
117
+ f32[35] = uniforms.regionTable[4][3]
118
+ f32[36] = uniforms.regionTable[5][0]
119
+ f32[37] = uniforms.regionTable[5][1]
120
+ f32[38] = uniforms.regionTable[5][2]
121
+ f32[39] = uniforms.regionTable[5][3]
122
+ f32[40] = uniforms.regionTable[6][0]
123
+ f32[41] = uniforms.regionTable[6][1]
124
+ f32[42] = uniforms.regionTable[6][2]
125
+ f32[43] = uniforms.regionTable[6][3]
126
+ f32[44] = uniforms.regionTable[7][0]
127
+ f32[45] = uniforms.regionTable[7][1]
128
+ f32[46] = uniforms.regionTable[7][2]
129
+ f32[47] = uniforms.regionTable[7][3]
130
+ f32[48] = uniforms.regionTable[8][0]
131
+ f32[49] = uniforms.regionTable[8][1]
132
+ f32[50] = uniforms.regionTable[8][2]
133
+ f32[51] = uniforms.regionTable[8][3]
134
+ f32[52] = uniforms.regionTable[9][0]
135
+ f32[53] = uniforms.regionTable[9][1]
136
+ f32[54] = uniforms.regionTable[9][2]
137
+ f32[55] = uniforms.regionTable[9][3]
138
+ f32[56] = uniforms.regionTable[10][0]
139
+ f32[57] = uniforms.regionTable[10][1]
140
+ f32[58] = uniforms.regionTable[10][2]
141
+ f32[59] = uniforms.regionTable[10][3]
142
+ f32[60] = uniforms.regionTable[11][0]
143
+ f32[61] = uniforms.regionTable[11][1]
144
+ f32[62] = uniforms.regionTable[11][2]
145
+ f32[63] = uniforms.regionTable[11][3]
146
+ f32[64] = uniforms.regionTable[12][0]
147
+ f32[65] = uniforms.regionTable[12][1]
148
+ f32[66] = uniforms.regionTable[12][2]
149
+ f32[67] = uniforms.regionTable[12][3]
150
+ f32[68] = uniforms.regionTable[13][0]
151
+ f32[69] = uniforms.regionTable[13][1]
152
+ f32[70] = uniforms.regionTable[13][2]
153
+ f32[71] = uniforms.regionTable[13][3]
154
+ f32[72] = uniforms.regionTable[14][0]
155
+ f32[73] = uniforms.regionTable[14][1]
156
+ f32[74] = uniforms.regionTable[14][2]
157
+ f32[75] = uniforms.regionTable[14][3]
158
+ f32[76] = uniforms.regionTable[15][0]
159
+ f32[77] = uniforms.regionTable[15][1]
160
+ f32[78] = uniforms.regionTable[15][2]
161
+ f32[79] = uniforms.regionTable[15][3]
162
+ f32[80] = uniforms.regionTable[16][0]
163
+ f32[81] = uniforms.regionTable[16][1]
164
+ f32[82] = uniforms.regionTable[16][2]
165
+ f32[83] = uniforms.regionTable[16][3]
166
+ f32[84] = uniforms.regionTable[17][0]
167
+ f32[85] = uniforms.regionTable[17][1]
168
+ f32[86] = uniforms.regionTable[17][2]
169
+ f32[87] = uniforms.regionTable[17][3]
170
+ f32[88] = uniforms.regionTable[18][0]
171
+ f32[89] = uniforms.regionTable[18][1]
172
+ f32[90] = uniforms.regionTable[18][2]
173
+ f32[91] = uniforms.regionTable[18][3]
174
+ f32[92] = uniforms.regionTable[19][0]
175
+ f32[93] = uniforms.regionTable[19][1]
176
+ f32[94] = uniforms.regionTable[19][2]
177
+ f32[95] = uniforms.regionTable[19][3]
178
+ f32[96] = uniforms.regionTable[20][0]
179
+ f32[97] = uniforms.regionTable[20][1]
180
+ f32[98] = uniforms.regionTable[20][2]
181
+ f32[99] = uniforms.regionTable[20][3]
182
+ f32[100] = uniforms.regionTable[21][0]
183
+ f32[101] = uniforms.regionTable[21][1]
184
+ f32[102] = uniforms.regionTable[21][2]
185
+ f32[103] = uniforms.regionTable[21][3]
186
+ f32[104] = uniforms.regionTable[22][0]
187
+ f32[105] = uniforms.regionTable[22][1]
188
+ f32[106] = uniforms.regionTable[22][2]
189
+ f32[107] = uniforms.regionTable[22][3]
190
+ f32[108] = uniforms.regionTable[23][0]
191
+ f32[109] = uniforms.regionTable[23][1]
192
+ f32[110] = uniforms.regionTable[23][2]
193
+ f32[111] = uniforms.regionTable[23][3]
194
+ f32[112] = uniforms.regionTable[24][0]
195
+ f32[113] = uniforms.regionTable[24][1]
196
+ f32[114] = uniforms.regionTable[24][2]
197
+ f32[115] = uniforms.regionTable[24][3]
198
+ f32[116] = uniforms.regionTable[25][0]
199
+ f32[117] = uniforms.regionTable[25][1]
200
+ f32[118] = uniforms.regionTable[25][2]
201
+ f32[119] = uniforms.regionTable[25][3]
202
+ f32[120] = uniforms.regionTable[26][0]
203
+ f32[121] = uniforms.regionTable[26][1]
204
+ f32[122] = uniforms.regionTable[26][2]
205
+ f32[123] = uniforms.regionTable[26][3]
206
+ f32[124] = uniforms.regionTable[27][0]
207
+ f32[125] = uniforms.regionTable[27][1]
208
+ f32[126] = uniforms.regionTable[27][2]
209
+ f32[127] = uniforms.regionTable[27][3]
210
+ f32[128] = uniforms.regionTable[28][0]
211
+ f32[129] = uniforms.regionTable[28][1]
212
+ f32[130] = uniforms.regionTable[28][2]
213
+ f32[131] = uniforms.regionTable[28][3]
214
+ f32[132] = uniforms.regionTable[29][0]
215
+ f32[133] = uniforms.regionTable[29][1]
216
+ f32[134] = uniforms.regionTable[29][2]
217
+ f32[135] = uniforms.regionTable[29][3]
218
+ f32[136] = uniforms.regionTable[30][0]
219
+ f32[137] = uniforms.regionTable[30][1]
220
+ f32[138] = uniforms.regionTable[30][2]
221
+ f32[139] = uniforms.regionTable[30][3]
222
+ f32[140] = uniforms.regionTable[31][0]
223
+ f32[141] = uniforms.regionTable[31][1]
224
+ f32[142] = uniforms.regionTable[31][2]
225
+ f32[143] = uniforms.regionTable[31][3]
226
+ f32[144] = uniforms.regionTable[32][0]
227
+ f32[145] = uniforms.regionTable[32][1]
228
+ f32[146] = uniforms.regionTable[32][2]
229
+ f32[147] = uniforms.regionTable[32][3]
230
+ f32[148] = uniforms.regionTable[33][0]
231
+ f32[149] = uniforms.regionTable[33][1]
232
+ f32[150] = uniforms.regionTable[33][2]
233
+ f32[151] = uniforms.regionTable[33][3]
234
+ f32[152] = uniforms.regionTable[34][0]
235
+ f32[153] = uniforms.regionTable[34][1]
236
+ f32[154] = uniforms.regionTable[34][2]
237
+ f32[155] = uniforms.regionTable[34][3]
238
+ f32[156] = uniforms.regionTable[35][0]
239
+ f32[157] = uniforms.regionTable[35][1]
240
+ f32[158] = uniforms.regionTable[35][2]
241
+ f32[159] = uniforms.regionTable[35][3]
242
+ f32[160] = uniforms.regionTable[36][0]
243
+ f32[161] = uniforms.regionTable[36][1]
244
+ f32[162] = uniforms.regionTable[36][2]
245
+ f32[163] = uniforms.regionTable[36][3]
246
+ f32[164] = uniforms.regionTable[37][0]
247
+ f32[165] = uniforms.regionTable[37][1]
248
+ f32[166] = uniforms.regionTable[37][2]
249
+ f32[167] = uniforms.regionTable[37][3]
250
+ f32[168] = uniforms.regionTable[38][0]
251
+ f32[169] = uniforms.regionTable[38][1]
252
+ f32[170] = uniforms.regionTable[38][2]
253
+ f32[171] = uniforms.regionTable[38][3]
254
+ f32[172] = uniforms.regionTable[39][0]
255
+ f32[173] = uniforms.regionTable[39][1]
256
+ f32[174] = uniforms.regionTable[39][2]
257
+ f32[175] = uniforms.regionTable[39][3]
258
+ f32[176] = uniforms.regionTable[40][0]
259
+ f32[177] = uniforms.regionTable[40][1]
260
+ f32[178] = uniforms.regionTable[40][2]
261
+ f32[179] = uniforms.regionTable[40][3]
262
+ f32[180] = uniforms.regionTable[41][0]
263
+ f32[181] = uniforms.regionTable[41][1]
264
+ f32[182] = uniforms.regionTable[41][2]
265
+ f32[183] = uniforms.regionTable[41][3]
266
+ f32[184] = uniforms.regionTable[42][0]
267
+ f32[185] = uniforms.regionTable[42][1]
268
+ f32[186] = uniforms.regionTable[42][2]
269
+ f32[187] = uniforms.regionTable[42][3]
270
+ f32[188] = uniforms.regionTable[43][0]
271
+ f32[189] = uniforms.regionTable[43][1]
272
+ f32[190] = uniforms.regionTable[43][2]
273
+ f32[191] = uniforms.regionTable[43][3]
274
+ f32[192] = uniforms.regionTable[44][0]
275
+ f32[193] = uniforms.regionTable[44][1]
276
+ f32[194] = uniforms.regionTable[44][2]
277
+ f32[195] = uniforms.regionTable[44][3]
278
+ f32[196] = uniforms.regionTable[45][0]
279
+ f32[197] = uniforms.regionTable[45][1]
280
+ f32[198] = uniforms.regionTable[45][2]
281
+ f32[199] = uniforms.regionTable[45][3]
282
+ f32[200] = uniforms.regionTable[46][0]
283
+ f32[201] = uniforms.regionTable[46][1]
284
+ f32[202] = uniforms.regionTable[46][2]
285
+ f32[203] = uniforms.regionTable[46][3]
286
+ f32[204] = uniforms.regionTable[47][0]
287
+ f32[205] = uniforms.regionTable[47][1]
288
+ f32[206] = uniforms.regionTable[47][2]
289
+ f32[207] = uniforms.regionTable[47][3]
290
+ f32[208] = uniforms.regionTable[48][0]
291
+ f32[209] = uniforms.regionTable[48][1]
292
+ f32[210] = uniforms.regionTable[48][2]
293
+ f32[211] = uniforms.regionTable[48][3]
294
+ f32[212] = uniforms.regionTable[49][0]
295
+ f32[213] = uniforms.regionTable[49][1]
296
+ f32[214] = uniforms.regionTable[49][2]
297
+ f32[215] = uniforms.regionTable[49][3]
298
+ f32[216] = uniforms.regionTable[50][0]
299
+ f32[217] = uniforms.regionTable[50][1]
300
+ f32[218] = uniforms.regionTable[50][2]
301
+ f32[219] = uniforms.regionTable[50][3]
302
+ f32[220] = uniforms.regionTable[51][0]
303
+ f32[221] = uniforms.regionTable[51][1]
304
+ f32[222] = uniforms.regionTable[51][2]
305
+ f32[223] = uniforms.regionTable[51][3]
306
+ f32[224] = uniforms.regionTable[52][0]
307
+ f32[225] = uniforms.regionTable[52][1]
308
+ f32[226] = uniforms.regionTable[52][2]
309
+ f32[227] = uniforms.regionTable[52][3]
310
+ f32[228] = uniforms.regionTable[53][0]
311
+ f32[229] = uniforms.regionTable[53][1]
312
+ f32[230] = uniforms.regionTable[53][2]
313
+ f32[231] = uniforms.regionTable[53][3]
314
+ f32[232] = uniforms.regionTable[54][0]
315
+ f32[233] = uniforms.regionTable[54][1]
316
+ f32[234] = uniforms.regionTable[54][2]
317
+ f32[235] = uniforms.regionTable[54][3]
318
+ f32[236] = uniforms.regionTable[55][0]
319
+ f32[237] = uniforms.regionTable[55][1]
320
+ f32[238] = uniforms.regionTable[55][2]
321
+ f32[239] = uniforms.regionTable[55][3]
322
+ f32[240] = uniforms.regionTable[56][0]
323
+ f32[241] = uniforms.regionTable[56][1]
324
+ f32[242] = uniforms.regionTable[56][2]
325
+ f32[243] = uniforms.regionTable[56][3]
326
+ f32[244] = uniforms.regionTable[57][0]
327
+ f32[245] = uniforms.regionTable[57][1]
328
+ f32[246] = uniforms.regionTable[57][2]
329
+ f32[247] = uniforms.regionTable[57][3]
330
+ f32[248] = uniforms.regionTable[58][0]
331
+ f32[249] = uniforms.regionTable[58][1]
332
+ f32[250] = uniforms.regionTable[58][2]
333
+ f32[251] = uniforms.regionTable[58][3]
334
+ f32[252] = uniforms.regionTable[59][0]
335
+ f32[253] = uniforms.regionTable[59][1]
336
+ f32[254] = uniforms.regionTable[59][2]
337
+ f32[255] = uniforms.regionTable[59][3]
338
+ f32[256] = uniforms.regionTable[60][0]
339
+ f32[257] = uniforms.regionTable[60][1]
340
+ f32[258] = uniforms.regionTable[60][2]
341
+ f32[259] = uniforms.regionTable[60][3]
342
+ f32[260] = uniforms.regionTable[61][0]
343
+ f32[261] = uniforms.regionTable[61][1]
344
+ f32[262] = uniforms.regionTable[61][2]
345
+ f32[263] = uniforms.regionTable[61][3]
346
+ f32[264] = uniforms.regionTable[62][0]
347
+ f32[265] = uniforms.regionTable[62][1]
348
+ f32[266] = uniforms.regionTable[62][2]
349
+ f32[267] = uniforms.regionTable[62][3]
350
+ f32[268] = uniforms.regionTable[63][0]
351
+ f32[269] = uniforms.regionTable[63][1]
352
+ f32[270] = uniforms.regionTable[63][2]
353
+ f32[271] = uniforms.regionTable[63][3]
354
+ f32[272] = uniforms.regionTable[64][0]
355
+ f32[273] = uniforms.regionTable[64][1]
356
+ f32[274] = uniforms.regionTable[64][2]
357
+ f32[275] = uniforms.regionTable[64][3]
358
+ f32[276] = uniforms.regionTable[65][0]
359
+ f32[277] = uniforms.regionTable[65][1]
360
+ f32[278] = uniforms.regionTable[65][2]
361
+ f32[279] = uniforms.regionTable[65][3]
362
+ f32[280] = uniforms.regionTable[66][0]
363
+ f32[281] = uniforms.regionTable[66][1]
364
+ f32[282] = uniforms.regionTable[66][2]
365
+ f32[283] = uniforms.regionTable[66][3]
366
+ f32[284] = uniforms.regionTable[67][0]
367
+ f32[285] = uniforms.regionTable[67][1]
368
+ f32[286] = uniforms.regionTable[67][2]
369
+ f32[287] = uniforms.regionTable[67][3]
370
+ f32[288] = uniforms.regionTable[68][0]
371
+ f32[289] = uniforms.regionTable[68][1]
372
+ f32[290] = uniforms.regionTable[68][2]
373
+ f32[291] = uniforms.regionTable[68][3]
374
+ f32[292] = uniforms.regionTable[69][0]
375
+ f32[293] = uniforms.regionTable[69][1]
376
+ f32[294] = uniforms.regionTable[69][2]
377
+ f32[295] = uniforms.regionTable[69][3]
378
+ f32[296] = uniforms.regionTable[70][0]
379
+ f32[297] = uniforms.regionTable[70][1]
380
+ f32[298] = uniforms.regionTable[70][2]
381
+ f32[299] = uniforms.regionTable[70][3]
382
+ f32[300] = uniforms.regionTable[71][0]
383
+ f32[301] = uniforms.regionTable[71][1]
384
+ f32[302] = uniforms.regionTable[71][2]
385
+ f32[303] = uniforms.regionTable[71][3]
386
+ f32[304] = uniforms.regionTable[72][0]
387
+ f32[305] = uniforms.regionTable[72][1]
388
+ f32[306] = uniforms.regionTable[72][2]
389
+ f32[307] = uniforms.regionTable[72][3]
390
+ f32[308] = uniforms.regionTable[73][0]
391
+ f32[309] = uniforms.regionTable[73][1]
392
+ f32[310] = uniforms.regionTable[73][2]
393
+ f32[311] = uniforms.regionTable[73][3]
394
+ f32[312] = uniforms.regionTable[74][0]
395
+ f32[313] = uniforms.regionTable[74][1]
396
+ f32[314] = uniforms.regionTable[74][2]
397
+ f32[315] = uniforms.regionTable[74][3]
398
+ f32[316] = uniforms.regionTable[75][0]
399
+ f32[317] = uniforms.regionTable[75][1]
400
+ f32[318] = uniforms.regionTable[75][2]
401
+ f32[319] = uniforms.regionTable[75][3]
402
+ f32[320] = uniforms.regionTable[76][0]
403
+ f32[321] = uniforms.regionTable[76][1]
404
+ f32[322] = uniforms.regionTable[76][2]
405
+ f32[323] = uniforms.regionTable[76][3]
406
+ f32[324] = uniforms.regionTable[77][0]
407
+ f32[325] = uniforms.regionTable[77][1]
408
+ f32[326] = uniforms.regionTable[77][2]
409
+ f32[327] = uniforms.regionTable[77][3]
410
+ f32[328] = uniforms.regionTable[78][0]
411
+ f32[329] = uniforms.regionTable[78][1]
412
+ f32[330] = uniforms.regionTable[78][2]
413
+ f32[331] = uniforms.regionTable[78][3]
414
+ f32[332] = uniforms.regionTable[79][0]
415
+ f32[333] = uniforms.regionTable[79][1]
416
+ f32[334] = uniforms.regionTable[79][2]
417
+ f32[335] = uniforms.regionTable[79][3]
418
+ f32[336] = uniforms.regionTable[80][0]
419
+ f32[337] = uniforms.regionTable[80][1]
420
+ f32[338] = uniforms.regionTable[80][2]
421
+ f32[339] = uniforms.regionTable[80][3]
422
+ f32[340] = uniforms.regionTable[81][0]
423
+ f32[341] = uniforms.regionTable[81][1]
424
+ f32[342] = uniforms.regionTable[81][2]
425
+ f32[343] = uniforms.regionTable[81][3]
426
+ f32[344] = uniforms.regionTable[82][0]
427
+ f32[345] = uniforms.regionTable[82][1]
428
+ f32[346] = uniforms.regionTable[82][2]
429
+ f32[347] = uniforms.regionTable[82][3]
430
+ f32[348] = uniforms.regionTable[83][0]
431
+ f32[349] = uniforms.regionTable[83][1]
432
+ f32[350] = uniforms.regionTable[83][2]
433
+ f32[351] = uniforms.regionTable[83][3]
434
+ f32[352] = uniforms.regionTable[84][0]
435
+ f32[353] = uniforms.regionTable[84][1]
436
+ f32[354] = uniforms.regionTable[84][2]
437
+ f32[355] = uniforms.regionTable[84][3]
438
+ f32[356] = uniforms.regionTable[85][0]
439
+ f32[357] = uniforms.regionTable[85][1]
440
+ f32[358] = uniforms.regionTable[85][2]
441
+ f32[359] = uniforms.regionTable[85][3]
442
+ f32[360] = uniforms.regionTable[86][0]
443
+ f32[361] = uniforms.regionTable[86][1]
444
+ f32[362] = uniforms.regionTable[86][2]
445
+ f32[363] = uniforms.regionTable[86][3]
446
+ f32[364] = uniforms.regionTable[87][0]
447
+ f32[365] = uniforms.regionTable[87][1]
448
+ f32[366] = uniforms.regionTable[87][2]
449
+ f32[367] = uniforms.regionTable[87][3]
450
+ f32[368] = uniforms.regionTable[88][0]
451
+ f32[369] = uniforms.regionTable[88][1]
452
+ f32[370] = uniforms.regionTable[88][2]
453
+ f32[371] = uniforms.regionTable[88][3]
454
+ f32[372] = uniforms.regionTable[89][0]
455
+ f32[373] = uniforms.regionTable[89][1]
456
+ f32[374] = uniforms.regionTable[89][2]
457
+ f32[375] = uniforms.regionTable[89][3]
458
+ f32[376] = uniforms.regionTable[90][0]
459
+ f32[377] = uniforms.regionTable[90][1]
460
+ f32[378] = uniforms.regionTable[90][2]
461
+ f32[379] = uniforms.regionTable[90][3]
462
+ f32[380] = uniforms.regionTable[91][0]
463
+ f32[381] = uniforms.regionTable[91][1]
464
+ f32[382] = uniforms.regionTable[91][2]
465
+ f32[383] = uniforms.regionTable[91][3]
466
+ f32[384] = uniforms.regionTable[92][0]
467
+ f32[385] = uniforms.regionTable[92][1]
468
+ f32[386] = uniforms.regionTable[92][2]
469
+ f32[387] = uniforms.regionTable[92][3]
470
+ f32[388] = uniforms.regionTable[93][0]
471
+ f32[389] = uniforms.regionTable[93][1]
472
+ f32[390] = uniforms.regionTable[93][2]
473
+ f32[391] = uniforms.regionTable[93][3]
474
+ f32[392] = uniforms.regionTable[94][0]
475
+ f32[393] = uniforms.regionTable[94][1]
476
+ f32[394] = uniforms.regionTable[94][2]
477
+ f32[395] = uniforms.regionTable[94][3]
478
+ f32[396] = uniforms.regionTable[95][0]
479
+ f32[397] = uniforms.regionTable[95][1]
480
+ f32[398] = uniforms.regionTable[95][2]
481
+ f32[399] = uniforms.regionTable[95][3]
482
+ f32[400] = uniforms.regionTable[96][0]
483
+ f32[401] = uniforms.regionTable[96][1]
484
+ f32[402] = uniforms.regionTable[96][2]
485
+ f32[403] = uniforms.regionTable[96][3]
486
+ f32[404] = uniforms.regionTable[97][0]
487
+ f32[405] = uniforms.regionTable[97][1]
488
+ f32[406] = uniforms.regionTable[97][2]
489
+ f32[407] = uniforms.regionTable[97][3]
490
+ f32[408] = uniforms.regionTable[98][0]
491
+ f32[409] = uniforms.regionTable[98][1]
492
+ f32[410] = uniforms.regionTable[98][2]
493
+ f32[411] = uniforms.regionTable[98][3]
494
+ f32[412] = uniforms.regionTable[99][0]
495
+ f32[413] = uniforms.regionTable[99][1]
496
+ f32[414] = uniforms.regionTable[99][2]
497
+ f32[415] = uniforms.regionTable[99][3]
498
+ f32[416] = uniforms.regionTable[100][0]
499
+ f32[417] = uniforms.regionTable[100][1]
500
+ f32[418] = uniforms.regionTable[100][2]
501
+ f32[419] = uniforms.regionTable[100][3]
502
+ f32[420] = uniforms.regionTable[101][0]
503
+ f32[421] = uniforms.regionTable[101][1]
504
+ f32[422] = uniforms.regionTable[101][2]
505
+ f32[423] = uniforms.regionTable[101][3]
506
+ f32[424] = uniforms.regionTable[102][0]
507
+ f32[425] = uniforms.regionTable[102][1]
508
+ f32[426] = uniforms.regionTable[102][2]
509
+ f32[427] = uniforms.regionTable[102][3]
510
+ f32[428] = uniforms.regionTable[103][0]
511
+ f32[429] = uniforms.regionTable[103][1]
512
+ f32[430] = uniforms.regionTable[103][2]
513
+ f32[431] = uniforms.regionTable[103][3]
514
+ f32[432] = uniforms.regionTable[104][0]
515
+ f32[433] = uniforms.regionTable[104][1]
516
+ f32[434] = uniforms.regionTable[104][2]
517
+ f32[435] = uniforms.regionTable[104][3]
518
+ f32[436] = uniforms.regionTable[105][0]
519
+ f32[437] = uniforms.regionTable[105][1]
520
+ f32[438] = uniforms.regionTable[105][2]
521
+ f32[439] = uniforms.regionTable[105][3]
522
+ f32[440] = uniforms.regionTable[106][0]
523
+ f32[441] = uniforms.regionTable[106][1]
524
+ f32[442] = uniforms.regionTable[106][2]
525
+ f32[443] = uniforms.regionTable[106][3]
526
+ f32[444] = uniforms.regionTable[107][0]
527
+ f32[445] = uniforms.regionTable[107][1]
528
+ f32[446] = uniforms.regionTable[107][2]
529
+ f32[447] = uniforms.regionTable[107][3]
530
+ f32[448] = uniforms.regionTable[108][0]
531
+ f32[449] = uniforms.regionTable[108][1]
532
+ f32[450] = uniforms.regionTable[108][2]
533
+ f32[451] = uniforms.regionTable[108][3]
534
+ f32[452] = uniforms.regionTable[109][0]
535
+ f32[453] = uniforms.regionTable[109][1]
536
+ f32[454] = uniforms.regionTable[109][2]
537
+ f32[455] = uniforms.regionTable[109][3]
538
+ f32[456] = uniforms.regionTable[110][0]
539
+ f32[457] = uniforms.regionTable[110][1]
540
+ f32[458] = uniforms.regionTable[110][2]
541
+ f32[459] = uniforms.regionTable[110][3]
542
+ f32[460] = uniforms.regionTable[111][0]
543
+ f32[461] = uniforms.regionTable[111][1]
544
+ f32[462] = uniforms.regionTable[111][2]
545
+ f32[463] = uniforms.regionTable[111][3]
546
+ f32[464] = uniforms.regionTable[112][0]
547
+ f32[465] = uniforms.regionTable[112][1]
548
+ f32[466] = uniforms.regionTable[112][2]
549
+ f32[467] = uniforms.regionTable[112][3]
550
+ f32[468] = uniforms.regionTable[113][0]
551
+ f32[469] = uniforms.regionTable[113][1]
552
+ f32[470] = uniforms.regionTable[113][2]
553
+ f32[471] = uniforms.regionTable[113][3]
554
+ f32[472] = uniforms.regionTable[114][0]
555
+ f32[473] = uniforms.regionTable[114][1]
556
+ f32[474] = uniforms.regionTable[114][2]
557
+ f32[475] = uniforms.regionTable[114][3]
558
+ f32[476] = uniforms.regionTable[115][0]
559
+ f32[477] = uniforms.regionTable[115][1]
560
+ f32[478] = uniforms.regionTable[115][2]
561
+ f32[479] = uniforms.regionTable[115][3]
562
+ f32[480] = uniforms.regionTable[116][0]
563
+ f32[481] = uniforms.regionTable[116][1]
564
+ f32[482] = uniforms.regionTable[116][2]
565
+ f32[483] = uniforms.regionTable[116][3]
566
+ f32[484] = uniforms.regionTable[117][0]
567
+ f32[485] = uniforms.regionTable[117][1]
568
+ f32[486] = uniforms.regionTable[117][2]
569
+ f32[487] = uniforms.regionTable[117][3]
570
+ f32[488] = uniforms.regionTable[118][0]
571
+ f32[489] = uniforms.regionTable[118][1]
572
+ f32[490] = uniforms.regionTable[118][2]
573
+ f32[491] = uniforms.regionTable[118][3]
574
+ f32[492] = uniforms.regionTable[119][0]
575
+ f32[493] = uniforms.regionTable[119][1]
576
+ f32[494] = uniforms.regionTable[119][2]
577
+ f32[495] = uniforms.regionTable[119][3]
578
+ f32[496] = uniforms.regionTable[120][0]
579
+ f32[497] = uniforms.regionTable[120][1]
580
+ f32[498] = uniforms.regionTable[120][2]
581
+ f32[499] = uniforms.regionTable[120][3]
582
+ f32[500] = uniforms.regionTable[121][0]
583
+ f32[501] = uniforms.regionTable[121][1]
584
+ f32[502] = uniforms.regionTable[121][2]
585
+ f32[503] = uniforms.regionTable[121][3]
586
+ f32[504] = uniforms.regionTable[122][0]
587
+ f32[505] = uniforms.regionTable[122][1]
588
+ f32[506] = uniforms.regionTable[122][2]
589
+ f32[507] = uniforms.regionTable[122][3]
590
+ f32[508] = uniforms.regionTable[123][0]
591
+ f32[509] = uniforms.regionTable[123][1]
592
+ f32[510] = uniforms.regionTable[123][2]
593
+ f32[511] = uniforms.regionTable[123][3]
594
+ f32[512] = uniforms.regionTable[124][0]
595
+ f32[513] = uniforms.regionTable[124][1]
596
+ f32[514] = uniforms.regionTable[124][2]
597
+ f32[515] = uniforms.regionTable[124][3]
598
+ f32[516] = uniforms.regionTable[125][0]
599
+ f32[517] = uniforms.regionTable[125][1]
600
+ f32[518] = uniforms.regionTable[125][2]
601
+ f32[519] = uniforms.regionTable[125][3]
602
+ f32[520] = uniforms.regionTable[126][0]
603
+ f32[521] = uniforms.regionTable[126][1]
604
+ f32[522] = uniforms.regionTable[126][2]
605
+ f32[523] = uniforms.regionTable[126][3]
606
+ f32[524] = uniforms.regionTable[127][0]
607
+ f32[525] = uniforms.regionTable[127][1]
608
+ f32[526] = uniforms.regionTable[127][2]
609
+ f32[527] = uniforms.regionTable[127][3]
610
+ f32[528] = uniforms.regionTable[128][0]
611
+ f32[529] = uniforms.regionTable[128][1]
612
+ f32[530] = uniforms.regionTable[128][2]
613
+ f32[531] = uniforms.regionTable[128][3]
614
+ f32[532] = uniforms.regionTable[129][0]
615
+ f32[533] = uniforms.regionTable[129][1]
616
+ f32[534] = uniforms.regionTable[129][2]
617
+ f32[535] = uniforms.regionTable[129][3]
618
+ f32[536] = uniforms.regionTable[130][0]
619
+ f32[537] = uniforms.regionTable[130][1]
620
+ f32[538] = uniforms.regionTable[130][2]
621
+ f32[539] = uniforms.regionTable[130][3]
622
+ f32[540] = uniforms.regionTable[131][0]
623
+ f32[541] = uniforms.regionTable[131][1]
624
+ f32[542] = uniforms.regionTable[131][2]
625
+ f32[543] = uniforms.regionTable[131][3]
626
+ f32[544] = uniforms.regionTable[132][0]
627
+ f32[545] = uniforms.regionTable[132][1]
628
+ f32[546] = uniforms.regionTable[132][2]
629
+ f32[547] = uniforms.regionTable[132][3]
630
+ f32[548] = uniforms.regionTable[133][0]
631
+ f32[549] = uniforms.regionTable[133][1]
632
+ f32[550] = uniforms.regionTable[133][2]
633
+ f32[551] = uniforms.regionTable[133][3]
634
+ f32[552] = uniforms.regionTable[134][0]
635
+ f32[553] = uniforms.regionTable[134][1]
636
+ f32[554] = uniforms.regionTable[134][2]
637
+ f32[555] = uniforms.regionTable[134][3]
638
+ f32[556] = uniforms.regionTable[135][0]
639
+ f32[557] = uniforms.regionTable[135][1]
640
+ f32[558] = uniforms.regionTable[135][2]
641
+ f32[559] = uniforms.regionTable[135][3]
642
+ f32[560] = uniforms.regionTable[136][0]
643
+ f32[561] = uniforms.regionTable[136][1]
644
+ f32[562] = uniforms.regionTable[136][2]
645
+ f32[563] = uniforms.regionTable[136][3]
646
+ f32[564] = uniforms.regionTable[137][0]
647
+ f32[565] = uniforms.regionTable[137][1]
648
+ f32[566] = uniforms.regionTable[137][2]
649
+ f32[567] = uniforms.regionTable[137][3]
650
+ f32[568] = uniforms.regionTable[138][0]
651
+ f32[569] = uniforms.regionTable[138][1]
652
+ f32[570] = uniforms.regionTable[138][2]
653
+ f32[571] = uniforms.regionTable[138][3]
654
+ f32[572] = uniforms.regionTable[139][0]
655
+ f32[573] = uniforms.regionTable[139][1]
656
+ f32[574] = uniforms.regionTable[139][2]
657
+ f32[575] = uniforms.regionTable[139][3]
658
+ f32[576] = uniforms.regionTable[140][0]
659
+ f32[577] = uniforms.regionTable[140][1]
660
+ f32[578] = uniforms.regionTable[140][2]
661
+ f32[579] = uniforms.regionTable[140][3]
662
+ f32[580] = uniforms.regionTable[141][0]
663
+ f32[581] = uniforms.regionTable[141][1]
664
+ f32[582] = uniforms.regionTable[141][2]
665
+ f32[583] = uniforms.regionTable[141][3]
666
+ f32[584] = uniforms.regionTable[142][0]
667
+ f32[585] = uniforms.regionTable[142][1]
668
+ f32[586] = uniforms.regionTable[142][2]
669
+ f32[587] = uniforms.regionTable[142][3]
670
+ f32[588] = uniforms.regionTable[143][0]
671
+ f32[589] = uniforms.regionTable[143][1]
672
+ f32[590] = uniforms.regionTable[143][2]
673
+ f32[591] = uniforms.regionTable[143][3]
674
+ f32[592] = uniforms.regionTable[144][0]
675
+ f32[593] = uniforms.regionTable[144][1]
676
+ f32[594] = uniforms.regionTable[144][2]
677
+ f32[595] = uniforms.regionTable[144][3]
678
+ f32[596] = uniforms.regionTable[145][0]
679
+ f32[597] = uniforms.regionTable[145][1]
680
+ f32[598] = uniforms.regionTable[145][2]
681
+ f32[599] = uniforms.regionTable[145][3]
682
+ f32[600] = uniforms.regionTable[146][0]
683
+ f32[601] = uniforms.regionTable[146][1]
684
+ f32[602] = uniforms.regionTable[146][2]
685
+ f32[603] = uniforms.regionTable[146][3]
686
+ f32[604] = uniforms.regionTable[147][0]
687
+ f32[605] = uniforms.regionTable[147][1]
688
+ f32[606] = uniforms.regionTable[147][2]
689
+ f32[607] = uniforms.regionTable[147][3]
690
+ f32[608] = uniforms.regionTable[148][0]
691
+ f32[609] = uniforms.regionTable[148][1]
692
+ f32[610] = uniforms.regionTable[148][2]
693
+ f32[611] = uniforms.regionTable[148][3]
694
+ f32[612] = uniforms.regionTable[149][0]
695
+ f32[613] = uniforms.regionTable[149][1]
696
+ f32[614] = uniforms.regionTable[149][2]
697
+ f32[615] = uniforms.regionTable[149][3]
698
+ f32[616] = uniforms.regionTable[150][0]
699
+ f32[617] = uniforms.regionTable[150][1]
700
+ f32[618] = uniforms.regionTable[150][2]
701
+ f32[619] = uniforms.regionTable[150][3]
702
+ f32[620] = uniforms.regionTable[151][0]
703
+ f32[621] = uniforms.regionTable[151][1]
704
+ f32[622] = uniforms.regionTable[151][2]
705
+ f32[623] = uniforms.regionTable[151][3]
706
+ f32[624] = uniforms.regionTable[152][0]
707
+ f32[625] = uniforms.regionTable[152][1]
708
+ f32[626] = uniforms.regionTable[152][2]
709
+ f32[627] = uniforms.regionTable[152][3]
710
+ f32[628] = uniforms.regionTable[153][0]
711
+ f32[629] = uniforms.regionTable[153][1]
712
+ f32[630] = uniforms.regionTable[153][2]
713
+ f32[631] = uniforms.regionTable[153][3]
714
+ f32[632] = uniforms.regionTable[154][0]
715
+ f32[633] = uniforms.regionTable[154][1]
716
+ f32[634] = uniforms.regionTable[154][2]
717
+ f32[635] = uniforms.regionTable[154][3]
718
+ f32[636] = uniforms.regionTable[155][0]
719
+ f32[637] = uniforms.regionTable[155][1]
720
+ f32[638] = uniforms.regionTable[155][2]
721
+ f32[639] = uniforms.regionTable[155][3]
722
+ f32[640] = uniforms.regionTable[156][0]
723
+ f32[641] = uniforms.regionTable[156][1]
724
+ f32[642] = uniforms.regionTable[156][2]
725
+ f32[643] = uniforms.regionTable[156][3]
726
+ f32[644] = uniforms.regionTable[157][0]
727
+ f32[645] = uniforms.regionTable[157][1]
728
+ f32[646] = uniforms.regionTable[157][2]
729
+ f32[647] = uniforms.regionTable[157][3]
730
+ f32[648] = uniforms.regionTable[158][0]
731
+ f32[649] = uniforms.regionTable[158][1]
732
+ f32[650] = uniforms.regionTable[158][2]
733
+ f32[651] = uniforms.regionTable[158][3]
734
+ f32[652] = uniforms.regionTable[159][0]
735
+ f32[653] = uniforms.regionTable[159][1]
736
+ f32[654] = uniforms.regionTable[159][2]
737
+ f32[655] = uniforms.regionTable[159][3]
738
+ f32[656] = uniforms.regionTable[160][0]
739
+ f32[657] = uniforms.regionTable[160][1]
740
+ f32[658] = uniforms.regionTable[160][2]
741
+ f32[659] = uniforms.regionTable[160][3]
742
+ f32[660] = uniforms.regionTable[161][0]
743
+ f32[661] = uniforms.regionTable[161][1]
744
+ f32[662] = uniforms.regionTable[161][2]
745
+ f32[663] = uniforms.regionTable[161][3]
746
+ f32[664] = uniforms.regionTable[162][0]
747
+ f32[665] = uniforms.regionTable[162][1]
748
+ f32[666] = uniforms.regionTable[162][2]
749
+ f32[667] = uniforms.regionTable[162][3]
750
+ f32[668] = uniforms.regionTable[163][0]
751
+ f32[669] = uniforms.regionTable[163][1]
752
+ f32[670] = uniforms.regionTable[163][2]
753
+ f32[671] = uniforms.regionTable[163][3]
754
+ f32[672] = uniforms.regionTable[164][0]
755
+ f32[673] = uniforms.regionTable[164][1]
756
+ f32[674] = uniforms.regionTable[164][2]
757
+ f32[675] = uniforms.regionTable[164][3]
758
+ f32[676] = uniforms.regionTable[165][0]
759
+ f32[677] = uniforms.regionTable[165][1]
760
+ f32[678] = uniforms.regionTable[165][2]
761
+ f32[679] = uniforms.regionTable[165][3]
762
+ f32[680] = uniforms.regionTable[166][0]
763
+ f32[681] = uniforms.regionTable[166][1]
764
+ f32[682] = uniforms.regionTable[166][2]
765
+ f32[683] = uniforms.regionTable[166][3]
766
+ f32[684] = uniforms.regionTable[167][0]
767
+ f32[685] = uniforms.regionTable[167][1]
768
+ f32[686] = uniforms.regionTable[167][2]
769
+ f32[687] = uniforms.regionTable[167][3]
770
+ f32[688] = uniforms.regionTable[168][0]
771
+ f32[689] = uniforms.regionTable[168][1]
772
+ f32[690] = uniforms.regionTable[168][2]
773
+ f32[691] = uniforms.regionTable[168][3]
774
+ f32[692] = uniforms.regionTable[169][0]
775
+ f32[693] = uniforms.regionTable[169][1]
776
+ f32[694] = uniforms.regionTable[169][2]
777
+ f32[695] = uniforms.regionTable[169][3]
778
+ f32[696] = uniforms.regionTable[170][0]
779
+ f32[697] = uniforms.regionTable[170][1]
780
+ f32[698] = uniforms.regionTable[170][2]
781
+ f32[699] = uniforms.regionTable[170][3]
782
+ f32[700] = uniforms.regionTable[171][0]
783
+ f32[701] = uniforms.regionTable[171][1]
784
+ f32[702] = uniforms.regionTable[171][2]
785
+ f32[703] = uniforms.regionTable[171][3]
786
+ f32[704] = uniforms.regionTable[172][0]
787
+ f32[705] = uniforms.regionTable[172][1]
788
+ f32[706] = uniforms.regionTable[172][2]
789
+ f32[707] = uniforms.regionTable[172][3]
790
+ f32[708] = uniforms.regionTable[173][0]
791
+ f32[709] = uniforms.regionTable[173][1]
792
+ f32[710] = uniforms.regionTable[173][2]
793
+ f32[711] = uniforms.regionTable[173][3]
794
+ f32[712] = uniforms.regionTable[174][0]
795
+ f32[713] = uniforms.regionTable[174][1]
796
+ f32[714] = uniforms.regionTable[174][2]
797
+ f32[715] = uniforms.regionTable[174][3]
798
+ f32[716] = uniforms.regionTable[175][0]
799
+ f32[717] = uniforms.regionTable[175][1]
800
+ f32[718] = uniforms.regionTable[175][2]
801
+ f32[719] = uniforms.regionTable[175][3]
802
+ f32[720] = uniforms.regionTable[176][0]
803
+ f32[721] = uniforms.regionTable[176][1]
804
+ f32[722] = uniforms.regionTable[176][2]
805
+ f32[723] = uniforms.regionTable[176][3]
806
+ f32[724] = uniforms.regionTable[177][0]
807
+ f32[725] = uniforms.regionTable[177][1]
808
+ f32[726] = uniforms.regionTable[177][2]
809
+ f32[727] = uniforms.regionTable[177][3]
810
+ f32[728] = uniforms.regionTable[178][0]
811
+ f32[729] = uniforms.regionTable[178][1]
812
+ f32[730] = uniforms.regionTable[178][2]
813
+ f32[731] = uniforms.regionTable[178][3]
814
+ f32[732] = uniforms.regionTable[179][0]
815
+ f32[733] = uniforms.regionTable[179][1]
816
+ f32[734] = uniforms.regionTable[179][2]
817
+ f32[735] = uniforms.regionTable[179][3]
818
+ f32[736] = uniforms.regionTable[180][0]
819
+ f32[737] = uniforms.regionTable[180][1]
820
+ f32[738] = uniforms.regionTable[180][2]
821
+ f32[739] = uniforms.regionTable[180][3]
822
+ f32[740] = uniforms.regionTable[181][0]
823
+ f32[741] = uniforms.regionTable[181][1]
824
+ f32[742] = uniforms.regionTable[181][2]
825
+ f32[743] = uniforms.regionTable[181][3]
826
+ f32[744] = uniforms.regionTable[182][0]
827
+ f32[745] = uniforms.regionTable[182][1]
828
+ f32[746] = uniforms.regionTable[182][2]
829
+ f32[747] = uniforms.regionTable[182][3]
830
+ f32[748] = uniforms.regionTable[183][0]
831
+ f32[749] = uniforms.regionTable[183][1]
832
+ f32[750] = uniforms.regionTable[183][2]
833
+ f32[751] = uniforms.regionTable[183][3]
834
+ f32[752] = uniforms.regionTable[184][0]
835
+ f32[753] = uniforms.regionTable[184][1]
836
+ f32[754] = uniforms.regionTable[184][2]
837
+ f32[755] = uniforms.regionTable[184][3]
838
+ f32[756] = uniforms.regionTable[185][0]
839
+ f32[757] = uniforms.regionTable[185][1]
840
+ f32[758] = uniforms.regionTable[185][2]
841
+ f32[759] = uniforms.regionTable[185][3]
842
+ f32[760] = uniforms.regionTable[186][0]
843
+ f32[761] = uniforms.regionTable[186][1]
844
+ f32[762] = uniforms.regionTable[186][2]
845
+ f32[763] = uniforms.regionTable[186][3]
846
+ f32[764] = uniforms.regionTable[187][0]
847
+ f32[765] = uniforms.regionTable[187][1]
848
+ f32[766] = uniforms.regionTable[187][2]
849
+ f32[767] = uniforms.regionTable[187][3]
850
+ f32[768] = uniforms.regionTable[188][0]
851
+ f32[769] = uniforms.regionTable[188][1]
852
+ f32[770] = uniforms.regionTable[188][2]
853
+ f32[771] = uniforms.regionTable[188][3]
854
+ f32[772] = uniforms.regionTable[189][0]
855
+ f32[773] = uniforms.regionTable[189][1]
856
+ f32[774] = uniforms.regionTable[189][2]
857
+ f32[775] = uniforms.regionTable[189][3]
858
+ f32[776] = uniforms.regionTable[190][0]
859
+ f32[777] = uniforms.regionTable[190][1]
860
+ f32[778] = uniforms.regionTable[190][2]
861
+ f32[779] = uniforms.regionTable[190][3]
862
+ f32[780] = uniforms.regionTable[191][0]
863
+ f32[781] = uniforms.regionTable[191][1]
864
+ f32[782] = uniforms.regionTable[191][2]
865
+ f32[783] = uniforms.regionTable[191][3]
866
+ f32[784] = uniforms.regionTable[192][0]
867
+ f32[785] = uniforms.regionTable[192][1]
868
+ f32[786] = uniforms.regionTable[192][2]
869
+ f32[787] = uniforms.regionTable[192][3]
870
+ f32[788] = uniforms.regionTable[193][0]
871
+ f32[789] = uniforms.regionTable[193][1]
872
+ f32[790] = uniforms.regionTable[193][2]
873
+ f32[791] = uniforms.regionTable[193][3]
874
+ f32[792] = uniforms.regionTable[194][0]
875
+ f32[793] = uniforms.regionTable[194][1]
876
+ f32[794] = uniforms.regionTable[194][2]
877
+ f32[795] = uniforms.regionTable[194][3]
878
+ f32[796] = uniforms.regionTable[195][0]
879
+ f32[797] = uniforms.regionTable[195][1]
880
+ f32[798] = uniforms.regionTable[195][2]
881
+ f32[799] = uniforms.regionTable[195][3]
882
+ f32[800] = uniforms.regionTable[196][0]
883
+ f32[801] = uniforms.regionTable[196][1]
884
+ f32[802] = uniforms.regionTable[196][2]
885
+ f32[803] = uniforms.regionTable[196][3]
886
+ f32[804] = uniforms.regionTable[197][0]
887
+ f32[805] = uniforms.regionTable[197][1]
888
+ f32[806] = uniforms.regionTable[197][2]
889
+ f32[807] = uniforms.regionTable[197][3]
890
+ f32[808] = uniforms.regionTable[198][0]
891
+ f32[809] = uniforms.regionTable[198][1]
892
+ f32[810] = uniforms.regionTable[198][2]
893
+ f32[811] = uniforms.regionTable[198][3]
894
+ f32[812] = uniforms.regionTable[199][0]
895
+ f32[813] = uniforms.regionTable[199][1]
896
+ f32[814] = uniforms.regionTable[199][2]
897
+ f32[815] = uniforms.regionTable[199][3]
898
+ f32[816] = uniforms.regionTable[200][0]
899
+ f32[817] = uniforms.regionTable[200][1]
900
+ f32[818] = uniforms.regionTable[200][2]
901
+ f32[819] = uniforms.regionTable[200][3]
902
+ f32[820] = uniforms.regionTable[201][0]
903
+ f32[821] = uniforms.regionTable[201][1]
904
+ f32[822] = uniforms.regionTable[201][2]
905
+ f32[823] = uniforms.regionTable[201][3]
906
+ f32[824] = uniforms.regionTable[202][0]
907
+ f32[825] = uniforms.regionTable[202][1]
908
+ f32[826] = uniforms.regionTable[202][2]
909
+ f32[827] = uniforms.regionTable[202][3]
910
+ f32[828] = uniforms.regionTable[203][0]
911
+ f32[829] = uniforms.regionTable[203][1]
912
+ f32[830] = uniforms.regionTable[203][2]
913
+ f32[831] = uniforms.regionTable[203][3]
914
+ f32[832] = uniforms.regionTable[204][0]
915
+ f32[833] = uniforms.regionTable[204][1]
916
+ f32[834] = uniforms.regionTable[204][2]
917
+ f32[835] = uniforms.regionTable[204][3]
918
+ f32[836] = uniforms.regionTable[205][0]
919
+ f32[837] = uniforms.regionTable[205][1]
920
+ f32[838] = uniforms.regionTable[205][2]
921
+ f32[839] = uniforms.regionTable[205][3]
922
+ f32[840] = uniforms.regionTable[206][0]
923
+ f32[841] = uniforms.regionTable[206][1]
924
+ f32[842] = uniforms.regionTable[206][2]
925
+ f32[843] = uniforms.regionTable[206][3]
926
+ f32[844] = uniforms.regionTable[207][0]
927
+ f32[845] = uniforms.regionTable[207][1]
928
+ f32[846] = uniforms.regionTable[207][2]
929
+ f32[847] = uniforms.regionTable[207][3]
930
+ f32[848] = uniforms.regionTable[208][0]
931
+ f32[849] = uniforms.regionTable[208][1]
932
+ f32[850] = uniforms.regionTable[208][2]
933
+ f32[851] = uniforms.regionTable[208][3]
934
+ f32[852] = uniforms.regionTable[209][0]
935
+ f32[853] = uniforms.regionTable[209][1]
936
+ f32[854] = uniforms.regionTable[209][2]
937
+ f32[855] = uniforms.regionTable[209][3]
938
+ f32[856] = uniforms.regionTable[210][0]
939
+ f32[857] = uniforms.regionTable[210][1]
940
+ f32[858] = uniforms.regionTable[210][2]
941
+ f32[859] = uniforms.regionTable[210][3]
942
+ f32[860] = uniforms.regionTable[211][0]
943
+ f32[861] = uniforms.regionTable[211][1]
944
+ f32[862] = uniforms.regionTable[211][2]
945
+ f32[863] = uniforms.regionTable[211][3]
946
+ f32[864] = uniforms.regionTable[212][0]
947
+ f32[865] = uniforms.regionTable[212][1]
948
+ f32[866] = uniforms.regionTable[212][2]
949
+ f32[867] = uniforms.regionTable[212][3]
950
+ f32[868] = uniforms.regionTable[213][0]
951
+ f32[869] = uniforms.regionTable[213][1]
952
+ f32[870] = uniforms.regionTable[213][2]
953
+ f32[871] = uniforms.regionTable[213][3]
954
+ f32[872] = uniforms.regionTable[214][0]
955
+ f32[873] = uniforms.regionTable[214][1]
956
+ f32[874] = uniforms.regionTable[214][2]
957
+ f32[875] = uniforms.regionTable[214][3]
958
+ f32[876] = uniforms.regionTable[215][0]
959
+ f32[877] = uniforms.regionTable[215][1]
960
+ f32[878] = uniforms.regionTable[215][2]
961
+ f32[879] = uniforms.regionTable[215][3]
962
+ f32[880] = uniforms.regionTable[216][0]
963
+ f32[881] = uniforms.regionTable[216][1]
964
+ f32[882] = uniforms.regionTable[216][2]
965
+ f32[883] = uniforms.regionTable[216][3]
966
+ f32[884] = uniforms.regionTable[217][0]
967
+ f32[885] = uniforms.regionTable[217][1]
968
+ f32[886] = uniforms.regionTable[217][2]
969
+ f32[887] = uniforms.regionTable[217][3]
970
+ f32[888] = uniforms.regionTable[218][0]
971
+ f32[889] = uniforms.regionTable[218][1]
972
+ f32[890] = uniforms.regionTable[218][2]
973
+ f32[891] = uniforms.regionTable[218][3]
974
+ f32[892] = uniforms.regionTable[219][0]
975
+ f32[893] = uniforms.regionTable[219][1]
976
+ f32[894] = uniforms.regionTable[219][2]
977
+ f32[895] = uniforms.regionTable[219][3]
978
+ f32[896] = uniforms.regionTable[220][0]
979
+ f32[897] = uniforms.regionTable[220][1]
980
+ f32[898] = uniforms.regionTable[220][2]
981
+ f32[899] = uniforms.regionTable[220][3]
982
+ f32[900] = uniforms.regionTable[221][0]
983
+ f32[901] = uniforms.regionTable[221][1]
984
+ f32[902] = uniforms.regionTable[221][2]
985
+ f32[903] = uniforms.regionTable[221][3]
986
+ f32[904] = uniforms.regionTable[222][0]
987
+ f32[905] = uniforms.regionTable[222][1]
988
+ f32[906] = uniforms.regionTable[222][2]
989
+ f32[907] = uniforms.regionTable[222][3]
990
+ f32[908] = uniforms.regionTable[223][0]
991
+ f32[909] = uniforms.regionTable[223][1]
992
+ f32[910] = uniforms.regionTable[223][2]
993
+ f32[911] = uniforms.regionTable[223][3]
994
+ f32[912] = uniforms.regionTable[224][0]
995
+ f32[913] = uniforms.regionTable[224][1]
996
+ f32[914] = uniforms.regionTable[224][2]
997
+ f32[915] = uniforms.regionTable[224][3]
998
+ f32[916] = uniforms.regionTable[225][0]
999
+ f32[917] = uniforms.regionTable[225][1]
1000
+ f32[918] = uniforms.regionTable[225][2]
1001
+ f32[919] = uniforms.regionTable[225][3]
1002
+ f32[920] = uniforms.regionTable[226][0]
1003
+ f32[921] = uniforms.regionTable[226][1]
1004
+ f32[922] = uniforms.regionTable[226][2]
1005
+ f32[923] = uniforms.regionTable[226][3]
1006
+ f32[924] = uniforms.regionTable[227][0]
1007
+ f32[925] = uniforms.regionTable[227][1]
1008
+ f32[926] = uniforms.regionTable[227][2]
1009
+ f32[927] = uniforms.regionTable[227][3]
1010
+ f32[928] = uniforms.regionTable[228][0]
1011
+ f32[929] = uniforms.regionTable[228][1]
1012
+ f32[930] = uniforms.regionTable[228][2]
1013
+ f32[931] = uniforms.regionTable[228][3]
1014
+ f32[932] = uniforms.regionTable[229][0]
1015
+ f32[933] = uniforms.regionTable[229][1]
1016
+ f32[934] = uniforms.regionTable[229][2]
1017
+ f32[935] = uniforms.regionTable[229][3]
1018
+ f32[936] = uniforms.regionTable[230][0]
1019
+ f32[937] = uniforms.regionTable[230][1]
1020
+ f32[938] = uniforms.regionTable[230][2]
1021
+ f32[939] = uniforms.regionTable[230][3]
1022
+ f32[940] = uniforms.regionTable[231][0]
1023
+ f32[941] = uniforms.regionTable[231][1]
1024
+ f32[942] = uniforms.regionTable[231][2]
1025
+ f32[943] = uniforms.regionTable[231][3]
1026
+ f32[944] = uniforms.regionTable[232][0]
1027
+ f32[945] = uniforms.regionTable[232][1]
1028
+ f32[946] = uniforms.regionTable[232][2]
1029
+ f32[947] = uniforms.regionTable[232][3]
1030
+ f32[948] = uniforms.regionTable[233][0]
1031
+ f32[949] = uniforms.regionTable[233][1]
1032
+ f32[950] = uniforms.regionTable[233][2]
1033
+ f32[951] = uniforms.regionTable[233][3]
1034
+ f32[952] = uniforms.regionTable[234][0]
1035
+ f32[953] = uniforms.regionTable[234][1]
1036
+ f32[954] = uniforms.regionTable[234][2]
1037
+ f32[955] = uniforms.regionTable[234][3]
1038
+ f32[956] = uniforms.regionTable[235][0]
1039
+ f32[957] = uniforms.regionTable[235][1]
1040
+ f32[958] = uniforms.regionTable[235][2]
1041
+ f32[959] = uniforms.regionTable[235][3]
1042
+ f32[960] = uniforms.regionTable[236][0]
1043
+ f32[961] = uniforms.regionTable[236][1]
1044
+ f32[962] = uniforms.regionTable[236][2]
1045
+ f32[963] = uniforms.regionTable[236][3]
1046
+ f32[964] = uniforms.regionTable[237][0]
1047
+ f32[965] = uniforms.regionTable[237][1]
1048
+ f32[966] = uniforms.regionTable[237][2]
1049
+ f32[967] = uniforms.regionTable[237][3]
1050
+ f32[968] = uniforms.regionTable[238][0]
1051
+ f32[969] = uniforms.regionTable[238][1]
1052
+ f32[970] = uniforms.regionTable[238][2]
1053
+ f32[971] = uniforms.regionTable[238][3]
1054
+ f32[972] = uniforms.regionTable[239][0]
1055
+ f32[973] = uniforms.regionTable[239][1]
1056
+ f32[974] = uniforms.regionTable[239][2]
1057
+ f32[975] = uniforms.regionTable[239][3]
1058
+ f32[976] = uniforms.regionTable[240][0]
1059
+ f32[977] = uniforms.regionTable[240][1]
1060
+ f32[978] = uniforms.regionTable[240][2]
1061
+ f32[979] = uniforms.regionTable[240][3]
1062
+ f32[980] = uniforms.regionTable[241][0]
1063
+ f32[981] = uniforms.regionTable[241][1]
1064
+ f32[982] = uniforms.regionTable[241][2]
1065
+ f32[983] = uniforms.regionTable[241][3]
1066
+ f32[984] = uniforms.regionTable[242][0]
1067
+ f32[985] = uniforms.regionTable[242][1]
1068
+ f32[986] = uniforms.regionTable[242][2]
1069
+ f32[987] = uniforms.regionTable[242][3]
1070
+ f32[988] = uniforms.regionTable[243][0]
1071
+ f32[989] = uniforms.regionTable[243][1]
1072
+ f32[990] = uniforms.regionTable[243][2]
1073
+ f32[991] = uniforms.regionTable[243][3]
1074
+ f32[992] = uniforms.regionTable[244][0]
1075
+ f32[993] = uniforms.regionTable[244][1]
1076
+ f32[994] = uniforms.regionTable[244][2]
1077
+ f32[995] = uniforms.regionTable[244][3]
1078
+ f32[996] = uniforms.regionTable[245][0]
1079
+ f32[997] = uniforms.regionTable[245][1]
1080
+ f32[998] = uniforms.regionTable[245][2]
1081
+ f32[999] = uniforms.regionTable[245][3]
1082
+ f32[1000] = uniforms.regionTable[246][0]
1083
+ f32[1001] = uniforms.regionTable[246][1]
1084
+ f32[1002] = uniforms.regionTable[246][2]
1085
+ f32[1003] = uniforms.regionTable[246][3]
1086
+ f32[1004] = uniforms.regionTable[247][0]
1087
+ f32[1005] = uniforms.regionTable[247][1]
1088
+ f32[1006] = uniforms.regionTable[247][2]
1089
+ f32[1007] = uniforms.regionTable[247][3]
1090
+ f32[1008] = uniforms.regionTable[248][0]
1091
+ f32[1009] = uniforms.regionTable[248][1]
1092
+ f32[1010] = uniforms.regionTable[248][2]
1093
+ f32[1011] = uniforms.regionTable[248][3]
1094
+ f32[1012] = uniforms.regionTable[249][0]
1095
+ f32[1013] = uniforms.regionTable[249][1]
1096
+ f32[1014] = uniforms.regionTable[249][2]
1097
+ f32[1015] = uniforms.regionTable[249][3]
1098
+ f32[1016] = uniforms.regionTable[250][0]
1099
+ f32[1017] = uniforms.regionTable[250][1]
1100
+ f32[1018] = uniforms.regionTable[250][2]
1101
+ f32[1019] = uniforms.regionTable[250][3]
1102
+ f32[1020] = uniforms.regionTable[251][0]
1103
+ f32[1021] = uniforms.regionTable[251][1]
1104
+ f32[1022] = uniforms.regionTable[251][2]
1105
+ f32[1023] = uniforms.regionTable[251][3]
1106
+ f32[1024] = uniforms.regionTable[252][0]
1107
+ f32[1025] = uniforms.regionTable[252][1]
1108
+ f32[1026] = uniforms.regionTable[252][2]
1109
+ f32[1027] = uniforms.regionTable[252][3]
1110
+ f32[1028] = uniforms.regionTable[253][0]
1111
+ f32[1029] = uniforms.regionTable[253][1]
1112
+ f32[1030] = uniforms.regionTable[253][2]
1113
+ f32[1031] = uniforms.regionTable[253][3]
1114
+ f32[1032] = uniforms.regionTable[254][0]
1115
+ f32[1033] = uniforms.regionTable[254][1]
1116
+ f32[1034] = uniforms.regionTable[254][2]
1117
+ f32[1035] = uniforms.regionTable[254][3]
1118
+ f32[1036] = uniforms.regionTable[255][0]
1119
+ f32[1037] = uniforms.regionTable[255][1]
1120
+ f32[1038] = uniforms.regionTable[255][2]
1121
+ f32[1039] = uniforms.regionTable[255][3]
1122
+ }
1123
+
1124
+ export const INSTANCE_STRIDE_BYTES = 36
1125
+ export const INSTANCE_STRIDE_WORDS = 9
1126
+
1127
+ // Word indices into a Float32Array view over the instance buffer.
1128
+ export const INSTANCE_OFFSET_F32 = {
1129
+ bend: 5,
1130
+ width: 6,
1131
+ } as const
1132
+
1133
+ // Word indices into a Uint32Array view over the instance buffer.
1134
+ export const INSTANCE_OFFSET_U32 = {
1135
+ x: 0,
1136
+ x2: 1,
1137
+ x2Region: 2,
1138
+ row: 3,
1139
+ row2: 4,
1140
+ color: 7,
1141
+ bits: 8,
1142
+ } as const
1143
+
1144
+ export const VERTEX_ATTRIBUTES: readonly VertexAttributeLayout[] = [
1145
+ { name: 'a_x', components: 1, type: 'uint', offsetBytes: 0, integer: true },
1146
+ { name: 'a_x2', components: 1, type: 'uint', offsetBytes: 4, integer: true },
1147
+ { name: 'a_x2Region', components: 1, type: 'uint', offsetBytes: 8, integer: true },
1148
+ { name: 'a_row', components: 1, type: 'uint', offsetBytes: 12, integer: true },
1149
+ { name: 'a_row2', components: 1, type: 'uint', offsetBytes: 16, integer: true },
1150
+ { name: 'a_bend', components: 1, type: 'float', offsetBytes: 20, integer: false },
1151
+ { name: 'a_width', components: 1, type: 'float', offsetBytes: 24, integer: false },
1152
+ { name: 'a_color', components: 1, type: 'uint', offsetBytes: 28, integer: true },
1153
+ { name: 'a_bits', components: 1, type: 'uint', offsetBytes: 32, integer: true },
1154
+ ]
1155
+
1156
+ export interface InstanceArrays {
1157
+ x: ArrayLike<number>
1158
+ x2: ArrayLike<number>
1159
+ x2Region: ArrayLike<number>
1160
+ row: ArrayLike<number>
1161
+ row2: ArrayLike<number>
1162
+ bend: ArrayLike<number>
1163
+ width: ArrayLike<number>
1164
+ color: ArrayLike<number>
1165
+ bits: ArrayLike<number>
1166
+ }
1167
+
1168
+ export function packInstances(
1169
+ arrays: InstanceArrays,
1170
+ numInstances: number,
1171
+ buf: ArrayBuffer = new ArrayBuffer(numInstances * INSTANCE_STRIDE_BYTES),
1172
+ ) {
1173
+ const f32 = new Float32Array(buf)
1174
+ const u32 = new Uint32Array(buf)
1175
+ const { x, x2, x2Region, row, row2, bend, width, color, bits } = arrays
1176
+ for (let i = 0; i < numInstances; i++) {
1177
+ const o = i * INSTANCE_STRIDE_WORDS
1178
+ u32[o + 0] = x[i]!
1179
+ u32[o + 1] = x2[i]!
1180
+ u32[o + 2] = x2Region[i]!
1181
+ u32[o + 3] = row[i]!
1182
+ u32[o + 4] = row2[i]!
1183
+ f32[o + 5] = bend[i]!
1184
+ f32[o + 6] = width[i]!
1185
+ u32[o + 7] = color[i]!
1186
+ u32[o + 8] = bits[i]!
1187
+ }
1188
+ return buf
1189
+ }
1190
+
1191
+ // Instance `i`'s `x`.
1192
+ export function getInstanceX(u32: Uint32Array, i: number) {
1193
+ return u32[i * INSTANCE_STRIDE_WORDS]!
1194
+ }
1195
+
1196
+ export function setInstanceX(u32: Uint32Array, i: number, v: number) {
1197
+ u32[i * INSTANCE_STRIDE_WORDS] = v
1198
+ }
1199
+
1200
+ // Instance `i`'s `x2`.
1201
+ export function getInstanceX2(u32: Uint32Array, i: number) {
1202
+ return u32[i * INSTANCE_STRIDE_WORDS + 1]!
1203
+ }
1204
+
1205
+ export function setInstanceX2(u32: Uint32Array, i: number, v: number) {
1206
+ u32[i * INSTANCE_STRIDE_WORDS + 1] = v
1207
+ }
1208
+
1209
+ // Instance `i`'s `x2Region`.
1210
+ export function getInstanceX2Region(u32: Uint32Array, i: number) {
1211
+ return u32[i * INSTANCE_STRIDE_WORDS + 2]!
1212
+ }
1213
+
1214
+ export function setInstanceX2Region(u32: Uint32Array, i: number, v: number) {
1215
+ u32[i * INSTANCE_STRIDE_WORDS + 2] = v
1216
+ }
1217
+
1218
+ // Instance `i`'s `row`.
1219
+ export function getInstanceRow(u32: Uint32Array, i: number) {
1220
+ return u32[i * INSTANCE_STRIDE_WORDS + 3]!
1221
+ }
1222
+
1223
+ export function setInstanceRow(u32: Uint32Array, i: number, v: number) {
1224
+ u32[i * INSTANCE_STRIDE_WORDS + 3] = v
1225
+ }
1226
+
1227
+ // Instance `i`'s `row2`.
1228
+ export function getInstanceRow2(u32: Uint32Array, i: number) {
1229
+ return u32[i * INSTANCE_STRIDE_WORDS + 4]!
1230
+ }
1231
+
1232
+ export function setInstanceRow2(u32: Uint32Array, i: number, v: number) {
1233
+ u32[i * INSTANCE_STRIDE_WORDS + 4] = v
1234
+ }
1235
+
1236
+ // Instance `i`'s `bend`.
1237
+ export function getInstanceBend(f32: Float32Array, i: number) {
1238
+ return f32[i * INSTANCE_STRIDE_WORDS + 5]!
1239
+ }
1240
+
1241
+ export function setInstanceBend(f32: Float32Array, i: number, v: number) {
1242
+ f32[i * INSTANCE_STRIDE_WORDS + 5] = v
1243
+ }
1244
+
1245
+ // Instance `i`'s `width`.
1246
+ export function getInstanceWidth(f32: Float32Array, i: number) {
1247
+ return f32[i * INSTANCE_STRIDE_WORDS + 6]!
1248
+ }
1249
+
1250
+ export function setInstanceWidth(f32: Float32Array, i: number, v: number) {
1251
+ f32[i * INSTANCE_STRIDE_WORDS + 6] = v
1252
+ }
1253
+
1254
+ // Instance `i`'s `color`.
1255
+ export function getInstanceColor(u32: Uint32Array, i: number) {
1256
+ return u32[i * INSTANCE_STRIDE_WORDS + 7]!
1257
+ }
1258
+
1259
+ export function setInstanceColor(u32: Uint32Array, i: number, v: number) {
1260
+ u32[i * INSTANCE_STRIDE_WORDS + 7] = v
1261
+ }
1262
+
1263
+ // Instance `i`'s `bits`.
1264
+ export function getInstanceBits(u32: Uint32Array, i: number) {
1265
+ return u32[i * INSTANCE_STRIDE_WORDS + 8]!
1266
+ }
1267
+
1268
+ export function setInstanceBits(u32: Uint32Array, i: number, v: number) {
1269
+ u32[i * INSTANCE_STRIDE_WORDS + 8] = v
1270
+ }