@jbrowse/render-core 4.3.0 → 5.0.0-beta.10

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 (352) hide show
  1. package/esm/RenderCanvas.d.ts +2 -2
  2. package/esm/RenderLifecycleMixin.d.ts +52 -20
  3. package/esm/RenderLifecycleMixin.js +89 -23
  4. package/esm/canvas2dUtils.d.ts +90 -23
  5. package/esm/canvas2dUtils.js +119 -36
  6. package/esm/colorRampLut.d.ts +5 -5
  7. package/esm/colorRampLut.js +6 -6
  8. package/esm/computePipeline.d.ts +14 -0
  9. package/esm/computePipeline.js +62 -0
  10. package/esm/contractReports.d.ts +54 -0
  11. package/esm/contractReports.js +112 -0
  12. package/esm/coverageBand.d.ts +13 -8
  13. package/esm/coverageBand.js +15 -5
  14. package/esm/coverageBandBuffers.d.ts +2 -9
  15. package/esm/coverageBandBuffers.js +1 -13
  16. package/esm/createRenderingBackend.d.ts +14 -18
  17. package/esm/createRenderingBackend.js +4 -2
  18. package/esm/displayPhase.d.ts +83 -104
  19. package/esm/displayPhase.js +42 -82
  20. package/esm/encodeMemo.d.ts +14 -0
  21. package/esm/encodeMemo.js +48 -0
  22. package/esm/gpuContextLostError.d.ts +30 -0
  23. package/esm/gpuContextLostError.js +40 -0
  24. package/esm/gpuDevice.d.ts +29 -10
  25. package/esm/gpuDevice.js +35 -16
  26. package/esm/graphicsCapabilities.d.ts +27 -19
  27. package/esm/graphicsCapabilities.js +40 -18
  28. package/esm/hal/createHal.d.ts +4 -5
  29. package/esm/hal/createHal.js +14 -4
  30. package/esm/hal/deviceGpuCache.d.ts +25 -30
  31. package/esm/hal/deviceGpuCache.js +88 -97
  32. package/esm/hal/gpuHalBase.d.ts +5 -4
  33. package/esm/hal/gpuHalBase.js +25 -14
  34. package/esm/hal/index.d.ts +2 -2
  35. package/esm/hal/index.js +1 -1
  36. package/esm/hal/mockHal.d.ts +15 -10
  37. package/esm/hal/mockHal.js +31 -18
  38. package/esm/hal/oomReporter.d.ts +7 -0
  39. package/esm/hal/oomReporter.js +10 -0
  40. package/esm/hal/passIds.d.ts +8 -7
  41. package/esm/hal/passIds.js +11 -10
  42. package/esm/hal/regionRegistry.d.ts +0 -1
  43. package/esm/hal/regionRegistry.js +3 -15
  44. package/esm/hal/types.d.ts +55 -18
  45. package/esm/hal/webgl2Hal.d.ts +23 -6
  46. package/esm/hal/webgl2Hal.js +161 -155
  47. package/esm/hal/webgpuHal.d.ts +29 -13
  48. package/esm/hal/webgpuHal.js +221 -153
  49. package/esm/installUpload.d.ts +16 -3
  50. package/esm/installUpload.js +13 -41
  51. package/esm/instanceCache.d.ts +10 -7
  52. package/esm/instanceCache.js +14 -15
  53. package/esm/instancePass.d.ts +2 -1
  54. package/esm/mapUploadSync.d.ts +2 -10
  55. package/esm/mapUploadSync.js +2 -3
  56. package/esm/marks/barMark.d.ts +30 -0
  57. package/esm/marks/barMark.js +149 -0
  58. package/esm/marks/colorFill.d.ts +17 -0
  59. package/esm/marks/colorFill.js +26 -0
  60. package/esm/marks/drawAgainstHit.d.ts +113 -0
  61. package/esm/marks/drawAgainstHit.js +407 -0
  62. package/esm/marks/ellipseDistance.d.ts +10 -0
  63. package/esm/marks/ellipseDistance.js +136 -0
  64. package/esm/marks/glyphPaint.d.ts +36 -0
  65. package/esm/marks/glyphPaint.js +77 -0
  66. package/esm/marks/index.d.ts +33 -0
  67. package/esm/marks/index.js +20 -0
  68. package/esm/marks/lineMark.d.ts +37 -0
  69. package/esm/marks/lineMark.js +416 -0
  70. package/esm/marks/linkMark.d.ts +76 -0
  71. package/esm/marks/linkMark.js +585 -0
  72. package/esm/marks/markBackend.d.ts +118 -0
  73. package/esm/marks/markBackend.js +196 -0
  74. package/esm/marks/markHit.d.ts +32 -0
  75. package/esm/marks/markHit.js +61 -0
  76. package/esm/marks/markInk.d.ts +18 -0
  77. package/esm/marks/markInk.js +71 -0
  78. package/esm/marks/markPaint.d.ts +14 -0
  79. package/esm/marks/markPaint.js +32 -0
  80. package/esm/marks/markPlan.d.ts +25 -0
  81. package/esm/marks/markPlan.js +20 -0
  82. package/esm/marks/markRamp.d.ts +72 -0
  83. package/esm/marks/markRamp.js +197 -0
  84. package/esm/marks/nearestMarkHit.d.ts +55 -0
  85. package/esm/marks/nearestMarkHit.js +158 -0
  86. package/esm/marks/pathRecorder.d.ts +14 -0
  87. package/esm/marks/pathRecorder.js +80 -0
  88. package/esm/marks/pointMark.d.ts +42 -0
  89. package/esm/marks/pointMark.js +125 -0
  90. package/esm/marks/rowLane.d.ts +39 -0
  91. package/esm/marks/rowLane.js +41 -0
  92. package/esm/marks/rowSpanIndex.d.ts +29 -0
  93. package/esm/marks/rowSpanIndex.js +141 -0
  94. package/esm/marks/rowTable.d.ts +41 -0
  95. package/esm/marks/rowTable.js +75 -0
  96. package/esm/marks/ruleMark.d.ts +21 -0
  97. package/esm/marks/ruleMark.js +91 -0
  98. package/esm/marks/spanMark.d.ts +42 -0
  99. package/esm/marks/spanMark.js +81 -0
  100. package/esm/marks/types.d.ts +261 -0
  101. package/esm/marks/types.js +175 -0
  102. package/esm/marks/valueScale.d.ts +23 -0
  103. package/esm/marks/valueScale.js +11 -0
  104. package/esm/namedReactions.d.ts +3 -4
  105. package/esm/namedReactions.js +3 -4
  106. package/esm/perRegionRenderingBackend.d.ts +21 -3
  107. package/esm/perRegionRenderingBackend.js +37 -3
  108. package/esm/regionDataMap.d.ts +2 -2
  109. package/esm/regionDataMap.js +25 -23
  110. package/esm/renderBlock.d.ts +14 -0
  111. package/esm/renderBlock.js +25 -0
  112. package/esm/renderingBackendBase.d.ts +20 -14
  113. package/esm/renderingBackendBase.js +12 -7
  114. package/esm/scoreScale.d.ts +27 -0
  115. package/esm/scoreScale.js +88 -0
  116. package/esm/shaders/barMark.generated.d.ts +3 -0
  117. package/esm/shaders/barMark.generated.js +7 -0
  118. package/esm/shaders/barMark.glsl.generated.d.ts +2 -0
  119. package/esm/shaders/barMark.glsl.generated.js +4 -0
  120. package/esm/shaders/barMark.iface.generated.d.ts +90 -0
  121. package/esm/shaders/barMark.iface.generated.js +205 -0
  122. package/esm/shaders/barMark.wgsl.generated.d.ts +1 -0
  123. package/esm/shaders/barMark.wgsl.generated.js +3 -0
  124. package/esm/shaders/capsule.js.generated.d.ts +1 -0
  125. package/esm/shaders/capsule.js.generated.js +11 -0
  126. package/esm/shaders/clipStrip.generated.d.ts +2 -0
  127. package/esm/shaders/clipStrip.generated.js +4 -0
  128. package/esm/shaders/clipStrip.js.generated.d.ts +1 -0
  129. package/esm/shaders/clipStrip.js.generated.js +21 -0
  130. package/esm/shaders/colorRampLut.js.generated.d.ts +1 -0
  131. package/esm/shaders/colorRampLut.js.generated.js +17 -0
  132. package/esm/shaders/coverageBar.generated.d.ts +2 -3
  133. package/esm/shaders/coverageBar.generated.js +4 -3
  134. package/esm/shaders/coverageBar.glsl.generated.d.ts +2 -0
  135. package/esm/shaders/coverageBar.glsl.generated.js +4 -0
  136. package/esm/shaders/coverageBar.iface.generated.js +1 -1
  137. package/esm/shaders/coverageBar.wgsl.generated.d.ts +1 -0
  138. package/esm/shaders/coverageBar.wgsl.generated.js +3 -0
  139. package/esm/shaders/coverageClip.generated.d.ts +3 -0
  140. package/esm/shaders/coverageClip.generated.js +7 -0
  141. package/esm/shaders/coverageClip.glsl.generated.d.ts +2 -0
  142. package/esm/shaders/coverageClip.glsl.generated.js +4 -0
  143. package/esm/shaders/coverageClip.iface.generated.d.ts +85 -0
  144. package/esm/shaders/coverageClip.iface.generated.js +114 -0
  145. package/esm/shaders/coverageClip.wgsl.generated.d.ts +1 -0
  146. package/esm/shaders/coverageClip.wgsl.generated.js +3 -0
  147. package/esm/shaders/coverageIndicator.generated.d.ts +2 -3
  148. package/esm/shaders/coverageIndicator.generated.js +4 -3
  149. package/esm/shaders/coverageIndicator.glsl.generated.d.ts +2 -0
  150. package/esm/shaders/coverageIndicator.glsl.generated.js +4 -0
  151. package/esm/shaders/coverageIndicator.iface.generated.js +1 -1
  152. package/esm/shaders/coverageIndicator.wgsl.generated.d.ts +1 -0
  153. package/esm/shaders/coverageIndicator.wgsl.generated.js +3 -0
  154. package/esm/shaders/coverageInterbase.generated.d.ts +2 -3
  155. package/esm/shaders/coverageInterbase.generated.js +4 -3
  156. package/esm/shaders/coverageInterbase.glsl.generated.d.ts +2 -0
  157. package/esm/shaders/coverageInterbase.glsl.generated.js +4 -0
  158. package/esm/shaders/coverageInterbase.iface.generated.js +1 -1
  159. package/esm/shaders/coverageInterbase.wgsl.generated.d.ts +1 -0
  160. package/esm/shaders/coverageInterbase.wgsl.generated.js +3 -0
  161. package/esm/shaders/coverageMod.generated.d.ts +2 -3
  162. package/esm/shaders/coverageMod.generated.js +4 -3
  163. package/esm/shaders/coverageMod.glsl.generated.d.ts +2 -0
  164. package/esm/shaders/coverageMod.glsl.generated.js +4 -0
  165. package/esm/shaders/coverageMod.iface.generated.js +1 -1
  166. package/esm/shaders/coverageMod.wgsl.generated.d.ts +1 -0
  167. package/esm/shaders/coverageMod.wgsl.generated.js +3 -0
  168. package/esm/shaders/coverageSnp.generated.d.ts +2 -3
  169. package/esm/shaders/coverageSnp.generated.js +4 -3
  170. package/esm/shaders/coverageSnp.glsl.generated.d.ts +2 -0
  171. package/esm/shaders/coverageSnp.glsl.generated.js +4 -0
  172. package/esm/shaders/coverageSnp.iface.generated.js +1 -1
  173. package/esm/shaders/coverageSnp.wgsl.generated.d.ts +1 -0
  174. package/esm/shaders/coverageSnp.wgsl.generated.js +3 -0
  175. package/esm/shaders/curveDistance.js.generated.d.ts +5 -0
  176. package/esm/shaders/curveDistance.js.generated.js +87 -0
  177. package/esm/shaders/hpmath.js.generated.d.ts +2 -1
  178. package/esm/shaders/hpmath.js.generated.js +5 -2
  179. package/esm/shaders/lineCenterMark.generated.d.ts +3 -0
  180. package/esm/shaders/lineCenterMark.generated.js +7 -0
  181. package/esm/shaders/lineCenterMark.glsl.generated.d.ts +2 -0
  182. package/esm/shaders/lineCenterMark.glsl.generated.js +4 -0
  183. package/esm/shaders/lineCenterMark.iface.generated.d.ts +104 -0
  184. package/esm/shaders/lineCenterMark.iface.generated.js +237 -0
  185. package/esm/shaders/lineCenterMark.wgsl.generated.d.ts +1 -0
  186. package/esm/shaders/lineCenterMark.wgsl.generated.js +3 -0
  187. package/esm/shaders/lineCommon.generated.d.ts +2 -0
  188. package/esm/shaders/lineCommon.generated.js +4 -0
  189. package/esm/shaders/lineStepMark.generated.d.ts +3 -0
  190. package/esm/shaders/lineStepMark.generated.js +7 -0
  191. package/esm/shaders/lineStepMark.glsl.generated.d.ts +2 -0
  192. package/esm/shaders/lineStepMark.glsl.generated.js +4 -0
  193. package/esm/shaders/lineStepMark.iface.generated.d.ts +98 -0
  194. package/esm/shaders/lineStepMark.iface.generated.js +225 -0
  195. package/esm/shaders/lineStepMark.wgsl.generated.d.ts +1 -0
  196. package/esm/shaders/lineStepMark.wgsl.generated.js +3 -0
  197. package/esm/shaders/linkMark.consts.generated.d.ts +14 -0
  198. package/esm/shaders/linkMark.consts.generated.js +16 -0
  199. package/esm/shaders/linkMark.generated.d.ts +4 -0
  200. package/esm/shaders/linkMark.generated.js +8 -0
  201. package/esm/shaders/linkMark.glsl.generated.d.ts +2 -0
  202. package/esm/shaders/linkMark.glsl.generated.js +4 -0
  203. package/esm/shaders/linkMark.iface.generated.d.ts +142 -0
  204. package/esm/shaders/linkMark.iface.generated.js +1829 -0
  205. package/esm/shaders/linkMark.js.generated.d.ts +7 -0
  206. package/esm/shaders/linkMark.js.generated.js +159 -0
  207. package/esm/shaders/linkMark.wgsl.generated.d.ts +1 -0
  208. package/esm/shaders/linkMark.wgsl.generated.js +3 -0
  209. package/esm/shaders/markColor.generated.d.ts +9 -0
  210. package/esm/shaders/markColor.generated.js +11 -0
  211. package/esm/shaders/pointGlyph.js.generated.d.ts +2 -0
  212. package/esm/shaders/pointGlyph.js.generated.js +15 -0
  213. package/esm/shaders/pointMark.consts.generated.d.ts +7 -0
  214. package/esm/shaders/pointMark.consts.generated.js +9 -0
  215. package/esm/shaders/pointMark.generated.d.ts +4 -0
  216. package/esm/shaders/pointMark.generated.js +8 -0
  217. package/esm/shaders/pointMark.glsl.generated.d.ts +2 -0
  218. package/esm/shaders/pointMark.glsl.generated.js +4 -0
  219. package/esm/shaders/pointMark.iface.generated.d.ts +98 -0
  220. package/esm/shaders/pointMark.iface.generated.js +219 -0
  221. package/esm/shaders/pointMark.js.generated.d.ts +3 -0
  222. package/esm/shaders/pointMark.js.generated.js +93 -0
  223. package/esm/shaders/pointMark.wgsl.generated.d.ts +1 -0
  224. package/esm/shaders/pointMark.wgsl.generated.js +3 -0
  225. package/esm/shaders/rowRect.generated.d.ts +0 -1
  226. package/esm/shaders/rowRect.generated.js +0 -1
  227. package/esm/shaders/rowTable.generated.d.ts +1 -0
  228. package/esm/shaders/rowTable.generated.js +3 -0
  229. package/esm/shaders/rowTable.js.generated.d.ts +5 -0
  230. package/esm/shaders/rowTable.js.generated.js +29 -0
  231. package/esm/shaders/scoreScale.generated.d.ts +2 -0
  232. package/esm/shaders/scoreScale.generated.js +4 -0
  233. package/esm/shaders/scoreScale.js.generated.d.ts +1 -0
  234. package/esm/shaders/scoreScale.js.generated.js +50 -23
  235. package/esm/shaders/spanMark.generated.d.ts +3 -0
  236. package/esm/shaders/spanMark.generated.js +7 -0
  237. package/esm/shaders/spanMark.glsl.generated.d.ts +2 -0
  238. package/esm/shaders/spanMark.glsl.generated.js +4 -0
  239. package/esm/shaders/spanMark.iface.generated.d.ts +81 -0
  240. package/esm/shaders/spanMark.iface.generated.js +215 -0
  241. package/esm/shaders/spanMark.wgsl.generated.d.ts +1 -0
  242. package/esm/shaders/spanMark.wgsl.generated.js +3 -0
  243. package/esm/sharedBackendKey.d.ts +18 -0
  244. package/esm/{keyedRenderingBackend.js → sharedBackendKey.js} +5 -0
  245. package/esm/slangPass.d.ts +18 -11
  246. package/esm/slangPass.js +12 -4
  247. package/esm/useGraphicsCapabilities.d.ts +1 -1
  248. package/esm/useGraphicsCapabilities.js +1 -1
  249. package/esm/useRenderingBackend.d.ts +13 -13
  250. package/esm/useRenderingBackend.js +58 -20
  251. package/esm/webgpuUtils.d.ts +3 -11
  252. package/esm/webgpuUtils.js +12 -33
  253. package/package.json +32 -7
  254. package/src/shaders/antialias.slang +46 -0
  255. package/src/shaders/arcHull.test.ts +267 -0
  256. package/src/shaders/barMark.generated.ts +11 -0
  257. package/src/shaders/barMark.glsl.generated.ts +6 -0
  258. package/src/shaders/barMark.iface.generated.ts +285 -0
  259. package/src/shaders/barMark.slang +167 -0
  260. package/src/shaders/barMark.wgsl.generated.ts +4 -0
  261. package/src/shaders/capsule.js.generated.ts +14 -0
  262. package/src/shaders/capsule.slang +12 -4
  263. package/src/shaders/clipStrip.generated.ts +6 -0
  264. package/src/shaders/clipStrip.js.generated.ts +22 -0
  265. package/src/shaders/clipStrip.slang +34 -0
  266. package/src/shaders/clipStrip.test.ts +39 -0
  267. package/src/shaders/colorPack.slang +5 -1
  268. package/src/shaders/colorRampLut.js.generated.ts +22 -0
  269. package/src/shaders/colorRampLut.slang +15 -1
  270. package/src/shaders/coverageBand.slang +64 -32
  271. package/src/shaders/coverageBar.generated.ts +6 -5
  272. package/src/shaders/coverageBar.glsl.generated.ts +6 -0
  273. package/src/shaders/coverageBar.iface.generated.ts +1 -1
  274. package/src/shaders/coverageBar.slang +10 -10
  275. package/src/shaders/coverageBar.wgsl.generated.ts +4 -0
  276. package/src/shaders/coverageClip.generated.ts +11 -0
  277. package/src/shaders/coverageClip.glsl.generated.ts +6 -0
  278. package/src/shaders/coverageClip.iface.generated.ts +172 -0
  279. package/src/shaders/coverageClip.slang +38 -0
  280. package/src/shaders/coverageClip.wgsl.generated.ts +4 -0
  281. package/src/shaders/coverageIndicator.generated.ts +6 -5
  282. package/src/shaders/coverageIndicator.glsl.generated.ts +6 -0
  283. package/src/shaders/coverageIndicator.iface.generated.ts +1 -1
  284. package/src/shaders/coverageIndicator.wgsl.generated.ts +4 -0
  285. package/src/shaders/coverageInterbase.generated.ts +6 -5
  286. package/src/shaders/coverageInterbase.glsl.generated.ts +6 -0
  287. package/src/shaders/coverageInterbase.iface.generated.ts +1 -1
  288. package/src/shaders/coverageInterbase.wgsl.generated.ts +4 -0
  289. package/src/shaders/coverageMod.generated.ts +6 -5
  290. package/src/shaders/coverageMod.glsl.generated.ts +6 -0
  291. package/src/shaders/coverageMod.iface.generated.ts +1 -1
  292. package/src/shaders/coverageMod.wgsl.generated.ts +4 -0
  293. package/src/shaders/coverageSnp.generated.ts +6 -5
  294. package/src/shaders/coverageSnp.glsl.generated.ts +6 -0
  295. package/src/shaders/coverageSnp.iface.generated.ts +1 -1
  296. package/src/shaders/coverageSnp.wgsl.generated.ts +4 -0
  297. package/src/shaders/curveDistance.js.generated.ts +91 -0
  298. package/src/shaders/curveDistance.slang +265 -0
  299. package/src/shaders/hpClampFloor.test.ts +87 -0
  300. package/src/shaders/hpmath.js.generated.ts +6 -2
  301. package/src/shaders/hpmath.slang +100 -48
  302. package/src/shaders/insetValueScale.test.ts +67 -0
  303. package/src/shaders/lineCenterMark.generated.ts +11 -0
  304. package/src/shaders/lineCenterMark.glsl.generated.ts +6 -0
  305. package/src/shaders/lineCenterMark.iface.generated.ts +328 -0
  306. package/src/shaders/lineCenterMark.slang +127 -0
  307. package/src/shaders/lineCenterMark.wgsl.generated.ts +4 -0
  308. package/src/shaders/lineCommon.generated.ts +6 -0
  309. package/src/shaders/lineCommon.slang +102 -0
  310. package/src/shaders/lineStepMark.generated.ts +11 -0
  311. package/src/shaders/lineStepMark.glsl.generated.ts +6 -0
  312. package/src/shaders/lineStepMark.iface.generated.ts +311 -0
  313. package/src/shaders/lineStepMark.slang +125 -0
  314. package/src/shaders/lineStepMark.wgsl.generated.ts +4 -0
  315. package/src/shaders/linkMark.consts.generated.ts +30 -0
  316. package/src/shaders/linkMark.generated.ts +12 -0
  317. package/src/shaders/linkMark.glsl.generated.ts +6 -0
  318. package/src/shaders/linkMark.iface.generated.ts +1954 -0
  319. package/src/shaders/linkMark.js.generated.ts +167 -0
  320. package/src/shaders/linkMark.slang +439 -0
  321. package/src/shaders/linkMark.wgsl.generated.ts +4 -0
  322. package/src/shaders/markColor.generated.ts +20 -0
  323. package/src/shaders/markColor.slang +128 -0
  324. package/src/shaders/pointGlyph.js.generated.ts +20 -0
  325. package/src/shaders/pointGlyph.slang +23 -7
  326. package/src/shaders/pointGlyphPad.test.ts +242 -0
  327. package/src/shaders/pointMark.consts.generated.ts +16 -0
  328. package/src/shaders/pointMark.generated.ts +12 -0
  329. package/src/shaders/pointMark.glsl.generated.ts +6 -0
  330. package/src/shaders/pointMark.iface.generated.ts +304 -0
  331. package/src/shaders/pointMark.js.generated.ts +99 -0
  332. package/src/shaders/pointMark.slang +227 -0
  333. package/src/shaders/pointMark.wgsl.generated.ts +4 -0
  334. package/src/shaders/rowRect.generated.ts +0 -2
  335. package/src/shaders/rowRect.slang +39 -58
  336. package/src/shaders/rowTable.generated.ts +4 -0
  337. package/src/shaders/rowTable.js.generated.ts +37 -0
  338. package/src/shaders/rowTable.slang +98 -0
  339. package/src/shaders/scoreScale.generated.ts +6 -0
  340. package/src/shaders/scoreScale.js.generated.ts +48 -23
  341. package/src/shaders/scoreScale.slang +49 -55
  342. package/src/shaders/sdEllipse.test.ts +211 -0
  343. package/src/shaders/spanMark.generated.ts +11 -0
  344. package/src/shaders/spanMark.glsl.generated.ts +6 -0
  345. package/src/shaders/spanMark.iface.generated.ts +289 -0
  346. package/src/shaders/spanMark.slang +77 -0
  347. package/src/shaders/spanMark.wgsl.generated.ts +4 -0
  348. package/src/shaders/valueScale.slang +26 -0
  349. package/src/shaders/wideCircleLeg.test.ts +85 -0
  350. package/esm/globalRenderingBackend.d.ts +0 -90
  351. package/esm/globalRenderingBackend.js +0 -53
  352. package/esm/keyedRenderingBackend.d.ts +0 -41
@@ -0,0 +1,1954 @@
1
+ // AUTO-GENERATED by packages/shader-tools/src/shader-codegen from linkMark.slang.
2
+ // Do not edit. Run `pnpm gen:shaders` to regenerate.
3
+
4
+ import type { VertexAttributeLayout, ShaderBinding, TextureBinding } from '@jbrowse/render-core/hal'
5
+
6
+ export const BINDINGS: readonly ShaderBinding[] = [
7
+ { index: 1, kind: 'uniform', name: 'u', stages: ['vertex', 'fragment'] },
8
+ { index: 2, kind: 'texture', name: 'colorRamp', stages: ['vertex'] },
9
+ { index: 3, kind: 'sampler', name: 'colorRamp', stages: ['vertex'] },
10
+ { index: 4, kind: 'texture', name: 'rowTable', stages: ['vertex'] },
11
+ { index: 5, kind: 'sampler', name: 'rowTable', stages: ['vertex'] },
12
+ ]
13
+
14
+ export const VERTS_PER_INSTANCE = 142
15
+
16
+ export const TOPOLOGY = 'triangle-strip' as const
17
+
18
+ export const COVERAGE = 'analytic' as const
19
+
20
+ export const UNIFORMS_SIZE_BYTES = 6496
21
+
22
+ // Word indices into a Float32Array view over the uniform buffer.
23
+ export const UNIFORM_OFFSET_F32 = {
24
+ canvasHeight: 0,
25
+ devicePixelRatio: 1,
26
+ rowHeight: 2,
27
+ rowOffsetPx: 3,
28
+ stemPx: 5,
29
+ dashPx: 6,
30
+ gapPx: 7,
31
+ footPx: 8,
32
+ insetPx: 10,
33
+ domainMin: 11,
34
+ domainMax: 12,
35
+ valueSymlogConstant: 14,
36
+ rampMin: 16,
37
+ rampMax: 17,
38
+ rampMidNorm: 18,
39
+ sizeConstantPx: 67,
40
+ sizeDomainMin: 68,
41
+ sizeDomainMax: 69,
42
+ sizeRangeMin: 71,
43
+ sizeRangeMax: 72,
44
+ canvasWidth: 73,
45
+ zero: 75,
46
+ ownEntry: 76,
47
+ ownSpan: 80,
48
+ } as const
49
+
50
+ // Word indices into a Uint32Array view over the uniform buffer.
51
+ export const UNIFORM_OFFSET_U32 = {
52
+ curveSegments: 9,
53
+ regionCount: 74,
54
+ } as const
55
+
56
+ // Word indices into a Int32Array view over the uniform buffer.
57
+ export const UNIFORM_OFFSET_I32 = {
58
+ reverse: 4,
59
+ valueScaleType: 13,
60
+ rampMode: 15,
61
+ colorCutCount: 19,
62
+ valued: 64,
63
+ linkShape: 65,
64
+ sizeMode: 66,
65
+ sizeScaleType: 70,
66
+ rowTableKeys: 1620,
67
+ } as const
68
+
69
+
70
+ // Word indices of each array field’s elements, into a 4-byte-word
71
+ // view over the uniform buffer (Uint32Array or Float32Array — the
72
+ // field’s scalar type picks, same as UNIFORM_OFFSET_*). NOT
73
+ // consecutive: std140 pads every array element to 16 bytes.
74
+ export const UNIFORM_SLOT_ARRAYS = {
75
+ colorCuts: [20, 24] as const,
76
+ colorBands: [28, 32, 36, 40, 44, 48, 52, 56, 60] as const,
77
+ regionTable: [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, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1080, 1084, 1088, 1092, 1096, 1100, 1104] as const,
78
+ regionSpan: [1108, 1112, 1116, 1120, 1124, 1128, 1132, 1136, 1140, 1144, 1148, 1152, 1156, 1160, 1164, 1168, 1172, 1176, 1180, 1184, 1188, 1192, 1196, 1200, 1204, 1208, 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1240, 1244, 1248, 1252, 1256, 1260, 1264, 1268, 1272, 1276, 1280, 1284, 1288, 1292, 1296, 1300, 1304, 1308, 1312, 1316, 1320, 1324, 1328, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1360, 1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1396, 1400, 1404, 1408, 1412, 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1500, 1504, 1508, 1512, 1516, 1520, 1524, 1528, 1532, 1536, 1540, 1544, 1548, 1552, 1556, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1588, 1592, 1596, 1600, 1604, 1608, 1612, 1616] as const,
79
+ } as const
80
+
81
+ // Element `i` of the `colorCuts` uniform array (4 components).
82
+ export function setUniformColorCuts(
83
+ f32: Float32Array,
84
+ i: number,
85
+ v0: number,
86
+ v1: number,
87
+ v2: number,
88
+ v3: number,
89
+ ) {
90
+ const o = UNIFORM_SLOT_ARRAYS.colorCuts[i]!
91
+ f32[o] = v0
92
+ f32[o + 1] = v1
93
+ f32[o + 2] = v2
94
+ f32[o + 3] = v3
95
+ }
96
+
97
+ // Element `i` of the `colorBands` uniform array (4 components).
98
+ export function setUniformColorBands(
99
+ f32: Float32Array,
100
+ i: number,
101
+ v0: number,
102
+ v1: number,
103
+ v2: number,
104
+ v3: number,
105
+ ) {
106
+ const o = UNIFORM_SLOT_ARRAYS.colorBands[i]!
107
+ f32[o] = v0
108
+ f32[o + 1] = v1
109
+ f32[o + 2] = v2
110
+ f32[o + 3] = v3
111
+ }
112
+
113
+ // Element `i` of the `regionTable` uniform array (4 components).
114
+ export function setUniformRegionTable(
115
+ f32: Float32Array,
116
+ i: number,
117
+ v0: number,
118
+ v1: number,
119
+ v2: number,
120
+ v3: number,
121
+ ) {
122
+ const o = UNIFORM_SLOT_ARRAYS.regionTable[i]!
123
+ f32[o] = v0
124
+ f32[o + 1] = v1
125
+ f32[o + 2] = v2
126
+ f32[o + 3] = v3
127
+ }
128
+
129
+ // Element `i` of the `regionSpan` uniform array (4 components).
130
+ export function setUniformRegionSpan(
131
+ f32: Float32Array,
132
+ i: number,
133
+ v0: number,
134
+ v1: number,
135
+ v2: number,
136
+ v3: number,
137
+ ) {
138
+ const o = UNIFORM_SLOT_ARRAYS.regionSpan[i]!
139
+ f32[o] = v0
140
+ f32[o + 1] = v1
141
+ f32[o + 2] = v2
142
+ f32[o + 3] = v3
143
+ }
144
+
145
+
146
+ export interface Uniforms {
147
+ canvasHeight: number
148
+ devicePixelRatio: number
149
+ rowHeight: number
150
+ rowOffsetPx: number
151
+ reverse: number
152
+ stemPx: number
153
+ dashPx: number
154
+ gapPx: number
155
+ footPx: number
156
+ curveSegments: number
157
+ insetPx: number
158
+ domainMin: number
159
+ domainMax: number
160
+ valueScaleType: number
161
+ valueSymlogConstant: number
162
+ rampMode: number
163
+ rampMin: number
164
+ rampMax: number
165
+ rampMidNorm: number
166
+ colorCutCount: number
167
+ colorCuts: [[number, number, number, number], [number, number, number, number]]
168
+ colorBands: [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]
169
+ valued: number
170
+ linkShape: number
171
+ sizeMode: number
172
+ sizeConstantPx: number
173
+ sizeDomainMin: number
174
+ sizeDomainMax: number
175
+ sizeScaleType: number
176
+ sizeRangeMin: number
177
+ sizeRangeMax: number
178
+ canvasWidth: number
179
+ regionCount: number
180
+ zero: number
181
+ ownEntry: [number, number, number, number]
182
+ ownSpan: [number, number, number, number]
183
+ 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]]
184
+ regionSpan: [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]
185
+ rowTableKeys: number
186
+ }
187
+
188
+ export function writeUniforms(buf: ArrayBuffer, uniforms: Uniforms) {
189
+ const f32 = new Float32Array(buf)
190
+ const u32 = new Uint32Array(buf)
191
+ const i32 = new Int32Array(buf)
192
+ f32[0] = uniforms.canvasHeight
193
+ f32[1] = uniforms.devicePixelRatio
194
+ f32[2] = uniforms.rowHeight
195
+ f32[3] = uniforms.rowOffsetPx
196
+ i32[4] = uniforms.reverse
197
+ f32[5] = uniforms.stemPx
198
+ f32[6] = uniforms.dashPx
199
+ f32[7] = uniforms.gapPx
200
+ f32[8] = uniforms.footPx
201
+ u32[9] = uniforms.curveSegments
202
+ f32[10] = uniforms.insetPx
203
+ f32[11] = uniforms.domainMin
204
+ f32[12] = uniforms.domainMax
205
+ i32[13] = uniforms.valueScaleType
206
+ f32[14] = uniforms.valueSymlogConstant
207
+ i32[15] = uniforms.rampMode
208
+ f32[16] = uniforms.rampMin
209
+ f32[17] = uniforms.rampMax
210
+ f32[18] = uniforms.rampMidNorm
211
+ i32[19] = uniforms.colorCutCount
212
+ f32[20] = uniforms.colorCuts[0][0]
213
+ f32[21] = uniforms.colorCuts[0][1]
214
+ f32[22] = uniforms.colorCuts[0][2]
215
+ f32[23] = uniforms.colorCuts[0][3]
216
+ f32[24] = uniforms.colorCuts[1][0]
217
+ f32[25] = uniforms.colorCuts[1][1]
218
+ f32[26] = uniforms.colorCuts[1][2]
219
+ f32[27] = uniforms.colorCuts[1][3]
220
+ f32[28] = uniforms.colorBands[0][0]
221
+ f32[29] = uniforms.colorBands[0][1]
222
+ f32[30] = uniforms.colorBands[0][2]
223
+ f32[31] = uniforms.colorBands[0][3]
224
+ f32[32] = uniforms.colorBands[1][0]
225
+ f32[33] = uniforms.colorBands[1][1]
226
+ f32[34] = uniforms.colorBands[1][2]
227
+ f32[35] = uniforms.colorBands[1][3]
228
+ f32[36] = uniforms.colorBands[2][0]
229
+ f32[37] = uniforms.colorBands[2][1]
230
+ f32[38] = uniforms.colorBands[2][2]
231
+ f32[39] = uniforms.colorBands[2][3]
232
+ f32[40] = uniforms.colorBands[3][0]
233
+ f32[41] = uniforms.colorBands[3][1]
234
+ f32[42] = uniforms.colorBands[3][2]
235
+ f32[43] = uniforms.colorBands[3][3]
236
+ f32[44] = uniforms.colorBands[4][0]
237
+ f32[45] = uniforms.colorBands[4][1]
238
+ f32[46] = uniforms.colorBands[4][2]
239
+ f32[47] = uniforms.colorBands[4][3]
240
+ f32[48] = uniforms.colorBands[5][0]
241
+ f32[49] = uniforms.colorBands[5][1]
242
+ f32[50] = uniforms.colorBands[5][2]
243
+ f32[51] = uniforms.colorBands[5][3]
244
+ f32[52] = uniforms.colorBands[6][0]
245
+ f32[53] = uniforms.colorBands[6][1]
246
+ f32[54] = uniforms.colorBands[6][2]
247
+ f32[55] = uniforms.colorBands[6][3]
248
+ f32[56] = uniforms.colorBands[7][0]
249
+ f32[57] = uniforms.colorBands[7][1]
250
+ f32[58] = uniforms.colorBands[7][2]
251
+ f32[59] = uniforms.colorBands[7][3]
252
+ f32[60] = uniforms.colorBands[8][0]
253
+ f32[61] = uniforms.colorBands[8][1]
254
+ f32[62] = uniforms.colorBands[8][2]
255
+ f32[63] = uniforms.colorBands[8][3]
256
+ i32[64] = uniforms.valued
257
+ i32[65] = uniforms.linkShape
258
+ i32[66] = uniforms.sizeMode
259
+ f32[67] = uniforms.sizeConstantPx
260
+ f32[68] = uniforms.sizeDomainMin
261
+ f32[69] = uniforms.sizeDomainMax
262
+ i32[70] = uniforms.sizeScaleType
263
+ f32[71] = uniforms.sizeRangeMin
264
+ f32[72] = uniforms.sizeRangeMax
265
+ f32[73] = uniforms.canvasWidth
266
+ u32[74] = uniforms.regionCount
267
+ f32[75] = uniforms.zero
268
+ f32[76] = uniforms.ownEntry[0]
269
+ f32[77] = uniforms.ownEntry[1]
270
+ f32[78] = uniforms.ownEntry[2]
271
+ f32[79] = uniforms.ownEntry[3]
272
+ f32[80] = uniforms.ownSpan[0]
273
+ f32[81] = uniforms.ownSpan[1]
274
+ f32[82] = uniforms.ownSpan[2]
275
+ f32[83] = uniforms.ownSpan[3]
276
+ f32[84] = uniforms.regionTable[0][0]
277
+ f32[85] = uniforms.regionTable[0][1]
278
+ f32[86] = uniforms.regionTable[0][2]
279
+ f32[87] = uniforms.regionTable[0][3]
280
+ f32[88] = uniforms.regionTable[1][0]
281
+ f32[89] = uniforms.regionTable[1][1]
282
+ f32[90] = uniforms.regionTable[1][2]
283
+ f32[91] = uniforms.regionTable[1][3]
284
+ f32[92] = uniforms.regionTable[2][0]
285
+ f32[93] = uniforms.regionTable[2][1]
286
+ f32[94] = uniforms.regionTable[2][2]
287
+ f32[95] = uniforms.regionTable[2][3]
288
+ f32[96] = uniforms.regionTable[3][0]
289
+ f32[97] = uniforms.regionTable[3][1]
290
+ f32[98] = uniforms.regionTable[3][2]
291
+ f32[99] = uniforms.regionTable[3][3]
292
+ f32[100] = uniforms.regionTable[4][0]
293
+ f32[101] = uniforms.regionTable[4][1]
294
+ f32[102] = uniforms.regionTable[4][2]
295
+ f32[103] = uniforms.regionTable[4][3]
296
+ f32[104] = uniforms.regionTable[5][0]
297
+ f32[105] = uniforms.regionTable[5][1]
298
+ f32[106] = uniforms.regionTable[5][2]
299
+ f32[107] = uniforms.regionTable[5][3]
300
+ f32[108] = uniforms.regionTable[6][0]
301
+ f32[109] = uniforms.regionTable[6][1]
302
+ f32[110] = uniforms.regionTable[6][2]
303
+ f32[111] = uniforms.regionTable[6][3]
304
+ f32[112] = uniforms.regionTable[7][0]
305
+ f32[113] = uniforms.regionTable[7][1]
306
+ f32[114] = uniforms.regionTable[7][2]
307
+ f32[115] = uniforms.regionTable[7][3]
308
+ f32[116] = uniforms.regionTable[8][0]
309
+ f32[117] = uniforms.regionTable[8][1]
310
+ f32[118] = uniforms.regionTable[8][2]
311
+ f32[119] = uniforms.regionTable[8][3]
312
+ f32[120] = uniforms.regionTable[9][0]
313
+ f32[121] = uniforms.regionTable[9][1]
314
+ f32[122] = uniforms.regionTable[9][2]
315
+ f32[123] = uniforms.regionTable[9][3]
316
+ f32[124] = uniforms.regionTable[10][0]
317
+ f32[125] = uniforms.regionTable[10][1]
318
+ f32[126] = uniforms.regionTable[10][2]
319
+ f32[127] = uniforms.regionTable[10][3]
320
+ f32[128] = uniforms.regionTable[11][0]
321
+ f32[129] = uniforms.regionTable[11][1]
322
+ f32[130] = uniforms.regionTable[11][2]
323
+ f32[131] = uniforms.regionTable[11][3]
324
+ f32[132] = uniforms.regionTable[12][0]
325
+ f32[133] = uniforms.regionTable[12][1]
326
+ f32[134] = uniforms.regionTable[12][2]
327
+ f32[135] = uniforms.regionTable[12][3]
328
+ f32[136] = uniforms.regionTable[13][0]
329
+ f32[137] = uniforms.regionTable[13][1]
330
+ f32[138] = uniforms.regionTable[13][2]
331
+ f32[139] = uniforms.regionTable[13][3]
332
+ f32[140] = uniforms.regionTable[14][0]
333
+ f32[141] = uniforms.regionTable[14][1]
334
+ f32[142] = uniforms.regionTable[14][2]
335
+ f32[143] = uniforms.regionTable[14][3]
336
+ f32[144] = uniforms.regionTable[15][0]
337
+ f32[145] = uniforms.regionTable[15][1]
338
+ f32[146] = uniforms.regionTable[15][2]
339
+ f32[147] = uniforms.regionTable[15][3]
340
+ f32[148] = uniforms.regionTable[16][0]
341
+ f32[149] = uniforms.regionTable[16][1]
342
+ f32[150] = uniforms.regionTable[16][2]
343
+ f32[151] = uniforms.regionTable[16][3]
344
+ f32[152] = uniforms.regionTable[17][0]
345
+ f32[153] = uniforms.regionTable[17][1]
346
+ f32[154] = uniforms.regionTable[17][2]
347
+ f32[155] = uniforms.regionTable[17][3]
348
+ f32[156] = uniforms.regionTable[18][0]
349
+ f32[157] = uniforms.regionTable[18][1]
350
+ f32[158] = uniforms.regionTable[18][2]
351
+ f32[159] = uniforms.regionTable[18][3]
352
+ f32[160] = uniforms.regionTable[19][0]
353
+ f32[161] = uniforms.regionTable[19][1]
354
+ f32[162] = uniforms.regionTable[19][2]
355
+ f32[163] = uniforms.regionTable[19][3]
356
+ f32[164] = uniforms.regionTable[20][0]
357
+ f32[165] = uniforms.regionTable[20][1]
358
+ f32[166] = uniforms.regionTable[20][2]
359
+ f32[167] = uniforms.regionTable[20][3]
360
+ f32[168] = uniforms.regionTable[21][0]
361
+ f32[169] = uniforms.regionTable[21][1]
362
+ f32[170] = uniforms.regionTable[21][2]
363
+ f32[171] = uniforms.regionTable[21][3]
364
+ f32[172] = uniforms.regionTable[22][0]
365
+ f32[173] = uniforms.regionTable[22][1]
366
+ f32[174] = uniforms.regionTable[22][2]
367
+ f32[175] = uniforms.regionTable[22][3]
368
+ f32[176] = uniforms.regionTable[23][0]
369
+ f32[177] = uniforms.regionTable[23][1]
370
+ f32[178] = uniforms.regionTable[23][2]
371
+ f32[179] = uniforms.regionTable[23][3]
372
+ f32[180] = uniforms.regionTable[24][0]
373
+ f32[181] = uniforms.regionTable[24][1]
374
+ f32[182] = uniforms.regionTable[24][2]
375
+ f32[183] = uniforms.regionTable[24][3]
376
+ f32[184] = uniforms.regionTable[25][0]
377
+ f32[185] = uniforms.regionTable[25][1]
378
+ f32[186] = uniforms.regionTable[25][2]
379
+ f32[187] = uniforms.regionTable[25][3]
380
+ f32[188] = uniforms.regionTable[26][0]
381
+ f32[189] = uniforms.regionTable[26][1]
382
+ f32[190] = uniforms.regionTable[26][2]
383
+ f32[191] = uniforms.regionTable[26][3]
384
+ f32[192] = uniforms.regionTable[27][0]
385
+ f32[193] = uniforms.regionTable[27][1]
386
+ f32[194] = uniforms.regionTable[27][2]
387
+ f32[195] = uniforms.regionTable[27][3]
388
+ f32[196] = uniforms.regionTable[28][0]
389
+ f32[197] = uniforms.regionTable[28][1]
390
+ f32[198] = uniforms.regionTable[28][2]
391
+ f32[199] = uniforms.regionTable[28][3]
392
+ f32[200] = uniforms.regionTable[29][0]
393
+ f32[201] = uniforms.regionTable[29][1]
394
+ f32[202] = uniforms.regionTable[29][2]
395
+ f32[203] = uniforms.regionTable[29][3]
396
+ f32[204] = uniforms.regionTable[30][0]
397
+ f32[205] = uniforms.regionTable[30][1]
398
+ f32[206] = uniforms.regionTable[30][2]
399
+ f32[207] = uniforms.regionTable[30][3]
400
+ f32[208] = uniforms.regionTable[31][0]
401
+ f32[209] = uniforms.regionTable[31][1]
402
+ f32[210] = uniforms.regionTable[31][2]
403
+ f32[211] = uniforms.regionTable[31][3]
404
+ f32[212] = uniforms.regionTable[32][0]
405
+ f32[213] = uniforms.regionTable[32][1]
406
+ f32[214] = uniforms.regionTable[32][2]
407
+ f32[215] = uniforms.regionTable[32][3]
408
+ f32[216] = uniforms.regionTable[33][0]
409
+ f32[217] = uniforms.regionTable[33][1]
410
+ f32[218] = uniforms.regionTable[33][2]
411
+ f32[219] = uniforms.regionTable[33][3]
412
+ f32[220] = uniforms.regionTable[34][0]
413
+ f32[221] = uniforms.regionTable[34][1]
414
+ f32[222] = uniforms.regionTable[34][2]
415
+ f32[223] = uniforms.regionTable[34][3]
416
+ f32[224] = uniforms.regionTable[35][0]
417
+ f32[225] = uniforms.regionTable[35][1]
418
+ f32[226] = uniforms.regionTable[35][2]
419
+ f32[227] = uniforms.regionTable[35][3]
420
+ f32[228] = uniforms.regionTable[36][0]
421
+ f32[229] = uniforms.regionTable[36][1]
422
+ f32[230] = uniforms.regionTable[36][2]
423
+ f32[231] = uniforms.regionTable[36][3]
424
+ f32[232] = uniforms.regionTable[37][0]
425
+ f32[233] = uniforms.regionTable[37][1]
426
+ f32[234] = uniforms.regionTable[37][2]
427
+ f32[235] = uniforms.regionTable[37][3]
428
+ f32[236] = uniforms.regionTable[38][0]
429
+ f32[237] = uniforms.regionTable[38][1]
430
+ f32[238] = uniforms.regionTable[38][2]
431
+ f32[239] = uniforms.regionTable[38][3]
432
+ f32[240] = uniforms.regionTable[39][0]
433
+ f32[241] = uniforms.regionTable[39][1]
434
+ f32[242] = uniforms.regionTable[39][2]
435
+ f32[243] = uniforms.regionTable[39][3]
436
+ f32[244] = uniforms.regionTable[40][0]
437
+ f32[245] = uniforms.regionTable[40][1]
438
+ f32[246] = uniforms.regionTable[40][2]
439
+ f32[247] = uniforms.regionTable[40][3]
440
+ f32[248] = uniforms.regionTable[41][0]
441
+ f32[249] = uniforms.regionTable[41][1]
442
+ f32[250] = uniforms.regionTable[41][2]
443
+ f32[251] = uniforms.regionTable[41][3]
444
+ f32[252] = uniforms.regionTable[42][0]
445
+ f32[253] = uniforms.regionTable[42][1]
446
+ f32[254] = uniforms.regionTable[42][2]
447
+ f32[255] = uniforms.regionTable[42][3]
448
+ f32[256] = uniforms.regionTable[43][0]
449
+ f32[257] = uniforms.regionTable[43][1]
450
+ f32[258] = uniforms.regionTable[43][2]
451
+ f32[259] = uniforms.regionTable[43][3]
452
+ f32[260] = uniforms.regionTable[44][0]
453
+ f32[261] = uniforms.regionTable[44][1]
454
+ f32[262] = uniforms.regionTable[44][2]
455
+ f32[263] = uniforms.regionTable[44][3]
456
+ f32[264] = uniforms.regionTable[45][0]
457
+ f32[265] = uniforms.regionTable[45][1]
458
+ f32[266] = uniforms.regionTable[45][2]
459
+ f32[267] = uniforms.regionTable[45][3]
460
+ f32[268] = uniforms.regionTable[46][0]
461
+ f32[269] = uniforms.regionTable[46][1]
462
+ f32[270] = uniforms.regionTable[46][2]
463
+ f32[271] = uniforms.regionTable[46][3]
464
+ f32[272] = uniforms.regionTable[47][0]
465
+ f32[273] = uniforms.regionTable[47][1]
466
+ f32[274] = uniforms.regionTable[47][2]
467
+ f32[275] = uniforms.regionTable[47][3]
468
+ f32[276] = uniforms.regionTable[48][0]
469
+ f32[277] = uniforms.regionTable[48][1]
470
+ f32[278] = uniforms.regionTable[48][2]
471
+ f32[279] = uniforms.regionTable[48][3]
472
+ f32[280] = uniforms.regionTable[49][0]
473
+ f32[281] = uniforms.regionTable[49][1]
474
+ f32[282] = uniforms.regionTable[49][2]
475
+ f32[283] = uniforms.regionTable[49][3]
476
+ f32[284] = uniforms.regionTable[50][0]
477
+ f32[285] = uniforms.regionTable[50][1]
478
+ f32[286] = uniforms.regionTable[50][2]
479
+ f32[287] = uniforms.regionTable[50][3]
480
+ f32[288] = uniforms.regionTable[51][0]
481
+ f32[289] = uniforms.regionTable[51][1]
482
+ f32[290] = uniforms.regionTable[51][2]
483
+ f32[291] = uniforms.regionTable[51][3]
484
+ f32[292] = uniforms.regionTable[52][0]
485
+ f32[293] = uniforms.regionTable[52][1]
486
+ f32[294] = uniforms.regionTable[52][2]
487
+ f32[295] = uniforms.regionTable[52][3]
488
+ f32[296] = uniforms.regionTable[53][0]
489
+ f32[297] = uniforms.regionTable[53][1]
490
+ f32[298] = uniforms.regionTable[53][2]
491
+ f32[299] = uniforms.regionTable[53][3]
492
+ f32[300] = uniforms.regionTable[54][0]
493
+ f32[301] = uniforms.regionTable[54][1]
494
+ f32[302] = uniforms.regionTable[54][2]
495
+ f32[303] = uniforms.regionTable[54][3]
496
+ f32[304] = uniforms.regionTable[55][0]
497
+ f32[305] = uniforms.regionTable[55][1]
498
+ f32[306] = uniforms.regionTable[55][2]
499
+ f32[307] = uniforms.regionTable[55][3]
500
+ f32[308] = uniforms.regionTable[56][0]
501
+ f32[309] = uniforms.regionTable[56][1]
502
+ f32[310] = uniforms.regionTable[56][2]
503
+ f32[311] = uniforms.regionTable[56][3]
504
+ f32[312] = uniforms.regionTable[57][0]
505
+ f32[313] = uniforms.regionTable[57][1]
506
+ f32[314] = uniforms.regionTable[57][2]
507
+ f32[315] = uniforms.regionTable[57][3]
508
+ f32[316] = uniforms.regionTable[58][0]
509
+ f32[317] = uniforms.regionTable[58][1]
510
+ f32[318] = uniforms.regionTable[58][2]
511
+ f32[319] = uniforms.regionTable[58][3]
512
+ f32[320] = uniforms.regionTable[59][0]
513
+ f32[321] = uniforms.regionTable[59][1]
514
+ f32[322] = uniforms.regionTable[59][2]
515
+ f32[323] = uniforms.regionTable[59][3]
516
+ f32[324] = uniforms.regionTable[60][0]
517
+ f32[325] = uniforms.regionTable[60][1]
518
+ f32[326] = uniforms.regionTable[60][2]
519
+ f32[327] = uniforms.regionTable[60][3]
520
+ f32[328] = uniforms.regionTable[61][0]
521
+ f32[329] = uniforms.regionTable[61][1]
522
+ f32[330] = uniforms.regionTable[61][2]
523
+ f32[331] = uniforms.regionTable[61][3]
524
+ f32[332] = uniforms.regionTable[62][0]
525
+ f32[333] = uniforms.regionTable[62][1]
526
+ f32[334] = uniforms.regionTable[62][2]
527
+ f32[335] = uniforms.regionTable[62][3]
528
+ f32[336] = uniforms.regionTable[63][0]
529
+ f32[337] = uniforms.regionTable[63][1]
530
+ f32[338] = uniforms.regionTable[63][2]
531
+ f32[339] = uniforms.regionTable[63][3]
532
+ f32[340] = uniforms.regionTable[64][0]
533
+ f32[341] = uniforms.regionTable[64][1]
534
+ f32[342] = uniforms.regionTable[64][2]
535
+ f32[343] = uniforms.regionTable[64][3]
536
+ f32[344] = uniforms.regionTable[65][0]
537
+ f32[345] = uniforms.regionTable[65][1]
538
+ f32[346] = uniforms.regionTable[65][2]
539
+ f32[347] = uniforms.regionTable[65][3]
540
+ f32[348] = uniforms.regionTable[66][0]
541
+ f32[349] = uniforms.regionTable[66][1]
542
+ f32[350] = uniforms.regionTable[66][2]
543
+ f32[351] = uniforms.regionTable[66][3]
544
+ f32[352] = uniforms.regionTable[67][0]
545
+ f32[353] = uniforms.regionTable[67][1]
546
+ f32[354] = uniforms.regionTable[67][2]
547
+ f32[355] = uniforms.regionTable[67][3]
548
+ f32[356] = uniforms.regionTable[68][0]
549
+ f32[357] = uniforms.regionTable[68][1]
550
+ f32[358] = uniforms.regionTable[68][2]
551
+ f32[359] = uniforms.regionTable[68][3]
552
+ f32[360] = uniforms.regionTable[69][0]
553
+ f32[361] = uniforms.regionTable[69][1]
554
+ f32[362] = uniforms.regionTable[69][2]
555
+ f32[363] = uniforms.regionTable[69][3]
556
+ f32[364] = uniforms.regionTable[70][0]
557
+ f32[365] = uniforms.regionTable[70][1]
558
+ f32[366] = uniforms.regionTable[70][2]
559
+ f32[367] = uniforms.regionTable[70][3]
560
+ f32[368] = uniforms.regionTable[71][0]
561
+ f32[369] = uniforms.regionTable[71][1]
562
+ f32[370] = uniforms.regionTable[71][2]
563
+ f32[371] = uniforms.regionTable[71][3]
564
+ f32[372] = uniforms.regionTable[72][0]
565
+ f32[373] = uniforms.regionTable[72][1]
566
+ f32[374] = uniforms.regionTable[72][2]
567
+ f32[375] = uniforms.regionTable[72][3]
568
+ f32[376] = uniforms.regionTable[73][0]
569
+ f32[377] = uniforms.regionTable[73][1]
570
+ f32[378] = uniforms.regionTable[73][2]
571
+ f32[379] = uniforms.regionTable[73][3]
572
+ f32[380] = uniforms.regionTable[74][0]
573
+ f32[381] = uniforms.regionTable[74][1]
574
+ f32[382] = uniforms.regionTable[74][2]
575
+ f32[383] = uniforms.regionTable[74][3]
576
+ f32[384] = uniforms.regionTable[75][0]
577
+ f32[385] = uniforms.regionTable[75][1]
578
+ f32[386] = uniforms.regionTable[75][2]
579
+ f32[387] = uniforms.regionTable[75][3]
580
+ f32[388] = uniforms.regionTable[76][0]
581
+ f32[389] = uniforms.regionTable[76][1]
582
+ f32[390] = uniforms.regionTable[76][2]
583
+ f32[391] = uniforms.regionTable[76][3]
584
+ f32[392] = uniforms.regionTable[77][0]
585
+ f32[393] = uniforms.regionTable[77][1]
586
+ f32[394] = uniforms.regionTable[77][2]
587
+ f32[395] = uniforms.regionTable[77][3]
588
+ f32[396] = uniforms.regionTable[78][0]
589
+ f32[397] = uniforms.regionTable[78][1]
590
+ f32[398] = uniforms.regionTable[78][2]
591
+ f32[399] = uniforms.regionTable[78][3]
592
+ f32[400] = uniforms.regionTable[79][0]
593
+ f32[401] = uniforms.regionTable[79][1]
594
+ f32[402] = uniforms.regionTable[79][2]
595
+ f32[403] = uniforms.regionTable[79][3]
596
+ f32[404] = uniforms.regionTable[80][0]
597
+ f32[405] = uniforms.regionTable[80][1]
598
+ f32[406] = uniforms.regionTable[80][2]
599
+ f32[407] = uniforms.regionTable[80][3]
600
+ f32[408] = uniforms.regionTable[81][0]
601
+ f32[409] = uniforms.regionTable[81][1]
602
+ f32[410] = uniforms.regionTable[81][2]
603
+ f32[411] = uniforms.regionTable[81][3]
604
+ f32[412] = uniforms.regionTable[82][0]
605
+ f32[413] = uniforms.regionTable[82][1]
606
+ f32[414] = uniforms.regionTable[82][2]
607
+ f32[415] = uniforms.regionTable[82][3]
608
+ f32[416] = uniforms.regionTable[83][0]
609
+ f32[417] = uniforms.regionTable[83][1]
610
+ f32[418] = uniforms.regionTable[83][2]
611
+ f32[419] = uniforms.regionTable[83][3]
612
+ f32[420] = uniforms.regionTable[84][0]
613
+ f32[421] = uniforms.regionTable[84][1]
614
+ f32[422] = uniforms.regionTable[84][2]
615
+ f32[423] = uniforms.regionTable[84][3]
616
+ f32[424] = uniforms.regionTable[85][0]
617
+ f32[425] = uniforms.regionTable[85][1]
618
+ f32[426] = uniforms.regionTable[85][2]
619
+ f32[427] = uniforms.regionTable[85][3]
620
+ f32[428] = uniforms.regionTable[86][0]
621
+ f32[429] = uniforms.regionTable[86][1]
622
+ f32[430] = uniforms.regionTable[86][2]
623
+ f32[431] = uniforms.regionTable[86][3]
624
+ f32[432] = uniforms.regionTable[87][0]
625
+ f32[433] = uniforms.regionTable[87][1]
626
+ f32[434] = uniforms.regionTable[87][2]
627
+ f32[435] = uniforms.regionTable[87][3]
628
+ f32[436] = uniforms.regionTable[88][0]
629
+ f32[437] = uniforms.regionTable[88][1]
630
+ f32[438] = uniforms.regionTable[88][2]
631
+ f32[439] = uniforms.regionTable[88][3]
632
+ f32[440] = uniforms.regionTable[89][0]
633
+ f32[441] = uniforms.regionTable[89][1]
634
+ f32[442] = uniforms.regionTable[89][2]
635
+ f32[443] = uniforms.regionTable[89][3]
636
+ f32[444] = uniforms.regionTable[90][0]
637
+ f32[445] = uniforms.regionTable[90][1]
638
+ f32[446] = uniforms.regionTable[90][2]
639
+ f32[447] = uniforms.regionTable[90][3]
640
+ f32[448] = uniforms.regionTable[91][0]
641
+ f32[449] = uniforms.regionTable[91][1]
642
+ f32[450] = uniforms.regionTable[91][2]
643
+ f32[451] = uniforms.regionTable[91][3]
644
+ f32[452] = uniforms.regionTable[92][0]
645
+ f32[453] = uniforms.regionTable[92][1]
646
+ f32[454] = uniforms.regionTable[92][2]
647
+ f32[455] = uniforms.regionTable[92][3]
648
+ f32[456] = uniforms.regionTable[93][0]
649
+ f32[457] = uniforms.regionTable[93][1]
650
+ f32[458] = uniforms.regionTable[93][2]
651
+ f32[459] = uniforms.regionTable[93][3]
652
+ f32[460] = uniforms.regionTable[94][0]
653
+ f32[461] = uniforms.regionTable[94][1]
654
+ f32[462] = uniforms.regionTable[94][2]
655
+ f32[463] = uniforms.regionTable[94][3]
656
+ f32[464] = uniforms.regionTable[95][0]
657
+ f32[465] = uniforms.regionTable[95][1]
658
+ f32[466] = uniforms.regionTable[95][2]
659
+ f32[467] = uniforms.regionTable[95][3]
660
+ f32[468] = uniforms.regionTable[96][0]
661
+ f32[469] = uniforms.regionTable[96][1]
662
+ f32[470] = uniforms.regionTable[96][2]
663
+ f32[471] = uniforms.regionTable[96][3]
664
+ f32[472] = uniforms.regionTable[97][0]
665
+ f32[473] = uniforms.regionTable[97][1]
666
+ f32[474] = uniforms.regionTable[97][2]
667
+ f32[475] = uniforms.regionTable[97][3]
668
+ f32[476] = uniforms.regionTable[98][0]
669
+ f32[477] = uniforms.regionTable[98][1]
670
+ f32[478] = uniforms.regionTable[98][2]
671
+ f32[479] = uniforms.regionTable[98][3]
672
+ f32[480] = uniforms.regionTable[99][0]
673
+ f32[481] = uniforms.regionTable[99][1]
674
+ f32[482] = uniforms.regionTable[99][2]
675
+ f32[483] = uniforms.regionTable[99][3]
676
+ f32[484] = uniforms.regionTable[100][0]
677
+ f32[485] = uniforms.regionTable[100][1]
678
+ f32[486] = uniforms.regionTable[100][2]
679
+ f32[487] = uniforms.regionTable[100][3]
680
+ f32[488] = uniforms.regionTable[101][0]
681
+ f32[489] = uniforms.regionTable[101][1]
682
+ f32[490] = uniforms.regionTable[101][2]
683
+ f32[491] = uniforms.regionTable[101][3]
684
+ f32[492] = uniforms.regionTable[102][0]
685
+ f32[493] = uniforms.regionTable[102][1]
686
+ f32[494] = uniforms.regionTable[102][2]
687
+ f32[495] = uniforms.regionTable[102][3]
688
+ f32[496] = uniforms.regionTable[103][0]
689
+ f32[497] = uniforms.regionTable[103][1]
690
+ f32[498] = uniforms.regionTable[103][2]
691
+ f32[499] = uniforms.regionTable[103][3]
692
+ f32[500] = uniforms.regionTable[104][0]
693
+ f32[501] = uniforms.regionTable[104][1]
694
+ f32[502] = uniforms.regionTable[104][2]
695
+ f32[503] = uniforms.regionTable[104][3]
696
+ f32[504] = uniforms.regionTable[105][0]
697
+ f32[505] = uniforms.regionTable[105][1]
698
+ f32[506] = uniforms.regionTable[105][2]
699
+ f32[507] = uniforms.regionTable[105][3]
700
+ f32[508] = uniforms.regionTable[106][0]
701
+ f32[509] = uniforms.regionTable[106][1]
702
+ f32[510] = uniforms.regionTable[106][2]
703
+ f32[511] = uniforms.regionTable[106][3]
704
+ f32[512] = uniforms.regionTable[107][0]
705
+ f32[513] = uniforms.regionTable[107][1]
706
+ f32[514] = uniforms.regionTable[107][2]
707
+ f32[515] = uniforms.regionTable[107][3]
708
+ f32[516] = uniforms.regionTable[108][0]
709
+ f32[517] = uniforms.regionTable[108][1]
710
+ f32[518] = uniforms.regionTable[108][2]
711
+ f32[519] = uniforms.regionTable[108][3]
712
+ f32[520] = uniforms.regionTable[109][0]
713
+ f32[521] = uniforms.regionTable[109][1]
714
+ f32[522] = uniforms.regionTable[109][2]
715
+ f32[523] = uniforms.regionTable[109][3]
716
+ f32[524] = uniforms.regionTable[110][0]
717
+ f32[525] = uniforms.regionTable[110][1]
718
+ f32[526] = uniforms.regionTable[110][2]
719
+ f32[527] = uniforms.regionTable[110][3]
720
+ f32[528] = uniforms.regionTable[111][0]
721
+ f32[529] = uniforms.regionTable[111][1]
722
+ f32[530] = uniforms.regionTable[111][2]
723
+ f32[531] = uniforms.regionTable[111][3]
724
+ f32[532] = uniforms.regionTable[112][0]
725
+ f32[533] = uniforms.regionTable[112][1]
726
+ f32[534] = uniforms.regionTable[112][2]
727
+ f32[535] = uniforms.regionTable[112][3]
728
+ f32[536] = uniforms.regionTable[113][0]
729
+ f32[537] = uniforms.regionTable[113][1]
730
+ f32[538] = uniforms.regionTable[113][2]
731
+ f32[539] = uniforms.regionTable[113][3]
732
+ f32[540] = uniforms.regionTable[114][0]
733
+ f32[541] = uniforms.regionTable[114][1]
734
+ f32[542] = uniforms.regionTable[114][2]
735
+ f32[543] = uniforms.regionTable[114][3]
736
+ f32[544] = uniforms.regionTable[115][0]
737
+ f32[545] = uniforms.regionTable[115][1]
738
+ f32[546] = uniforms.regionTable[115][2]
739
+ f32[547] = uniforms.regionTable[115][3]
740
+ f32[548] = uniforms.regionTable[116][0]
741
+ f32[549] = uniforms.regionTable[116][1]
742
+ f32[550] = uniforms.regionTable[116][2]
743
+ f32[551] = uniforms.regionTable[116][3]
744
+ f32[552] = uniforms.regionTable[117][0]
745
+ f32[553] = uniforms.regionTable[117][1]
746
+ f32[554] = uniforms.regionTable[117][2]
747
+ f32[555] = uniforms.regionTable[117][3]
748
+ f32[556] = uniforms.regionTable[118][0]
749
+ f32[557] = uniforms.regionTable[118][1]
750
+ f32[558] = uniforms.regionTable[118][2]
751
+ f32[559] = uniforms.regionTable[118][3]
752
+ f32[560] = uniforms.regionTable[119][0]
753
+ f32[561] = uniforms.regionTable[119][1]
754
+ f32[562] = uniforms.regionTable[119][2]
755
+ f32[563] = uniforms.regionTable[119][3]
756
+ f32[564] = uniforms.regionTable[120][0]
757
+ f32[565] = uniforms.regionTable[120][1]
758
+ f32[566] = uniforms.regionTable[120][2]
759
+ f32[567] = uniforms.regionTable[120][3]
760
+ f32[568] = uniforms.regionTable[121][0]
761
+ f32[569] = uniforms.regionTable[121][1]
762
+ f32[570] = uniforms.regionTable[121][2]
763
+ f32[571] = uniforms.regionTable[121][3]
764
+ f32[572] = uniforms.regionTable[122][0]
765
+ f32[573] = uniforms.regionTable[122][1]
766
+ f32[574] = uniforms.regionTable[122][2]
767
+ f32[575] = uniforms.regionTable[122][3]
768
+ f32[576] = uniforms.regionTable[123][0]
769
+ f32[577] = uniforms.regionTable[123][1]
770
+ f32[578] = uniforms.regionTable[123][2]
771
+ f32[579] = uniforms.regionTable[123][3]
772
+ f32[580] = uniforms.regionTable[124][0]
773
+ f32[581] = uniforms.regionTable[124][1]
774
+ f32[582] = uniforms.regionTable[124][2]
775
+ f32[583] = uniforms.regionTable[124][3]
776
+ f32[584] = uniforms.regionTable[125][0]
777
+ f32[585] = uniforms.regionTable[125][1]
778
+ f32[586] = uniforms.regionTable[125][2]
779
+ f32[587] = uniforms.regionTable[125][3]
780
+ f32[588] = uniforms.regionTable[126][0]
781
+ f32[589] = uniforms.regionTable[126][1]
782
+ f32[590] = uniforms.regionTable[126][2]
783
+ f32[591] = uniforms.regionTable[126][3]
784
+ f32[592] = uniforms.regionTable[127][0]
785
+ f32[593] = uniforms.regionTable[127][1]
786
+ f32[594] = uniforms.regionTable[127][2]
787
+ f32[595] = uniforms.regionTable[127][3]
788
+ f32[596] = uniforms.regionTable[128][0]
789
+ f32[597] = uniforms.regionTable[128][1]
790
+ f32[598] = uniforms.regionTable[128][2]
791
+ f32[599] = uniforms.regionTable[128][3]
792
+ f32[600] = uniforms.regionTable[129][0]
793
+ f32[601] = uniforms.regionTable[129][1]
794
+ f32[602] = uniforms.regionTable[129][2]
795
+ f32[603] = uniforms.regionTable[129][3]
796
+ f32[604] = uniforms.regionTable[130][0]
797
+ f32[605] = uniforms.regionTable[130][1]
798
+ f32[606] = uniforms.regionTable[130][2]
799
+ f32[607] = uniforms.regionTable[130][3]
800
+ f32[608] = uniforms.regionTable[131][0]
801
+ f32[609] = uniforms.regionTable[131][1]
802
+ f32[610] = uniforms.regionTable[131][2]
803
+ f32[611] = uniforms.regionTable[131][3]
804
+ f32[612] = uniforms.regionTable[132][0]
805
+ f32[613] = uniforms.regionTable[132][1]
806
+ f32[614] = uniforms.regionTable[132][2]
807
+ f32[615] = uniforms.regionTable[132][3]
808
+ f32[616] = uniforms.regionTable[133][0]
809
+ f32[617] = uniforms.regionTable[133][1]
810
+ f32[618] = uniforms.regionTable[133][2]
811
+ f32[619] = uniforms.regionTable[133][3]
812
+ f32[620] = uniforms.regionTable[134][0]
813
+ f32[621] = uniforms.regionTable[134][1]
814
+ f32[622] = uniforms.regionTable[134][2]
815
+ f32[623] = uniforms.regionTable[134][3]
816
+ f32[624] = uniforms.regionTable[135][0]
817
+ f32[625] = uniforms.regionTable[135][1]
818
+ f32[626] = uniforms.regionTable[135][2]
819
+ f32[627] = uniforms.regionTable[135][3]
820
+ f32[628] = uniforms.regionTable[136][0]
821
+ f32[629] = uniforms.regionTable[136][1]
822
+ f32[630] = uniforms.regionTable[136][2]
823
+ f32[631] = uniforms.regionTable[136][3]
824
+ f32[632] = uniforms.regionTable[137][0]
825
+ f32[633] = uniforms.regionTable[137][1]
826
+ f32[634] = uniforms.regionTable[137][2]
827
+ f32[635] = uniforms.regionTable[137][3]
828
+ f32[636] = uniforms.regionTable[138][0]
829
+ f32[637] = uniforms.regionTable[138][1]
830
+ f32[638] = uniforms.regionTable[138][2]
831
+ f32[639] = uniforms.regionTable[138][3]
832
+ f32[640] = uniforms.regionTable[139][0]
833
+ f32[641] = uniforms.regionTable[139][1]
834
+ f32[642] = uniforms.regionTable[139][2]
835
+ f32[643] = uniforms.regionTable[139][3]
836
+ f32[644] = uniforms.regionTable[140][0]
837
+ f32[645] = uniforms.regionTable[140][1]
838
+ f32[646] = uniforms.regionTable[140][2]
839
+ f32[647] = uniforms.regionTable[140][3]
840
+ f32[648] = uniforms.regionTable[141][0]
841
+ f32[649] = uniforms.regionTable[141][1]
842
+ f32[650] = uniforms.regionTable[141][2]
843
+ f32[651] = uniforms.regionTable[141][3]
844
+ f32[652] = uniforms.regionTable[142][0]
845
+ f32[653] = uniforms.regionTable[142][1]
846
+ f32[654] = uniforms.regionTable[142][2]
847
+ f32[655] = uniforms.regionTable[142][3]
848
+ f32[656] = uniforms.regionTable[143][0]
849
+ f32[657] = uniforms.regionTable[143][1]
850
+ f32[658] = uniforms.regionTable[143][2]
851
+ f32[659] = uniforms.regionTable[143][3]
852
+ f32[660] = uniforms.regionTable[144][0]
853
+ f32[661] = uniforms.regionTable[144][1]
854
+ f32[662] = uniforms.regionTable[144][2]
855
+ f32[663] = uniforms.regionTable[144][3]
856
+ f32[664] = uniforms.regionTable[145][0]
857
+ f32[665] = uniforms.regionTable[145][1]
858
+ f32[666] = uniforms.regionTable[145][2]
859
+ f32[667] = uniforms.regionTable[145][3]
860
+ f32[668] = uniforms.regionTable[146][0]
861
+ f32[669] = uniforms.regionTable[146][1]
862
+ f32[670] = uniforms.regionTable[146][2]
863
+ f32[671] = uniforms.regionTable[146][3]
864
+ f32[672] = uniforms.regionTable[147][0]
865
+ f32[673] = uniforms.regionTable[147][1]
866
+ f32[674] = uniforms.regionTable[147][2]
867
+ f32[675] = uniforms.regionTable[147][3]
868
+ f32[676] = uniforms.regionTable[148][0]
869
+ f32[677] = uniforms.regionTable[148][1]
870
+ f32[678] = uniforms.regionTable[148][2]
871
+ f32[679] = uniforms.regionTable[148][3]
872
+ f32[680] = uniforms.regionTable[149][0]
873
+ f32[681] = uniforms.regionTable[149][1]
874
+ f32[682] = uniforms.regionTable[149][2]
875
+ f32[683] = uniforms.regionTable[149][3]
876
+ f32[684] = uniforms.regionTable[150][0]
877
+ f32[685] = uniforms.regionTable[150][1]
878
+ f32[686] = uniforms.regionTable[150][2]
879
+ f32[687] = uniforms.regionTable[150][3]
880
+ f32[688] = uniforms.regionTable[151][0]
881
+ f32[689] = uniforms.regionTable[151][1]
882
+ f32[690] = uniforms.regionTable[151][2]
883
+ f32[691] = uniforms.regionTable[151][3]
884
+ f32[692] = uniforms.regionTable[152][0]
885
+ f32[693] = uniforms.regionTable[152][1]
886
+ f32[694] = uniforms.regionTable[152][2]
887
+ f32[695] = uniforms.regionTable[152][3]
888
+ f32[696] = uniforms.regionTable[153][0]
889
+ f32[697] = uniforms.regionTable[153][1]
890
+ f32[698] = uniforms.regionTable[153][2]
891
+ f32[699] = uniforms.regionTable[153][3]
892
+ f32[700] = uniforms.regionTable[154][0]
893
+ f32[701] = uniforms.regionTable[154][1]
894
+ f32[702] = uniforms.regionTable[154][2]
895
+ f32[703] = uniforms.regionTable[154][3]
896
+ f32[704] = uniforms.regionTable[155][0]
897
+ f32[705] = uniforms.regionTable[155][1]
898
+ f32[706] = uniforms.regionTable[155][2]
899
+ f32[707] = uniforms.regionTable[155][3]
900
+ f32[708] = uniforms.regionTable[156][0]
901
+ f32[709] = uniforms.regionTable[156][1]
902
+ f32[710] = uniforms.regionTable[156][2]
903
+ f32[711] = uniforms.regionTable[156][3]
904
+ f32[712] = uniforms.regionTable[157][0]
905
+ f32[713] = uniforms.regionTable[157][1]
906
+ f32[714] = uniforms.regionTable[157][2]
907
+ f32[715] = uniforms.regionTable[157][3]
908
+ f32[716] = uniforms.regionTable[158][0]
909
+ f32[717] = uniforms.regionTable[158][1]
910
+ f32[718] = uniforms.regionTable[158][2]
911
+ f32[719] = uniforms.regionTable[158][3]
912
+ f32[720] = uniforms.regionTable[159][0]
913
+ f32[721] = uniforms.regionTable[159][1]
914
+ f32[722] = uniforms.regionTable[159][2]
915
+ f32[723] = uniforms.regionTable[159][3]
916
+ f32[724] = uniforms.regionTable[160][0]
917
+ f32[725] = uniforms.regionTable[160][1]
918
+ f32[726] = uniforms.regionTable[160][2]
919
+ f32[727] = uniforms.regionTable[160][3]
920
+ f32[728] = uniforms.regionTable[161][0]
921
+ f32[729] = uniforms.regionTable[161][1]
922
+ f32[730] = uniforms.regionTable[161][2]
923
+ f32[731] = uniforms.regionTable[161][3]
924
+ f32[732] = uniforms.regionTable[162][0]
925
+ f32[733] = uniforms.regionTable[162][1]
926
+ f32[734] = uniforms.regionTable[162][2]
927
+ f32[735] = uniforms.regionTable[162][3]
928
+ f32[736] = uniforms.regionTable[163][0]
929
+ f32[737] = uniforms.regionTable[163][1]
930
+ f32[738] = uniforms.regionTable[163][2]
931
+ f32[739] = uniforms.regionTable[163][3]
932
+ f32[740] = uniforms.regionTable[164][0]
933
+ f32[741] = uniforms.regionTable[164][1]
934
+ f32[742] = uniforms.regionTable[164][2]
935
+ f32[743] = uniforms.regionTable[164][3]
936
+ f32[744] = uniforms.regionTable[165][0]
937
+ f32[745] = uniforms.regionTable[165][1]
938
+ f32[746] = uniforms.regionTable[165][2]
939
+ f32[747] = uniforms.regionTable[165][3]
940
+ f32[748] = uniforms.regionTable[166][0]
941
+ f32[749] = uniforms.regionTable[166][1]
942
+ f32[750] = uniforms.regionTable[166][2]
943
+ f32[751] = uniforms.regionTable[166][3]
944
+ f32[752] = uniforms.regionTable[167][0]
945
+ f32[753] = uniforms.regionTable[167][1]
946
+ f32[754] = uniforms.regionTable[167][2]
947
+ f32[755] = uniforms.regionTable[167][3]
948
+ f32[756] = uniforms.regionTable[168][0]
949
+ f32[757] = uniforms.regionTable[168][1]
950
+ f32[758] = uniforms.regionTable[168][2]
951
+ f32[759] = uniforms.regionTable[168][3]
952
+ f32[760] = uniforms.regionTable[169][0]
953
+ f32[761] = uniforms.regionTable[169][1]
954
+ f32[762] = uniforms.regionTable[169][2]
955
+ f32[763] = uniforms.regionTable[169][3]
956
+ f32[764] = uniforms.regionTable[170][0]
957
+ f32[765] = uniforms.regionTable[170][1]
958
+ f32[766] = uniforms.regionTable[170][2]
959
+ f32[767] = uniforms.regionTable[170][3]
960
+ f32[768] = uniforms.regionTable[171][0]
961
+ f32[769] = uniforms.regionTable[171][1]
962
+ f32[770] = uniforms.regionTable[171][2]
963
+ f32[771] = uniforms.regionTable[171][3]
964
+ f32[772] = uniforms.regionTable[172][0]
965
+ f32[773] = uniforms.regionTable[172][1]
966
+ f32[774] = uniforms.regionTable[172][2]
967
+ f32[775] = uniforms.regionTable[172][3]
968
+ f32[776] = uniforms.regionTable[173][0]
969
+ f32[777] = uniforms.regionTable[173][1]
970
+ f32[778] = uniforms.regionTable[173][2]
971
+ f32[779] = uniforms.regionTable[173][3]
972
+ f32[780] = uniforms.regionTable[174][0]
973
+ f32[781] = uniforms.regionTable[174][1]
974
+ f32[782] = uniforms.regionTable[174][2]
975
+ f32[783] = uniforms.regionTable[174][3]
976
+ f32[784] = uniforms.regionTable[175][0]
977
+ f32[785] = uniforms.regionTable[175][1]
978
+ f32[786] = uniforms.regionTable[175][2]
979
+ f32[787] = uniforms.regionTable[175][3]
980
+ f32[788] = uniforms.regionTable[176][0]
981
+ f32[789] = uniforms.regionTable[176][1]
982
+ f32[790] = uniforms.regionTable[176][2]
983
+ f32[791] = uniforms.regionTable[176][3]
984
+ f32[792] = uniforms.regionTable[177][0]
985
+ f32[793] = uniforms.regionTable[177][1]
986
+ f32[794] = uniforms.regionTable[177][2]
987
+ f32[795] = uniforms.regionTable[177][3]
988
+ f32[796] = uniforms.regionTable[178][0]
989
+ f32[797] = uniforms.regionTable[178][1]
990
+ f32[798] = uniforms.regionTable[178][2]
991
+ f32[799] = uniforms.regionTable[178][3]
992
+ f32[800] = uniforms.regionTable[179][0]
993
+ f32[801] = uniforms.regionTable[179][1]
994
+ f32[802] = uniforms.regionTable[179][2]
995
+ f32[803] = uniforms.regionTable[179][3]
996
+ f32[804] = uniforms.regionTable[180][0]
997
+ f32[805] = uniforms.regionTable[180][1]
998
+ f32[806] = uniforms.regionTable[180][2]
999
+ f32[807] = uniforms.regionTable[180][3]
1000
+ f32[808] = uniforms.regionTable[181][0]
1001
+ f32[809] = uniforms.regionTable[181][1]
1002
+ f32[810] = uniforms.regionTable[181][2]
1003
+ f32[811] = uniforms.regionTable[181][3]
1004
+ f32[812] = uniforms.regionTable[182][0]
1005
+ f32[813] = uniforms.regionTable[182][1]
1006
+ f32[814] = uniforms.regionTable[182][2]
1007
+ f32[815] = uniforms.regionTable[182][3]
1008
+ f32[816] = uniforms.regionTable[183][0]
1009
+ f32[817] = uniforms.regionTable[183][1]
1010
+ f32[818] = uniforms.regionTable[183][2]
1011
+ f32[819] = uniforms.regionTable[183][3]
1012
+ f32[820] = uniforms.regionTable[184][0]
1013
+ f32[821] = uniforms.regionTable[184][1]
1014
+ f32[822] = uniforms.regionTable[184][2]
1015
+ f32[823] = uniforms.regionTable[184][3]
1016
+ f32[824] = uniforms.regionTable[185][0]
1017
+ f32[825] = uniforms.regionTable[185][1]
1018
+ f32[826] = uniforms.regionTable[185][2]
1019
+ f32[827] = uniforms.regionTable[185][3]
1020
+ f32[828] = uniforms.regionTable[186][0]
1021
+ f32[829] = uniforms.regionTable[186][1]
1022
+ f32[830] = uniforms.regionTable[186][2]
1023
+ f32[831] = uniforms.regionTable[186][3]
1024
+ f32[832] = uniforms.regionTable[187][0]
1025
+ f32[833] = uniforms.regionTable[187][1]
1026
+ f32[834] = uniforms.regionTable[187][2]
1027
+ f32[835] = uniforms.regionTable[187][3]
1028
+ f32[836] = uniforms.regionTable[188][0]
1029
+ f32[837] = uniforms.regionTable[188][1]
1030
+ f32[838] = uniforms.regionTable[188][2]
1031
+ f32[839] = uniforms.regionTable[188][3]
1032
+ f32[840] = uniforms.regionTable[189][0]
1033
+ f32[841] = uniforms.regionTable[189][1]
1034
+ f32[842] = uniforms.regionTable[189][2]
1035
+ f32[843] = uniforms.regionTable[189][3]
1036
+ f32[844] = uniforms.regionTable[190][0]
1037
+ f32[845] = uniforms.regionTable[190][1]
1038
+ f32[846] = uniforms.regionTable[190][2]
1039
+ f32[847] = uniforms.regionTable[190][3]
1040
+ f32[848] = uniforms.regionTable[191][0]
1041
+ f32[849] = uniforms.regionTable[191][1]
1042
+ f32[850] = uniforms.regionTable[191][2]
1043
+ f32[851] = uniforms.regionTable[191][3]
1044
+ f32[852] = uniforms.regionTable[192][0]
1045
+ f32[853] = uniforms.regionTable[192][1]
1046
+ f32[854] = uniforms.regionTable[192][2]
1047
+ f32[855] = uniforms.regionTable[192][3]
1048
+ f32[856] = uniforms.regionTable[193][0]
1049
+ f32[857] = uniforms.regionTable[193][1]
1050
+ f32[858] = uniforms.regionTable[193][2]
1051
+ f32[859] = uniforms.regionTable[193][3]
1052
+ f32[860] = uniforms.regionTable[194][0]
1053
+ f32[861] = uniforms.regionTable[194][1]
1054
+ f32[862] = uniforms.regionTable[194][2]
1055
+ f32[863] = uniforms.regionTable[194][3]
1056
+ f32[864] = uniforms.regionTable[195][0]
1057
+ f32[865] = uniforms.regionTable[195][1]
1058
+ f32[866] = uniforms.regionTable[195][2]
1059
+ f32[867] = uniforms.regionTable[195][3]
1060
+ f32[868] = uniforms.regionTable[196][0]
1061
+ f32[869] = uniforms.regionTable[196][1]
1062
+ f32[870] = uniforms.regionTable[196][2]
1063
+ f32[871] = uniforms.regionTable[196][3]
1064
+ f32[872] = uniforms.regionTable[197][0]
1065
+ f32[873] = uniforms.regionTable[197][1]
1066
+ f32[874] = uniforms.regionTable[197][2]
1067
+ f32[875] = uniforms.regionTable[197][3]
1068
+ f32[876] = uniforms.regionTable[198][0]
1069
+ f32[877] = uniforms.regionTable[198][1]
1070
+ f32[878] = uniforms.regionTable[198][2]
1071
+ f32[879] = uniforms.regionTable[198][3]
1072
+ f32[880] = uniforms.regionTable[199][0]
1073
+ f32[881] = uniforms.regionTable[199][1]
1074
+ f32[882] = uniforms.regionTable[199][2]
1075
+ f32[883] = uniforms.regionTable[199][3]
1076
+ f32[884] = uniforms.regionTable[200][0]
1077
+ f32[885] = uniforms.regionTable[200][1]
1078
+ f32[886] = uniforms.regionTable[200][2]
1079
+ f32[887] = uniforms.regionTable[200][3]
1080
+ f32[888] = uniforms.regionTable[201][0]
1081
+ f32[889] = uniforms.regionTable[201][1]
1082
+ f32[890] = uniforms.regionTable[201][2]
1083
+ f32[891] = uniforms.regionTable[201][3]
1084
+ f32[892] = uniforms.regionTable[202][0]
1085
+ f32[893] = uniforms.regionTable[202][1]
1086
+ f32[894] = uniforms.regionTable[202][2]
1087
+ f32[895] = uniforms.regionTable[202][3]
1088
+ f32[896] = uniforms.regionTable[203][0]
1089
+ f32[897] = uniforms.regionTable[203][1]
1090
+ f32[898] = uniforms.regionTable[203][2]
1091
+ f32[899] = uniforms.regionTable[203][3]
1092
+ f32[900] = uniforms.regionTable[204][0]
1093
+ f32[901] = uniforms.regionTable[204][1]
1094
+ f32[902] = uniforms.regionTable[204][2]
1095
+ f32[903] = uniforms.regionTable[204][3]
1096
+ f32[904] = uniforms.regionTable[205][0]
1097
+ f32[905] = uniforms.regionTable[205][1]
1098
+ f32[906] = uniforms.regionTable[205][2]
1099
+ f32[907] = uniforms.regionTable[205][3]
1100
+ f32[908] = uniforms.regionTable[206][0]
1101
+ f32[909] = uniforms.regionTable[206][1]
1102
+ f32[910] = uniforms.regionTable[206][2]
1103
+ f32[911] = uniforms.regionTable[206][3]
1104
+ f32[912] = uniforms.regionTable[207][0]
1105
+ f32[913] = uniforms.regionTable[207][1]
1106
+ f32[914] = uniforms.regionTable[207][2]
1107
+ f32[915] = uniforms.regionTable[207][3]
1108
+ f32[916] = uniforms.regionTable[208][0]
1109
+ f32[917] = uniforms.regionTable[208][1]
1110
+ f32[918] = uniforms.regionTable[208][2]
1111
+ f32[919] = uniforms.regionTable[208][3]
1112
+ f32[920] = uniforms.regionTable[209][0]
1113
+ f32[921] = uniforms.regionTable[209][1]
1114
+ f32[922] = uniforms.regionTable[209][2]
1115
+ f32[923] = uniforms.regionTable[209][3]
1116
+ f32[924] = uniforms.regionTable[210][0]
1117
+ f32[925] = uniforms.regionTable[210][1]
1118
+ f32[926] = uniforms.regionTable[210][2]
1119
+ f32[927] = uniforms.regionTable[210][3]
1120
+ f32[928] = uniforms.regionTable[211][0]
1121
+ f32[929] = uniforms.regionTable[211][1]
1122
+ f32[930] = uniforms.regionTable[211][2]
1123
+ f32[931] = uniforms.regionTable[211][3]
1124
+ f32[932] = uniforms.regionTable[212][0]
1125
+ f32[933] = uniforms.regionTable[212][1]
1126
+ f32[934] = uniforms.regionTable[212][2]
1127
+ f32[935] = uniforms.regionTable[212][3]
1128
+ f32[936] = uniforms.regionTable[213][0]
1129
+ f32[937] = uniforms.regionTable[213][1]
1130
+ f32[938] = uniforms.regionTable[213][2]
1131
+ f32[939] = uniforms.regionTable[213][3]
1132
+ f32[940] = uniforms.regionTable[214][0]
1133
+ f32[941] = uniforms.regionTable[214][1]
1134
+ f32[942] = uniforms.regionTable[214][2]
1135
+ f32[943] = uniforms.regionTable[214][3]
1136
+ f32[944] = uniforms.regionTable[215][0]
1137
+ f32[945] = uniforms.regionTable[215][1]
1138
+ f32[946] = uniforms.regionTable[215][2]
1139
+ f32[947] = uniforms.regionTable[215][3]
1140
+ f32[948] = uniforms.regionTable[216][0]
1141
+ f32[949] = uniforms.regionTable[216][1]
1142
+ f32[950] = uniforms.regionTable[216][2]
1143
+ f32[951] = uniforms.regionTable[216][3]
1144
+ f32[952] = uniforms.regionTable[217][0]
1145
+ f32[953] = uniforms.regionTable[217][1]
1146
+ f32[954] = uniforms.regionTable[217][2]
1147
+ f32[955] = uniforms.regionTable[217][3]
1148
+ f32[956] = uniforms.regionTable[218][0]
1149
+ f32[957] = uniforms.regionTable[218][1]
1150
+ f32[958] = uniforms.regionTable[218][2]
1151
+ f32[959] = uniforms.regionTable[218][3]
1152
+ f32[960] = uniforms.regionTable[219][0]
1153
+ f32[961] = uniforms.regionTable[219][1]
1154
+ f32[962] = uniforms.regionTable[219][2]
1155
+ f32[963] = uniforms.regionTable[219][3]
1156
+ f32[964] = uniforms.regionTable[220][0]
1157
+ f32[965] = uniforms.regionTable[220][1]
1158
+ f32[966] = uniforms.regionTable[220][2]
1159
+ f32[967] = uniforms.regionTable[220][3]
1160
+ f32[968] = uniforms.regionTable[221][0]
1161
+ f32[969] = uniforms.regionTable[221][1]
1162
+ f32[970] = uniforms.regionTable[221][2]
1163
+ f32[971] = uniforms.regionTable[221][3]
1164
+ f32[972] = uniforms.regionTable[222][0]
1165
+ f32[973] = uniforms.regionTable[222][1]
1166
+ f32[974] = uniforms.regionTable[222][2]
1167
+ f32[975] = uniforms.regionTable[222][3]
1168
+ f32[976] = uniforms.regionTable[223][0]
1169
+ f32[977] = uniforms.regionTable[223][1]
1170
+ f32[978] = uniforms.regionTable[223][2]
1171
+ f32[979] = uniforms.regionTable[223][3]
1172
+ f32[980] = uniforms.regionTable[224][0]
1173
+ f32[981] = uniforms.regionTable[224][1]
1174
+ f32[982] = uniforms.regionTable[224][2]
1175
+ f32[983] = uniforms.regionTable[224][3]
1176
+ f32[984] = uniforms.regionTable[225][0]
1177
+ f32[985] = uniforms.regionTable[225][1]
1178
+ f32[986] = uniforms.regionTable[225][2]
1179
+ f32[987] = uniforms.regionTable[225][3]
1180
+ f32[988] = uniforms.regionTable[226][0]
1181
+ f32[989] = uniforms.regionTable[226][1]
1182
+ f32[990] = uniforms.regionTable[226][2]
1183
+ f32[991] = uniforms.regionTable[226][3]
1184
+ f32[992] = uniforms.regionTable[227][0]
1185
+ f32[993] = uniforms.regionTable[227][1]
1186
+ f32[994] = uniforms.regionTable[227][2]
1187
+ f32[995] = uniforms.regionTable[227][3]
1188
+ f32[996] = uniforms.regionTable[228][0]
1189
+ f32[997] = uniforms.regionTable[228][1]
1190
+ f32[998] = uniforms.regionTable[228][2]
1191
+ f32[999] = uniforms.regionTable[228][3]
1192
+ f32[1000] = uniforms.regionTable[229][0]
1193
+ f32[1001] = uniforms.regionTable[229][1]
1194
+ f32[1002] = uniforms.regionTable[229][2]
1195
+ f32[1003] = uniforms.regionTable[229][3]
1196
+ f32[1004] = uniforms.regionTable[230][0]
1197
+ f32[1005] = uniforms.regionTable[230][1]
1198
+ f32[1006] = uniforms.regionTable[230][2]
1199
+ f32[1007] = uniforms.regionTable[230][3]
1200
+ f32[1008] = uniforms.regionTable[231][0]
1201
+ f32[1009] = uniforms.regionTable[231][1]
1202
+ f32[1010] = uniforms.regionTable[231][2]
1203
+ f32[1011] = uniforms.regionTable[231][3]
1204
+ f32[1012] = uniforms.regionTable[232][0]
1205
+ f32[1013] = uniforms.regionTable[232][1]
1206
+ f32[1014] = uniforms.regionTable[232][2]
1207
+ f32[1015] = uniforms.regionTable[232][3]
1208
+ f32[1016] = uniforms.regionTable[233][0]
1209
+ f32[1017] = uniforms.regionTable[233][1]
1210
+ f32[1018] = uniforms.regionTable[233][2]
1211
+ f32[1019] = uniforms.regionTable[233][3]
1212
+ f32[1020] = uniforms.regionTable[234][0]
1213
+ f32[1021] = uniforms.regionTable[234][1]
1214
+ f32[1022] = uniforms.regionTable[234][2]
1215
+ f32[1023] = uniforms.regionTable[234][3]
1216
+ f32[1024] = uniforms.regionTable[235][0]
1217
+ f32[1025] = uniforms.regionTable[235][1]
1218
+ f32[1026] = uniforms.regionTable[235][2]
1219
+ f32[1027] = uniforms.regionTable[235][3]
1220
+ f32[1028] = uniforms.regionTable[236][0]
1221
+ f32[1029] = uniforms.regionTable[236][1]
1222
+ f32[1030] = uniforms.regionTable[236][2]
1223
+ f32[1031] = uniforms.regionTable[236][3]
1224
+ f32[1032] = uniforms.regionTable[237][0]
1225
+ f32[1033] = uniforms.regionTable[237][1]
1226
+ f32[1034] = uniforms.regionTable[237][2]
1227
+ f32[1035] = uniforms.regionTable[237][3]
1228
+ f32[1036] = uniforms.regionTable[238][0]
1229
+ f32[1037] = uniforms.regionTable[238][1]
1230
+ f32[1038] = uniforms.regionTable[238][2]
1231
+ f32[1039] = uniforms.regionTable[238][3]
1232
+ f32[1040] = uniforms.regionTable[239][0]
1233
+ f32[1041] = uniforms.regionTable[239][1]
1234
+ f32[1042] = uniforms.regionTable[239][2]
1235
+ f32[1043] = uniforms.regionTable[239][3]
1236
+ f32[1044] = uniforms.regionTable[240][0]
1237
+ f32[1045] = uniforms.regionTable[240][1]
1238
+ f32[1046] = uniforms.regionTable[240][2]
1239
+ f32[1047] = uniforms.regionTable[240][3]
1240
+ f32[1048] = uniforms.regionTable[241][0]
1241
+ f32[1049] = uniforms.regionTable[241][1]
1242
+ f32[1050] = uniforms.regionTable[241][2]
1243
+ f32[1051] = uniforms.regionTable[241][3]
1244
+ f32[1052] = uniforms.regionTable[242][0]
1245
+ f32[1053] = uniforms.regionTable[242][1]
1246
+ f32[1054] = uniforms.regionTable[242][2]
1247
+ f32[1055] = uniforms.regionTable[242][3]
1248
+ f32[1056] = uniforms.regionTable[243][0]
1249
+ f32[1057] = uniforms.regionTable[243][1]
1250
+ f32[1058] = uniforms.regionTable[243][2]
1251
+ f32[1059] = uniforms.regionTable[243][3]
1252
+ f32[1060] = uniforms.regionTable[244][0]
1253
+ f32[1061] = uniforms.regionTable[244][1]
1254
+ f32[1062] = uniforms.regionTable[244][2]
1255
+ f32[1063] = uniforms.regionTable[244][3]
1256
+ f32[1064] = uniforms.regionTable[245][0]
1257
+ f32[1065] = uniforms.regionTable[245][1]
1258
+ f32[1066] = uniforms.regionTable[245][2]
1259
+ f32[1067] = uniforms.regionTable[245][3]
1260
+ f32[1068] = uniforms.regionTable[246][0]
1261
+ f32[1069] = uniforms.regionTable[246][1]
1262
+ f32[1070] = uniforms.regionTable[246][2]
1263
+ f32[1071] = uniforms.regionTable[246][3]
1264
+ f32[1072] = uniforms.regionTable[247][0]
1265
+ f32[1073] = uniforms.regionTable[247][1]
1266
+ f32[1074] = uniforms.regionTable[247][2]
1267
+ f32[1075] = uniforms.regionTable[247][3]
1268
+ f32[1076] = uniforms.regionTable[248][0]
1269
+ f32[1077] = uniforms.regionTable[248][1]
1270
+ f32[1078] = uniforms.regionTable[248][2]
1271
+ f32[1079] = uniforms.regionTable[248][3]
1272
+ f32[1080] = uniforms.regionTable[249][0]
1273
+ f32[1081] = uniforms.regionTable[249][1]
1274
+ f32[1082] = uniforms.regionTable[249][2]
1275
+ f32[1083] = uniforms.regionTable[249][3]
1276
+ f32[1084] = uniforms.regionTable[250][0]
1277
+ f32[1085] = uniforms.regionTable[250][1]
1278
+ f32[1086] = uniforms.regionTable[250][2]
1279
+ f32[1087] = uniforms.regionTable[250][3]
1280
+ f32[1088] = uniforms.regionTable[251][0]
1281
+ f32[1089] = uniforms.regionTable[251][1]
1282
+ f32[1090] = uniforms.regionTable[251][2]
1283
+ f32[1091] = uniforms.regionTable[251][3]
1284
+ f32[1092] = uniforms.regionTable[252][0]
1285
+ f32[1093] = uniforms.regionTable[252][1]
1286
+ f32[1094] = uniforms.regionTable[252][2]
1287
+ f32[1095] = uniforms.regionTable[252][3]
1288
+ f32[1096] = uniforms.regionTable[253][0]
1289
+ f32[1097] = uniforms.regionTable[253][1]
1290
+ f32[1098] = uniforms.regionTable[253][2]
1291
+ f32[1099] = uniforms.regionTable[253][3]
1292
+ f32[1100] = uniforms.regionTable[254][0]
1293
+ f32[1101] = uniforms.regionTable[254][1]
1294
+ f32[1102] = uniforms.regionTable[254][2]
1295
+ f32[1103] = uniforms.regionTable[254][3]
1296
+ f32[1104] = uniforms.regionTable[255][0]
1297
+ f32[1105] = uniforms.regionTable[255][1]
1298
+ f32[1106] = uniforms.regionTable[255][2]
1299
+ f32[1107] = uniforms.regionTable[255][3]
1300
+ f32[1108] = uniforms.regionSpan[0][0]
1301
+ f32[1109] = uniforms.regionSpan[0][1]
1302
+ f32[1110] = uniforms.regionSpan[0][2]
1303
+ f32[1111] = uniforms.regionSpan[0][3]
1304
+ f32[1112] = uniforms.regionSpan[1][0]
1305
+ f32[1113] = uniforms.regionSpan[1][1]
1306
+ f32[1114] = uniforms.regionSpan[1][2]
1307
+ f32[1115] = uniforms.regionSpan[1][3]
1308
+ f32[1116] = uniforms.regionSpan[2][0]
1309
+ f32[1117] = uniforms.regionSpan[2][1]
1310
+ f32[1118] = uniforms.regionSpan[2][2]
1311
+ f32[1119] = uniforms.regionSpan[2][3]
1312
+ f32[1120] = uniforms.regionSpan[3][0]
1313
+ f32[1121] = uniforms.regionSpan[3][1]
1314
+ f32[1122] = uniforms.regionSpan[3][2]
1315
+ f32[1123] = uniforms.regionSpan[3][3]
1316
+ f32[1124] = uniforms.regionSpan[4][0]
1317
+ f32[1125] = uniforms.regionSpan[4][1]
1318
+ f32[1126] = uniforms.regionSpan[4][2]
1319
+ f32[1127] = uniforms.regionSpan[4][3]
1320
+ f32[1128] = uniforms.regionSpan[5][0]
1321
+ f32[1129] = uniforms.regionSpan[5][1]
1322
+ f32[1130] = uniforms.regionSpan[5][2]
1323
+ f32[1131] = uniforms.regionSpan[5][3]
1324
+ f32[1132] = uniforms.regionSpan[6][0]
1325
+ f32[1133] = uniforms.regionSpan[6][1]
1326
+ f32[1134] = uniforms.regionSpan[6][2]
1327
+ f32[1135] = uniforms.regionSpan[6][3]
1328
+ f32[1136] = uniforms.regionSpan[7][0]
1329
+ f32[1137] = uniforms.regionSpan[7][1]
1330
+ f32[1138] = uniforms.regionSpan[7][2]
1331
+ f32[1139] = uniforms.regionSpan[7][3]
1332
+ f32[1140] = uniforms.regionSpan[8][0]
1333
+ f32[1141] = uniforms.regionSpan[8][1]
1334
+ f32[1142] = uniforms.regionSpan[8][2]
1335
+ f32[1143] = uniforms.regionSpan[8][3]
1336
+ f32[1144] = uniforms.regionSpan[9][0]
1337
+ f32[1145] = uniforms.regionSpan[9][1]
1338
+ f32[1146] = uniforms.regionSpan[9][2]
1339
+ f32[1147] = uniforms.regionSpan[9][3]
1340
+ f32[1148] = uniforms.regionSpan[10][0]
1341
+ f32[1149] = uniforms.regionSpan[10][1]
1342
+ f32[1150] = uniforms.regionSpan[10][2]
1343
+ f32[1151] = uniforms.regionSpan[10][3]
1344
+ f32[1152] = uniforms.regionSpan[11][0]
1345
+ f32[1153] = uniforms.regionSpan[11][1]
1346
+ f32[1154] = uniforms.regionSpan[11][2]
1347
+ f32[1155] = uniforms.regionSpan[11][3]
1348
+ f32[1156] = uniforms.regionSpan[12][0]
1349
+ f32[1157] = uniforms.regionSpan[12][1]
1350
+ f32[1158] = uniforms.regionSpan[12][2]
1351
+ f32[1159] = uniforms.regionSpan[12][3]
1352
+ f32[1160] = uniforms.regionSpan[13][0]
1353
+ f32[1161] = uniforms.regionSpan[13][1]
1354
+ f32[1162] = uniforms.regionSpan[13][2]
1355
+ f32[1163] = uniforms.regionSpan[13][3]
1356
+ f32[1164] = uniforms.regionSpan[14][0]
1357
+ f32[1165] = uniforms.regionSpan[14][1]
1358
+ f32[1166] = uniforms.regionSpan[14][2]
1359
+ f32[1167] = uniforms.regionSpan[14][3]
1360
+ f32[1168] = uniforms.regionSpan[15][0]
1361
+ f32[1169] = uniforms.regionSpan[15][1]
1362
+ f32[1170] = uniforms.regionSpan[15][2]
1363
+ f32[1171] = uniforms.regionSpan[15][3]
1364
+ f32[1172] = uniforms.regionSpan[16][0]
1365
+ f32[1173] = uniforms.regionSpan[16][1]
1366
+ f32[1174] = uniforms.regionSpan[16][2]
1367
+ f32[1175] = uniforms.regionSpan[16][3]
1368
+ f32[1176] = uniforms.regionSpan[17][0]
1369
+ f32[1177] = uniforms.regionSpan[17][1]
1370
+ f32[1178] = uniforms.regionSpan[17][2]
1371
+ f32[1179] = uniforms.regionSpan[17][3]
1372
+ f32[1180] = uniforms.regionSpan[18][0]
1373
+ f32[1181] = uniforms.regionSpan[18][1]
1374
+ f32[1182] = uniforms.regionSpan[18][2]
1375
+ f32[1183] = uniforms.regionSpan[18][3]
1376
+ f32[1184] = uniforms.regionSpan[19][0]
1377
+ f32[1185] = uniforms.regionSpan[19][1]
1378
+ f32[1186] = uniforms.regionSpan[19][2]
1379
+ f32[1187] = uniforms.regionSpan[19][3]
1380
+ f32[1188] = uniforms.regionSpan[20][0]
1381
+ f32[1189] = uniforms.regionSpan[20][1]
1382
+ f32[1190] = uniforms.regionSpan[20][2]
1383
+ f32[1191] = uniforms.regionSpan[20][3]
1384
+ f32[1192] = uniforms.regionSpan[21][0]
1385
+ f32[1193] = uniforms.regionSpan[21][1]
1386
+ f32[1194] = uniforms.regionSpan[21][2]
1387
+ f32[1195] = uniforms.regionSpan[21][3]
1388
+ f32[1196] = uniforms.regionSpan[22][0]
1389
+ f32[1197] = uniforms.regionSpan[22][1]
1390
+ f32[1198] = uniforms.regionSpan[22][2]
1391
+ f32[1199] = uniforms.regionSpan[22][3]
1392
+ f32[1200] = uniforms.regionSpan[23][0]
1393
+ f32[1201] = uniforms.regionSpan[23][1]
1394
+ f32[1202] = uniforms.regionSpan[23][2]
1395
+ f32[1203] = uniforms.regionSpan[23][3]
1396
+ f32[1204] = uniforms.regionSpan[24][0]
1397
+ f32[1205] = uniforms.regionSpan[24][1]
1398
+ f32[1206] = uniforms.regionSpan[24][2]
1399
+ f32[1207] = uniforms.regionSpan[24][3]
1400
+ f32[1208] = uniforms.regionSpan[25][0]
1401
+ f32[1209] = uniforms.regionSpan[25][1]
1402
+ f32[1210] = uniforms.regionSpan[25][2]
1403
+ f32[1211] = uniforms.regionSpan[25][3]
1404
+ f32[1212] = uniforms.regionSpan[26][0]
1405
+ f32[1213] = uniforms.regionSpan[26][1]
1406
+ f32[1214] = uniforms.regionSpan[26][2]
1407
+ f32[1215] = uniforms.regionSpan[26][3]
1408
+ f32[1216] = uniforms.regionSpan[27][0]
1409
+ f32[1217] = uniforms.regionSpan[27][1]
1410
+ f32[1218] = uniforms.regionSpan[27][2]
1411
+ f32[1219] = uniforms.regionSpan[27][3]
1412
+ f32[1220] = uniforms.regionSpan[28][0]
1413
+ f32[1221] = uniforms.regionSpan[28][1]
1414
+ f32[1222] = uniforms.regionSpan[28][2]
1415
+ f32[1223] = uniforms.regionSpan[28][3]
1416
+ f32[1224] = uniforms.regionSpan[29][0]
1417
+ f32[1225] = uniforms.regionSpan[29][1]
1418
+ f32[1226] = uniforms.regionSpan[29][2]
1419
+ f32[1227] = uniforms.regionSpan[29][3]
1420
+ f32[1228] = uniforms.regionSpan[30][0]
1421
+ f32[1229] = uniforms.regionSpan[30][1]
1422
+ f32[1230] = uniforms.regionSpan[30][2]
1423
+ f32[1231] = uniforms.regionSpan[30][3]
1424
+ f32[1232] = uniforms.regionSpan[31][0]
1425
+ f32[1233] = uniforms.regionSpan[31][1]
1426
+ f32[1234] = uniforms.regionSpan[31][2]
1427
+ f32[1235] = uniforms.regionSpan[31][3]
1428
+ f32[1236] = uniforms.regionSpan[32][0]
1429
+ f32[1237] = uniforms.regionSpan[32][1]
1430
+ f32[1238] = uniforms.regionSpan[32][2]
1431
+ f32[1239] = uniforms.regionSpan[32][3]
1432
+ f32[1240] = uniforms.regionSpan[33][0]
1433
+ f32[1241] = uniforms.regionSpan[33][1]
1434
+ f32[1242] = uniforms.regionSpan[33][2]
1435
+ f32[1243] = uniforms.regionSpan[33][3]
1436
+ f32[1244] = uniforms.regionSpan[34][0]
1437
+ f32[1245] = uniforms.regionSpan[34][1]
1438
+ f32[1246] = uniforms.regionSpan[34][2]
1439
+ f32[1247] = uniforms.regionSpan[34][3]
1440
+ f32[1248] = uniforms.regionSpan[35][0]
1441
+ f32[1249] = uniforms.regionSpan[35][1]
1442
+ f32[1250] = uniforms.regionSpan[35][2]
1443
+ f32[1251] = uniforms.regionSpan[35][3]
1444
+ f32[1252] = uniforms.regionSpan[36][0]
1445
+ f32[1253] = uniforms.regionSpan[36][1]
1446
+ f32[1254] = uniforms.regionSpan[36][2]
1447
+ f32[1255] = uniforms.regionSpan[36][3]
1448
+ f32[1256] = uniforms.regionSpan[37][0]
1449
+ f32[1257] = uniforms.regionSpan[37][1]
1450
+ f32[1258] = uniforms.regionSpan[37][2]
1451
+ f32[1259] = uniforms.regionSpan[37][3]
1452
+ f32[1260] = uniforms.regionSpan[38][0]
1453
+ f32[1261] = uniforms.regionSpan[38][1]
1454
+ f32[1262] = uniforms.regionSpan[38][2]
1455
+ f32[1263] = uniforms.regionSpan[38][3]
1456
+ f32[1264] = uniforms.regionSpan[39][0]
1457
+ f32[1265] = uniforms.regionSpan[39][1]
1458
+ f32[1266] = uniforms.regionSpan[39][2]
1459
+ f32[1267] = uniforms.regionSpan[39][3]
1460
+ f32[1268] = uniforms.regionSpan[40][0]
1461
+ f32[1269] = uniforms.regionSpan[40][1]
1462
+ f32[1270] = uniforms.regionSpan[40][2]
1463
+ f32[1271] = uniforms.regionSpan[40][3]
1464
+ f32[1272] = uniforms.regionSpan[41][0]
1465
+ f32[1273] = uniforms.regionSpan[41][1]
1466
+ f32[1274] = uniforms.regionSpan[41][2]
1467
+ f32[1275] = uniforms.regionSpan[41][3]
1468
+ f32[1276] = uniforms.regionSpan[42][0]
1469
+ f32[1277] = uniforms.regionSpan[42][1]
1470
+ f32[1278] = uniforms.regionSpan[42][2]
1471
+ f32[1279] = uniforms.regionSpan[42][3]
1472
+ f32[1280] = uniforms.regionSpan[43][0]
1473
+ f32[1281] = uniforms.regionSpan[43][1]
1474
+ f32[1282] = uniforms.regionSpan[43][2]
1475
+ f32[1283] = uniforms.regionSpan[43][3]
1476
+ f32[1284] = uniforms.regionSpan[44][0]
1477
+ f32[1285] = uniforms.regionSpan[44][1]
1478
+ f32[1286] = uniforms.regionSpan[44][2]
1479
+ f32[1287] = uniforms.regionSpan[44][3]
1480
+ f32[1288] = uniforms.regionSpan[45][0]
1481
+ f32[1289] = uniforms.regionSpan[45][1]
1482
+ f32[1290] = uniforms.regionSpan[45][2]
1483
+ f32[1291] = uniforms.regionSpan[45][3]
1484
+ f32[1292] = uniforms.regionSpan[46][0]
1485
+ f32[1293] = uniforms.regionSpan[46][1]
1486
+ f32[1294] = uniforms.regionSpan[46][2]
1487
+ f32[1295] = uniforms.regionSpan[46][3]
1488
+ f32[1296] = uniforms.regionSpan[47][0]
1489
+ f32[1297] = uniforms.regionSpan[47][1]
1490
+ f32[1298] = uniforms.regionSpan[47][2]
1491
+ f32[1299] = uniforms.regionSpan[47][3]
1492
+ f32[1300] = uniforms.regionSpan[48][0]
1493
+ f32[1301] = uniforms.regionSpan[48][1]
1494
+ f32[1302] = uniforms.regionSpan[48][2]
1495
+ f32[1303] = uniforms.regionSpan[48][3]
1496
+ f32[1304] = uniforms.regionSpan[49][0]
1497
+ f32[1305] = uniforms.regionSpan[49][1]
1498
+ f32[1306] = uniforms.regionSpan[49][2]
1499
+ f32[1307] = uniforms.regionSpan[49][3]
1500
+ f32[1308] = uniforms.regionSpan[50][0]
1501
+ f32[1309] = uniforms.regionSpan[50][1]
1502
+ f32[1310] = uniforms.regionSpan[50][2]
1503
+ f32[1311] = uniforms.regionSpan[50][3]
1504
+ f32[1312] = uniforms.regionSpan[51][0]
1505
+ f32[1313] = uniforms.regionSpan[51][1]
1506
+ f32[1314] = uniforms.regionSpan[51][2]
1507
+ f32[1315] = uniforms.regionSpan[51][3]
1508
+ f32[1316] = uniforms.regionSpan[52][0]
1509
+ f32[1317] = uniforms.regionSpan[52][1]
1510
+ f32[1318] = uniforms.regionSpan[52][2]
1511
+ f32[1319] = uniforms.regionSpan[52][3]
1512
+ f32[1320] = uniforms.regionSpan[53][0]
1513
+ f32[1321] = uniforms.regionSpan[53][1]
1514
+ f32[1322] = uniforms.regionSpan[53][2]
1515
+ f32[1323] = uniforms.regionSpan[53][3]
1516
+ f32[1324] = uniforms.regionSpan[54][0]
1517
+ f32[1325] = uniforms.regionSpan[54][1]
1518
+ f32[1326] = uniforms.regionSpan[54][2]
1519
+ f32[1327] = uniforms.regionSpan[54][3]
1520
+ f32[1328] = uniforms.regionSpan[55][0]
1521
+ f32[1329] = uniforms.regionSpan[55][1]
1522
+ f32[1330] = uniforms.regionSpan[55][2]
1523
+ f32[1331] = uniforms.regionSpan[55][3]
1524
+ f32[1332] = uniforms.regionSpan[56][0]
1525
+ f32[1333] = uniforms.regionSpan[56][1]
1526
+ f32[1334] = uniforms.regionSpan[56][2]
1527
+ f32[1335] = uniforms.regionSpan[56][3]
1528
+ f32[1336] = uniforms.regionSpan[57][0]
1529
+ f32[1337] = uniforms.regionSpan[57][1]
1530
+ f32[1338] = uniforms.regionSpan[57][2]
1531
+ f32[1339] = uniforms.regionSpan[57][3]
1532
+ f32[1340] = uniforms.regionSpan[58][0]
1533
+ f32[1341] = uniforms.regionSpan[58][1]
1534
+ f32[1342] = uniforms.regionSpan[58][2]
1535
+ f32[1343] = uniforms.regionSpan[58][3]
1536
+ f32[1344] = uniforms.regionSpan[59][0]
1537
+ f32[1345] = uniforms.regionSpan[59][1]
1538
+ f32[1346] = uniforms.regionSpan[59][2]
1539
+ f32[1347] = uniforms.regionSpan[59][3]
1540
+ f32[1348] = uniforms.regionSpan[60][0]
1541
+ f32[1349] = uniforms.regionSpan[60][1]
1542
+ f32[1350] = uniforms.regionSpan[60][2]
1543
+ f32[1351] = uniforms.regionSpan[60][3]
1544
+ f32[1352] = uniforms.regionSpan[61][0]
1545
+ f32[1353] = uniforms.regionSpan[61][1]
1546
+ f32[1354] = uniforms.regionSpan[61][2]
1547
+ f32[1355] = uniforms.regionSpan[61][3]
1548
+ f32[1356] = uniforms.regionSpan[62][0]
1549
+ f32[1357] = uniforms.regionSpan[62][1]
1550
+ f32[1358] = uniforms.regionSpan[62][2]
1551
+ f32[1359] = uniforms.regionSpan[62][3]
1552
+ f32[1360] = uniforms.regionSpan[63][0]
1553
+ f32[1361] = uniforms.regionSpan[63][1]
1554
+ f32[1362] = uniforms.regionSpan[63][2]
1555
+ f32[1363] = uniforms.regionSpan[63][3]
1556
+ f32[1364] = uniforms.regionSpan[64][0]
1557
+ f32[1365] = uniforms.regionSpan[64][1]
1558
+ f32[1366] = uniforms.regionSpan[64][2]
1559
+ f32[1367] = uniforms.regionSpan[64][3]
1560
+ f32[1368] = uniforms.regionSpan[65][0]
1561
+ f32[1369] = uniforms.regionSpan[65][1]
1562
+ f32[1370] = uniforms.regionSpan[65][2]
1563
+ f32[1371] = uniforms.regionSpan[65][3]
1564
+ f32[1372] = uniforms.regionSpan[66][0]
1565
+ f32[1373] = uniforms.regionSpan[66][1]
1566
+ f32[1374] = uniforms.regionSpan[66][2]
1567
+ f32[1375] = uniforms.regionSpan[66][3]
1568
+ f32[1376] = uniforms.regionSpan[67][0]
1569
+ f32[1377] = uniforms.regionSpan[67][1]
1570
+ f32[1378] = uniforms.regionSpan[67][2]
1571
+ f32[1379] = uniforms.regionSpan[67][3]
1572
+ f32[1380] = uniforms.regionSpan[68][0]
1573
+ f32[1381] = uniforms.regionSpan[68][1]
1574
+ f32[1382] = uniforms.regionSpan[68][2]
1575
+ f32[1383] = uniforms.regionSpan[68][3]
1576
+ f32[1384] = uniforms.regionSpan[69][0]
1577
+ f32[1385] = uniforms.regionSpan[69][1]
1578
+ f32[1386] = uniforms.regionSpan[69][2]
1579
+ f32[1387] = uniforms.regionSpan[69][3]
1580
+ f32[1388] = uniforms.regionSpan[70][0]
1581
+ f32[1389] = uniforms.regionSpan[70][1]
1582
+ f32[1390] = uniforms.regionSpan[70][2]
1583
+ f32[1391] = uniforms.regionSpan[70][3]
1584
+ f32[1392] = uniforms.regionSpan[71][0]
1585
+ f32[1393] = uniforms.regionSpan[71][1]
1586
+ f32[1394] = uniforms.regionSpan[71][2]
1587
+ f32[1395] = uniforms.regionSpan[71][3]
1588
+ f32[1396] = uniforms.regionSpan[72][0]
1589
+ f32[1397] = uniforms.regionSpan[72][1]
1590
+ f32[1398] = uniforms.regionSpan[72][2]
1591
+ f32[1399] = uniforms.regionSpan[72][3]
1592
+ f32[1400] = uniforms.regionSpan[73][0]
1593
+ f32[1401] = uniforms.regionSpan[73][1]
1594
+ f32[1402] = uniforms.regionSpan[73][2]
1595
+ f32[1403] = uniforms.regionSpan[73][3]
1596
+ f32[1404] = uniforms.regionSpan[74][0]
1597
+ f32[1405] = uniforms.regionSpan[74][1]
1598
+ f32[1406] = uniforms.regionSpan[74][2]
1599
+ f32[1407] = uniforms.regionSpan[74][3]
1600
+ f32[1408] = uniforms.regionSpan[75][0]
1601
+ f32[1409] = uniforms.regionSpan[75][1]
1602
+ f32[1410] = uniforms.regionSpan[75][2]
1603
+ f32[1411] = uniforms.regionSpan[75][3]
1604
+ f32[1412] = uniforms.regionSpan[76][0]
1605
+ f32[1413] = uniforms.regionSpan[76][1]
1606
+ f32[1414] = uniforms.regionSpan[76][2]
1607
+ f32[1415] = uniforms.regionSpan[76][3]
1608
+ f32[1416] = uniforms.regionSpan[77][0]
1609
+ f32[1417] = uniforms.regionSpan[77][1]
1610
+ f32[1418] = uniforms.regionSpan[77][2]
1611
+ f32[1419] = uniforms.regionSpan[77][3]
1612
+ f32[1420] = uniforms.regionSpan[78][0]
1613
+ f32[1421] = uniforms.regionSpan[78][1]
1614
+ f32[1422] = uniforms.regionSpan[78][2]
1615
+ f32[1423] = uniforms.regionSpan[78][3]
1616
+ f32[1424] = uniforms.regionSpan[79][0]
1617
+ f32[1425] = uniforms.regionSpan[79][1]
1618
+ f32[1426] = uniforms.regionSpan[79][2]
1619
+ f32[1427] = uniforms.regionSpan[79][3]
1620
+ f32[1428] = uniforms.regionSpan[80][0]
1621
+ f32[1429] = uniforms.regionSpan[80][1]
1622
+ f32[1430] = uniforms.regionSpan[80][2]
1623
+ f32[1431] = uniforms.regionSpan[80][3]
1624
+ f32[1432] = uniforms.regionSpan[81][0]
1625
+ f32[1433] = uniforms.regionSpan[81][1]
1626
+ f32[1434] = uniforms.regionSpan[81][2]
1627
+ f32[1435] = uniforms.regionSpan[81][3]
1628
+ f32[1436] = uniforms.regionSpan[82][0]
1629
+ f32[1437] = uniforms.regionSpan[82][1]
1630
+ f32[1438] = uniforms.regionSpan[82][2]
1631
+ f32[1439] = uniforms.regionSpan[82][3]
1632
+ f32[1440] = uniforms.regionSpan[83][0]
1633
+ f32[1441] = uniforms.regionSpan[83][1]
1634
+ f32[1442] = uniforms.regionSpan[83][2]
1635
+ f32[1443] = uniforms.regionSpan[83][3]
1636
+ f32[1444] = uniforms.regionSpan[84][0]
1637
+ f32[1445] = uniforms.regionSpan[84][1]
1638
+ f32[1446] = uniforms.regionSpan[84][2]
1639
+ f32[1447] = uniforms.regionSpan[84][3]
1640
+ f32[1448] = uniforms.regionSpan[85][0]
1641
+ f32[1449] = uniforms.regionSpan[85][1]
1642
+ f32[1450] = uniforms.regionSpan[85][2]
1643
+ f32[1451] = uniforms.regionSpan[85][3]
1644
+ f32[1452] = uniforms.regionSpan[86][0]
1645
+ f32[1453] = uniforms.regionSpan[86][1]
1646
+ f32[1454] = uniforms.regionSpan[86][2]
1647
+ f32[1455] = uniforms.regionSpan[86][3]
1648
+ f32[1456] = uniforms.regionSpan[87][0]
1649
+ f32[1457] = uniforms.regionSpan[87][1]
1650
+ f32[1458] = uniforms.regionSpan[87][2]
1651
+ f32[1459] = uniforms.regionSpan[87][3]
1652
+ f32[1460] = uniforms.regionSpan[88][0]
1653
+ f32[1461] = uniforms.regionSpan[88][1]
1654
+ f32[1462] = uniforms.regionSpan[88][2]
1655
+ f32[1463] = uniforms.regionSpan[88][3]
1656
+ f32[1464] = uniforms.regionSpan[89][0]
1657
+ f32[1465] = uniforms.regionSpan[89][1]
1658
+ f32[1466] = uniforms.regionSpan[89][2]
1659
+ f32[1467] = uniforms.regionSpan[89][3]
1660
+ f32[1468] = uniforms.regionSpan[90][0]
1661
+ f32[1469] = uniforms.regionSpan[90][1]
1662
+ f32[1470] = uniforms.regionSpan[90][2]
1663
+ f32[1471] = uniforms.regionSpan[90][3]
1664
+ f32[1472] = uniforms.regionSpan[91][0]
1665
+ f32[1473] = uniforms.regionSpan[91][1]
1666
+ f32[1474] = uniforms.regionSpan[91][2]
1667
+ f32[1475] = uniforms.regionSpan[91][3]
1668
+ f32[1476] = uniforms.regionSpan[92][0]
1669
+ f32[1477] = uniforms.regionSpan[92][1]
1670
+ f32[1478] = uniforms.regionSpan[92][2]
1671
+ f32[1479] = uniforms.regionSpan[92][3]
1672
+ f32[1480] = uniforms.regionSpan[93][0]
1673
+ f32[1481] = uniforms.regionSpan[93][1]
1674
+ f32[1482] = uniforms.regionSpan[93][2]
1675
+ f32[1483] = uniforms.regionSpan[93][3]
1676
+ f32[1484] = uniforms.regionSpan[94][0]
1677
+ f32[1485] = uniforms.regionSpan[94][1]
1678
+ f32[1486] = uniforms.regionSpan[94][2]
1679
+ f32[1487] = uniforms.regionSpan[94][3]
1680
+ f32[1488] = uniforms.regionSpan[95][0]
1681
+ f32[1489] = uniforms.regionSpan[95][1]
1682
+ f32[1490] = uniforms.regionSpan[95][2]
1683
+ f32[1491] = uniforms.regionSpan[95][3]
1684
+ f32[1492] = uniforms.regionSpan[96][0]
1685
+ f32[1493] = uniforms.regionSpan[96][1]
1686
+ f32[1494] = uniforms.regionSpan[96][2]
1687
+ f32[1495] = uniforms.regionSpan[96][3]
1688
+ f32[1496] = uniforms.regionSpan[97][0]
1689
+ f32[1497] = uniforms.regionSpan[97][1]
1690
+ f32[1498] = uniforms.regionSpan[97][2]
1691
+ f32[1499] = uniforms.regionSpan[97][3]
1692
+ f32[1500] = uniforms.regionSpan[98][0]
1693
+ f32[1501] = uniforms.regionSpan[98][1]
1694
+ f32[1502] = uniforms.regionSpan[98][2]
1695
+ f32[1503] = uniforms.regionSpan[98][3]
1696
+ f32[1504] = uniforms.regionSpan[99][0]
1697
+ f32[1505] = uniforms.regionSpan[99][1]
1698
+ f32[1506] = uniforms.regionSpan[99][2]
1699
+ f32[1507] = uniforms.regionSpan[99][3]
1700
+ f32[1508] = uniforms.regionSpan[100][0]
1701
+ f32[1509] = uniforms.regionSpan[100][1]
1702
+ f32[1510] = uniforms.regionSpan[100][2]
1703
+ f32[1511] = uniforms.regionSpan[100][3]
1704
+ f32[1512] = uniforms.regionSpan[101][0]
1705
+ f32[1513] = uniforms.regionSpan[101][1]
1706
+ f32[1514] = uniforms.regionSpan[101][2]
1707
+ f32[1515] = uniforms.regionSpan[101][3]
1708
+ f32[1516] = uniforms.regionSpan[102][0]
1709
+ f32[1517] = uniforms.regionSpan[102][1]
1710
+ f32[1518] = uniforms.regionSpan[102][2]
1711
+ f32[1519] = uniforms.regionSpan[102][3]
1712
+ f32[1520] = uniforms.regionSpan[103][0]
1713
+ f32[1521] = uniforms.regionSpan[103][1]
1714
+ f32[1522] = uniforms.regionSpan[103][2]
1715
+ f32[1523] = uniforms.regionSpan[103][3]
1716
+ f32[1524] = uniforms.regionSpan[104][0]
1717
+ f32[1525] = uniforms.regionSpan[104][1]
1718
+ f32[1526] = uniforms.regionSpan[104][2]
1719
+ f32[1527] = uniforms.regionSpan[104][3]
1720
+ f32[1528] = uniforms.regionSpan[105][0]
1721
+ f32[1529] = uniforms.regionSpan[105][1]
1722
+ f32[1530] = uniforms.regionSpan[105][2]
1723
+ f32[1531] = uniforms.regionSpan[105][3]
1724
+ f32[1532] = uniforms.regionSpan[106][0]
1725
+ f32[1533] = uniforms.regionSpan[106][1]
1726
+ f32[1534] = uniforms.regionSpan[106][2]
1727
+ f32[1535] = uniforms.regionSpan[106][3]
1728
+ f32[1536] = uniforms.regionSpan[107][0]
1729
+ f32[1537] = uniforms.regionSpan[107][1]
1730
+ f32[1538] = uniforms.regionSpan[107][2]
1731
+ f32[1539] = uniforms.regionSpan[107][3]
1732
+ f32[1540] = uniforms.regionSpan[108][0]
1733
+ f32[1541] = uniforms.regionSpan[108][1]
1734
+ f32[1542] = uniforms.regionSpan[108][2]
1735
+ f32[1543] = uniforms.regionSpan[108][3]
1736
+ f32[1544] = uniforms.regionSpan[109][0]
1737
+ f32[1545] = uniforms.regionSpan[109][1]
1738
+ f32[1546] = uniforms.regionSpan[109][2]
1739
+ f32[1547] = uniforms.regionSpan[109][3]
1740
+ f32[1548] = uniforms.regionSpan[110][0]
1741
+ f32[1549] = uniforms.regionSpan[110][1]
1742
+ f32[1550] = uniforms.regionSpan[110][2]
1743
+ f32[1551] = uniforms.regionSpan[110][3]
1744
+ f32[1552] = uniforms.regionSpan[111][0]
1745
+ f32[1553] = uniforms.regionSpan[111][1]
1746
+ f32[1554] = uniforms.regionSpan[111][2]
1747
+ f32[1555] = uniforms.regionSpan[111][3]
1748
+ f32[1556] = uniforms.regionSpan[112][0]
1749
+ f32[1557] = uniforms.regionSpan[112][1]
1750
+ f32[1558] = uniforms.regionSpan[112][2]
1751
+ f32[1559] = uniforms.regionSpan[112][3]
1752
+ f32[1560] = uniforms.regionSpan[113][0]
1753
+ f32[1561] = uniforms.regionSpan[113][1]
1754
+ f32[1562] = uniforms.regionSpan[113][2]
1755
+ f32[1563] = uniforms.regionSpan[113][3]
1756
+ f32[1564] = uniforms.regionSpan[114][0]
1757
+ f32[1565] = uniforms.regionSpan[114][1]
1758
+ f32[1566] = uniforms.regionSpan[114][2]
1759
+ f32[1567] = uniforms.regionSpan[114][3]
1760
+ f32[1568] = uniforms.regionSpan[115][0]
1761
+ f32[1569] = uniforms.regionSpan[115][1]
1762
+ f32[1570] = uniforms.regionSpan[115][2]
1763
+ f32[1571] = uniforms.regionSpan[115][3]
1764
+ f32[1572] = uniforms.regionSpan[116][0]
1765
+ f32[1573] = uniforms.regionSpan[116][1]
1766
+ f32[1574] = uniforms.regionSpan[116][2]
1767
+ f32[1575] = uniforms.regionSpan[116][3]
1768
+ f32[1576] = uniforms.regionSpan[117][0]
1769
+ f32[1577] = uniforms.regionSpan[117][1]
1770
+ f32[1578] = uniforms.regionSpan[117][2]
1771
+ f32[1579] = uniforms.regionSpan[117][3]
1772
+ f32[1580] = uniforms.regionSpan[118][0]
1773
+ f32[1581] = uniforms.regionSpan[118][1]
1774
+ f32[1582] = uniforms.regionSpan[118][2]
1775
+ f32[1583] = uniforms.regionSpan[118][3]
1776
+ f32[1584] = uniforms.regionSpan[119][0]
1777
+ f32[1585] = uniforms.regionSpan[119][1]
1778
+ f32[1586] = uniforms.regionSpan[119][2]
1779
+ f32[1587] = uniforms.regionSpan[119][3]
1780
+ f32[1588] = uniforms.regionSpan[120][0]
1781
+ f32[1589] = uniforms.regionSpan[120][1]
1782
+ f32[1590] = uniforms.regionSpan[120][2]
1783
+ f32[1591] = uniforms.regionSpan[120][3]
1784
+ f32[1592] = uniforms.regionSpan[121][0]
1785
+ f32[1593] = uniforms.regionSpan[121][1]
1786
+ f32[1594] = uniforms.regionSpan[121][2]
1787
+ f32[1595] = uniforms.regionSpan[121][3]
1788
+ f32[1596] = uniforms.regionSpan[122][0]
1789
+ f32[1597] = uniforms.regionSpan[122][1]
1790
+ f32[1598] = uniforms.regionSpan[122][2]
1791
+ f32[1599] = uniforms.regionSpan[122][3]
1792
+ f32[1600] = uniforms.regionSpan[123][0]
1793
+ f32[1601] = uniforms.regionSpan[123][1]
1794
+ f32[1602] = uniforms.regionSpan[123][2]
1795
+ f32[1603] = uniforms.regionSpan[123][3]
1796
+ f32[1604] = uniforms.regionSpan[124][0]
1797
+ f32[1605] = uniforms.regionSpan[124][1]
1798
+ f32[1606] = uniforms.regionSpan[124][2]
1799
+ f32[1607] = uniforms.regionSpan[124][3]
1800
+ f32[1608] = uniforms.regionSpan[125][0]
1801
+ f32[1609] = uniforms.regionSpan[125][1]
1802
+ f32[1610] = uniforms.regionSpan[125][2]
1803
+ f32[1611] = uniforms.regionSpan[125][3]
1804
+ f32[1612] = uniforms.regionSpan[126][0]
1805
+ f32[1613] = uniforms.regionSpan[126][1]
1806
+ f32[1614] = uniforms.regionSpan[126][2]
1807
+ f32[1615] = uniforms.regionSpan[126][3]
1808
+ f32[1616] = uniforms.regionSpan[127][0]
1809
+ f32[1617] = uniforms.regionSpan[127][1]
1810
+ f32[1618] = uniforms.regionSpan[127][2]
1811
+ f32[1619] = uniforms.regionSpan[127][3]
1812
+ i32[1620] = uniforms.rowTableKeys
1813
+ }
1814
+
1815
+ export const INSTANCE_STRIDE_BYTES = 32
1816
+ export const INSTANCE_STRIDE_WORDS = 8
1817
+
1818
+ // Word indices into a Float32Array view over the instance buffer.
1819
+ export const INSTANCE_OFFSET_F32 = {
1820
+ y: 3,
1821
+ size: 4,
1822
+ } as const
1823
+
1824
+ // Word indices into a Uint32Array view over the instance buffer.
1825
+ export const INSTANCE_OFFSET_U32 = {
1826
+ x: 0,
1827
+ x2: 1,
1828
+ x2Region: 2,
1829
+ color: 5,
1830
+ row: 6,
1831
+ feet: 7,
1832
+ } as const
1833
+
1834
+ export const VERTEX_ATTRIBUTES: readonly VertexAttributeLayout[] = [
1835
+ { name: 'a_x', components: 1, type: 'uint', offsetBytes: 0, integer: true },
1836
+ { name: 'a_x2', components: 1, type: 'uint', offsetBytes: 4, integer: true },
1837
+ { name: 'a_x2Region', components: 1, type: 'uint', offsetBytes: 8, integer: true },
1838
+ { name: 'a_y', components: 1, type: 'float', offsetBytes: 12, integer: false },
1839
+ { name: 'a_size', components: 1, type: 'float', offsetBytes: 16, integer: false },
1840
+ { name: 'a_color', components: 1, type: 'uint', offsetBytes: 20, integer: true },
1841
+ { name: 'a_row', components: 1, type: 'uint', offsetBytes: 24, integer: true },
1842
+ { name: 'a_feet', components: 1, type: 'uint', offsetBytes: 28, integer: true },
1843
+ ]
1844
+
1845
+ export interface InstanceArrays {
1846
+ x: ArrayLike<number>
1847
+ x2: ArrayLike<number>
1848
+ x2Region: ArrayLike<number>
1849
+ y: ArrayLike<number>
1850
+ size: ArrayLike<number>
1851
+ color: ArrayLike<number>
1852
+ row: ArrayLike<number>
1853
+ feet: ArrayLike<number>
1854
+ }
1855
+
1856
+ export function packInstances(
1857
+ arrays: InstanceArrays,
1858
+ numInstances: number,
1859
+ buf: ArrayBuffer = new ArrayBuffer(numInstances * INSTANCE_STRIDE_BYTES),
1860
+ ) {
1861
+ const f32 = new Float32Array(buf)
1862
+ const u32 = new Uint32Array(buf)
1863
+ const { x, x2, x2Region, y, size, color, row, feet } = arrays
1864
+ for (let i = 0; i < numInstances; i++) {
1865
+ const o = i * INSTANCE_STRIDE_WORDS
1866
+ u32[o + 0] = x[i]!
1867
+ u32[o + 1] = x2[i]!
1868
+ u32[o + 2] = x2Region[i]!
1869
+ f32[o + 3] = y[i]!
1870
+ f32[o + 4] = size[i]!
1871
+ u32[o + 5] = color[i]!
1872
+ u32[o + 6] = row[i]!
1873
+ u32[o + 7] = feet[i]!
1874
+ }
1875
+ return buf
1876
+ }
1877
+
1878
+ // Instance `i`'s `x`.
1879
+ export function getInstanceX(u32: Uint32Array, i: number) {
1880
+ return u32[i * INSTANCE_STRIDE_WORDS]!
1881
+ }
1882
+
1883
+ export function setInstanceX(u32: Uint32Array, i: number, v: number) {
1884
+ u32[i * INSTANCE_STRIDE_WORDS] = v
1885
+ }
1886
+
1887
+ // Instance `i`'s `x2`.
1888
+ export function getInstanceX2(u32: Uint32Array, i: number) {
1889
+ return u32[i * INSTANCE_STRIDE_WORDS + 1]!
1890
+ }
1891
+
1892
+ export function setInstanceX2(u32: Uint32Array, i: number, v: number) {
1893
+ u32[i * INSTANCE_STRIDE_WORDS + 1] = v
1894
+ }
1895
+
1896
+ // Instance `i`'s `x2Region`.
1897
+ export function getInstanceX2Region(u32: Uint32Array, i: number) {
1898
+ return u32[i * INSTANCE_STRIDE_WORDS + 2]!
1899
+ }
1900
+
1901
+ export function setInstanceX2Region(u32: Uint32Array, i: number, v: number) {
1902
+ u32[i * INSTANCE_STRIDE_WORDS + 2] = v
1903
+ }
1904
+
1905
+ // Instance `i`'s `y`.
1906
+ export function getInstanceY(f32: Float32Array, i: number) {
1907
+ return f32[i * INSTANCE_STRIDE_WORDS + 3]!
1908
+ }
1909
+
1910
+ export function setInstanceY(f32: Float32Array, i: number, v: number) {
1911
+ f32[i * INSTANCE_STRIDE_WORDS + 3] = v
1912
+ }
1913
+
1914
+ // Instance `i`'s `size`.
1915
+ export function getInstanceSize(f32: Float32Array, i: number) {
1916
+ return f32[i * INSTANCE_STRIDE_WORDS + 4]!
1917
+ }
1918
+
1919
+ export function setInstanceSize(f32: Float32Array, i: number, v: number) {
1920
+ f32[i * INSTANCE_STRIDE_WORDS + 4] = v
1921
+ }
1922
+
1923
+ // Instance `i`'s `color`.
1924
+ export function getInstanceColor(u32: Uint32Array, i: number) {
1925
+ return u32[i * INSTANCE_STRIDE_WORDS + 5]!
1926
+ }
1927
+
1928
+ export function setInstanceColor(u32: Uint32Array, i: number, v: number) {
1929
+ u32[i * INSTANCE_STRIDE_WORDS + 5] = v
1930
+ }
1931
+
1932
+ // Instance `i`'s `row`.
1933
+ export function getInstanceRow(u32: Uint32Array, i: number) {
1934
+ return u32[i * INSTANCE_STRIDE_WORDS + 6]!
1935
+ }
1936
+
1937
+ export function setInstanceRow(u32: Uint32Array, i: number, v: number) {
1938
+ u32[i * INSTANCE_STRIDE_WORDS + 6] = v
1939
+ }
1940
+
1941
+ // Instance `i`'s `feet`.
1942
+ export function getInstanceFeet(u32: Uint32Array, i: number) {
1943
+ return u32[i * INSTANCE_STRIDE_WORDS + 7]!
1944
+ }
1945
+
1946
+ export function setInstanceFeet(u32: Uint32Array, i: number, v: number) {
1947
+ u32[i * INSTANCE_STRIDE_WORDS + 7] = v
1948
+ }
1949
+
1950
+ // Combined `Sampler2D` bindings. Texture unit indices start at 0.
1951
+ export const TEXTURES: readonly [TextureBinding, ...TextureBinding[]] = [
1952
+ { name: 'colorRamp', glTextureUnit: 0, glUniformName: 'u_colorRamp', filter: 'linear' },
1953
+ { name: 'rowTable', glTextureUnit: 1, glUniformName: 'u_rowTable', filter: 'nearest' },
1954
+ ]