molstar 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +197 -197
  3. package/build/viewer/embedded.html +52 -52
  4. package/build/viewer/index.html +129 -129
  5. package/build/viewer/molstar.js +1 -1
  6. package/build/viewer/molstar.js.LICENSE.txt +9 -0
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/mesoscale-explorer/index.html +100 -100
  9. package/lib/apps/mesoscale-explorer/style.scss +33 -33
  10. package/lib/apps/viewer/app.d.ts +2 -1
  11. package/lib/apps/viewer/app.js +2 -1
  12. package/lib/apps/viewer/embedded.html +52 -52
  13. package/lib/apps/viewer/index.html +129 -129
  14. package/lib/cli/chem-comp-dict/create-ions.js +9 -9
  15. package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
  16. package/lib/cli/cifschema/util/generate.js +12 -12
  17. package/lib/cli/lipid-params/index.js +9 -9
  18. package/lib/commonjs/apps/viewer/app.d.ts +2 -1
  19. package/lib/commonjs/apps/viewer/app.js +1 -0
  20. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
  21. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
  22. package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
  23. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  24. package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
  25. package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  26. package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  28. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
  29. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
  30. package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +1 -0
  31. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  32. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  33. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  34. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  35. package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
  36. package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
  37. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  38. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
  39. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  40. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +474 -0
  41. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  42. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
  43. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  44. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
  45. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  46. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
  47. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  48. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
  49. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  50. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +17 -0
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  53. package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
  54. package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
  55. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
  56. package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
  57. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +8 -0
  58. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  59. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  60. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  61. package/lib/commonjs/mol-gl/shader/background.frag.js +95 -95
  62. package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
  63. package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  64. package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +28 -28
  65. package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +33 -33
  66. package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  67. package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
  68. package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  69. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  70. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  71. package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  75. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  76. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  77. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  78. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  79. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  80. package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  81. package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  82. package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  83. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  84. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  85. package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  86. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  87. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  88. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
  89. package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  90. package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  91. package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  92. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  93. package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  94. package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  95. package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  96. package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  97. package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  98. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  99. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  100. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  101. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  102. package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
  103. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  104. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  105. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  106. package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
  107. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +266 -266
  108. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
  109. package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
  110. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -362
  111. package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
  112. package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
  113. package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
  114. package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  115. package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  116. package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
  117. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
  118. package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
  119. package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
  120. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  121. package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  122. package/lib/commonjs/mol-gl/shader/image.frag.js +169 -169
  123. package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
  124. package/lib/commonjs/mol-gl/shader/lines.frag.js +42 -42
  125. package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
  126. package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  127. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  128. package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
  129. package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
  130. package/lib/commonjs/mol-gl/shader/mesh.frag.js +65 -65
  131. package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
  132. package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
  133. package/lib/commonjs/mol-gl/shader/points.frag.js +59 -59
  134. package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
  135. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
  136. package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
  137. package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
  138. package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
  139. package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
  140. package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
  141. package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
  142. package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
  143. package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
  144. package/lib/commonjs/mol-gl/shader/spheres.frag.js +148 -148
  145. package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
  146. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +97 -97
  147. package/lib/commonjs/mol-gl/shader/ssao.frag.js +211 -211
  148. package/lib/commonjs/mol-gl/shader/text.frag.js +85 -85
  149. package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
  150. package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  151. package/lib/commonjs/mol-gl/shader-code.js +15 -15
  152. package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
  153. package/lib/commonjs/mol-gl/webgl/context.js +1 -0
  154. package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/webgl/timer.js +8 -1
  156. package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  157. package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
  158. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  159. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  160. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  161. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  162. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
  163. package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
  164. package/lib/commonjs/servers/volume/config.js +5 -5
  165. package/lib/examples/alpha-orbitals/example-data.js +160 -160
  166. package/lib/examples/alpha-orbitals/index.html +72 -72
  167. package/lib/examples/basic-wrapper/index.html +137 -137
  168. package/lib/examples/lighting/index.html +88 -88
  169. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  170. package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  171. package/lib/extensions/assembly-symmetry/prop.js +24 -24
  172. package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  173. package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
  174. package/lib/extensions/geo-export/usdz-exporter.js +41 -41
  175. package/lib/extensions/meshes/mesh-extension.d.ts +1 -0
  176. package/lib/extensions/mp4-export/encoder.js +1 -1
  177. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  178. package/lib/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  179. package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  180. package/lib/extensions/sb-ncbr/index.d.ts +8 -0
  181. package/lib/extensions/sb-ncbr/index.js +8 -0
  182. package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  183. package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
  184. package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  185. package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
  186. package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  187. package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
  188. package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  189. package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
  190. package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  191. package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
  192. package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  193. package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
  194. package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  195. package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
  196. package/lib/mol-canvas3d/canvas3d.d.ts +17 -0
  197. package/lib/mol-canvas3d/canvas3d.js +4 -0
  198. package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
  199. package/lib/mol-canvas3d/passes/dof.js +163 -0
  200. package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
  201. package/lib/mol-canvas3d/passes/draw.js +31 -8
  202. package/lib/mol-canvas3d/passes/image.d.ts +8 -0
  203. package/lib/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  204. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  205. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  206. package/lib/mol-gl/shader/background.frag.js +95 -95
  207. package/lib/mol-gl/shader/background.vert.js +11 -11
  208. package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  209. package/lib/mol-gl/shader/bloom/blur.frag.js +28 -28
  210. package/lib/mol-gl/shader/bloom/composite.frag.js +33 -33
  211. package/lib/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  212. package/lib/mol-gl/shader/cas.frag.js +144 -144
  213. package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  214. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  215. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  216. package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  217. package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  218. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  219. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  220. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  221. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  222. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  223. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  224. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  225. package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  226. package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  227. package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  228. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  229. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  230. package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  231. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  232. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  233. package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
  234. package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  235. package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  236. package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  237. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  238. package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  239. package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  240. package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  241. package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  242. package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  243. package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  244. package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  245. package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  246. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  247. package/lib/mol-gl/shader/compose.frag.js +12 -12
  248. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  249. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  250. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  251. package/lib/mol-gl/shader/copy.frag.js +11 -11
  252. package/lib/mol-gl/shader/cylinders.frag.js +266 -266
  253. package/lib/mol-gl/shader/cylinders.vert.js +89 -89
  254. package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
  255. package/lib/mol-gl/shader/direct-volume.frag.js +362 -362
  256. package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
  257. package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
  258. package/lib/mol-gl/shader/dof.frag.js +119 -0
  259. package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  260. package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  261. package/lib/mol-gl/shader/fxaa.frag.js +228 -228
  262. package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
  263. package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
  264. package/lib/mol-gl/shader/hi-z.frag.js +18 -18
  265. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  266. package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  267. package/lib/mol-gl/shader/image.frag.js +169 -169
  268. package/lib/mol-gl/shader/image.vert.js +21 -21
  269. package/lib/mol-gl/shader/lines.frag.js +42 -42
  270. package/lib/mol-gl/shader/lines.vert.js +117 -117
  271. package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  272. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  273. package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
  274. package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
  275. package/lib/mol-gl/shader/mesh.frag.js +65 -65
  276. package/lib/mol-gl/shader/mesh.vert.js +49 -49
  277. package/lib/mol-gl/shader/outlines.frag.js +95 -95
  278. package/lib/mol-gl/shader/points.frag.js +59 -59
  279. package/lib/mol-gl/shader/points.vert.js +38 -38
  280. package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
  281. package/lib/mol-gl/shader/quad.vert.js +10 -10
  282. package/lib/mol-gl/shader/shadows.frag.js +123 -123
  283. package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
  284. package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
  285. package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
  286. package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
  287. package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
  288. package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
  289. package/lib/mol-gl/shader/spheres.frag.js +148 -148
  290. package/lib/mol-gl/shader/spheres.vert.js +132 -132
  291. package/lib/mol-gl/shader/ssao-blur.frag.js +97 -97
  292. package/lib/mol-gl/shader/ssao.frag.js +211 -211
  293. package/lib/mol-gl/shader/text.frag.js +85 -85
  294. package/lib/mol-gl/shader/text.vert.js +85 -85
  295. package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  296. package/lib/mol-gl/shader-code.js +15 -15
  297. package/lib/mol-gl/webgl/compat.js +12 -12
  298. package/lib/mol-gl/webgl/context.js +1 -0
  299. package/lib/mol-gl/webgl/timer.d.ts +1 -1
  300. package/lib/mol-gl/webgl/timer.js +8 -1
  301. package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  302. package/lib/mol-plugin/animation-loop.d.ts +1 -0
  303. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  304. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  305. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  306. package/lib/mol-plugin/version.js +2 -2
  307. package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  308. package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
  309. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  310. package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
  311. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  312. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  313. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  314. package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
  315. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  316. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  317. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  318. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  319. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  320. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
  321. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  322. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  323. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  324. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  325. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  326. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  327. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  328. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  329. package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
  330. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  331. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  332. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  333. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  334. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  335. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  336. package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
  337. package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
  338. package/lib/servers/volume/config.js +5 -5
  339. package/package.json +196 -195
@@ -1,59 +1,59 @@
1
- export const reduction_frag = `
2
- precision highp float;
3
- precision highp int;
4
- precision highp sampler2D;
5
-
6
- uniform sampler2D tInputLevel;
7
-
8
- // previous level used to evaluate the new level
9
- #if __VERSION__ == 100
10
- uniform sampler2D tPreviousLevel;
11
- #else
12
- precision highp isampler2D;
13
- uniform isampler2D tPreviousLevel;
14
- #endif
15
-
16
- // inverted size of the previous level texture.
17
- uniform float uSize;
18
- uniform float uTexSize;
19
- uniform bool uFirst;
20
-
21
- #include common
22
-
23
- void main(void) {
24
- float k = 0.5 * uSize;
25
- vec2 position = floor((gl_FragCoord.xy / uTexSize) / uSize) * uSize;
26
-
27
- #if __VERSION__ == 100
28
- float a, b, c, d;
29
-
30
- if (uFirst) {
31
- a = texture2D(tInputLevel, position).r * 255.0;
32
- b = texture2D(tInputLevel, position + vec2(k, 0.0)).r * 255.0;
33
- c = texture2D(tInputLevel, position + vec2(0.0, k)).r * 255.0;
34
- d = texture2D(tInputLevel, position + vec2(k, k)).r * 255.0;
35
- } else {
36
- a = unpackRGBToInt(texture2D(tPreviousLevel, position).rgb);
37
- b = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(k, 0.0)).rgb);
38
- c = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(0.0, k)).rgb);
39
- d = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(k, k)).rgb);
40
- }
41
- gl_FragColor = vec4(packIntToRGB(a + b + c + d), 1.0);
42
- #else
43
- int a, b, c, d;
44
-
45
- if (uFirst) {
46
- a = int(texture2D(tInputLevel, position).r * 255.0);
47
- b = int(texture2D(tInputLevel, position + vec2(k, 0.0)).r * 255.0);
48
- c = int(texture2D(tInputLevel, position + vec2(0.0, k)).r * 255.0);
49
- d = int(texture2D(tInputLevel, position + vec2(k, k)).r * 255.0);
50
- } else {
51
- a = texture2D(tPreviousLevel, position).r;
52
- b = texture2D(tPreviousLevel, position + vec2(k, 0.0)).r;
53
- c = texture2D(tPreviousLevel, position + vec2(0.0, k)).r;
54
- d = texture2D(tPreviousLevel, position + vec2(k, k)).r;
55
- }
56
- gl_FragColor = ivec4(a + b + c + d);
57
- #endif
58
- }
1
+ export const reduction_frag = `
2
+ precision highp float;
3
+ precision highp int;
4
+ precision highp sampler2D;
5
+
6
+ uniform sampler2D tInputLevel;
7
+
8
+ // previous level used to evaluate the new level
9
+ #if __VERSION__ == 100
10
+ uniform sampler2D tPreviousLevel;
11
+ #else
12
+ precision highp isampler2D;
13
+ uniform isampler2D tPreviousLevel;
14
+ #endif
15
+
16
+ // inverted size of the previous level texture.
17
+ uniform float uSize;
18
+ uniform float uTexSize;
19
+ uniform bool uFirst;
20
+
21
+ #include common
22
+
23
+ void main(void) {
24
+ float k = 0.5 * uSize;
25
+ vec2 position = floor((gl_FragCoord.xy / uTexSize) / uSize) * uSize;
26
+
27
+ #if __VERSION__ == 100
28
+ float a, b, c, d;
29
+
30
+ if (uFirst) {
31
+ a = texture2D(tInputLevel, position).r * 255.0;
32
+ b = texture2D(tInputLevel, position + vec2(k, 0.0)).r * 255.0;
33
+ c = texture2D(tInputLevel, position + vec2(0.0, k)).r * 255.0;
34
+ d = texture2D(tInputLevel, position + vec2(k, k)).r * 255.0;
35
+ } else {
36
+ a = unpackRGBToInt(texture2D(tPreviousLevel, position).rgb);
37
+ b = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(k, 0.0)).rgb);
38
+ c = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(0.0, k)).rgb);
39
+ d = unpackRGBToInt(texture2D(tPreviousLevel, position + vec2(k, k)).rgb);
40
+ }
41
+ gl_FragColor = vec4(packIntToRGB(a + b + c + d), 1.0);
42
+ #else
43
+ int a, b, c, d;
44
+
45
+ if (uFirst) {
46
+ a = int(texture2D(tInputLevel, position).r * 255.0);
47
+ b = int(texture2D(tInputLevel, position + vec2(k, 0.0)).r * 255.0);
48
+ c = int(texture2D(tInputLevel, position + vec2(0.0, k)).r * 255.0);
49
+ d = int(texture2D(tInputLevel, position + vec2(k, k)).r * 255.0);
50
+ } else {
51
+ a = texture2D(tPreviousLevel, position).r;
52
+ b = texture2D(tPreviousLevel, position + vec2(k, 0.0)).r;
53
+ c = texture2D(tPreviousLevel, position + vec2(0.0, k)).r;
54
+ d = texture2D(tPreviousLevel, position + vec2(k, k)).r;
55
+ }
56
+ gl_FragColor = ivec4(a + b + c + d);
57
+ #endif
58
+ }
59
59
  `;
@@ -3,23 +3,23 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const sum_frag = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #if __VERSION__ == 100
11
- precision highp sampler2D;
12
- uniform sampler2D tTexture;
13
- #else
14
- precision highp isampler2D;
15
- uniform isampler2D tTexture;
16
- #endif
17
-
18
- void main(void) {
19
- #if __VERSION__ == 100
20
- gl_FragColor = texture2D(tTexture, vec2(0.5));
21
- #else
22
- gl_FragColor = ivec4(texture2D(tTexture, vec2(0.5)).r);
23
- #endif
24
- }
6
+ export const sum_frag = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #if __VERSION__ == 100
11
+ precision highp sampler2D;
12
+ uniform sampler2D tTexture;
13
+ #else
14
+ precision highp isampler2D;
15
+ uniform isampler2D tTexture;
16
+ #endif
17
+
18
+ void main(void) {
19
+ #if __VERSION__ == 100
20
+ gl_FragColor = texture2D(tTexture, vec2(0.5));
21
+ #else
22
+ gl_FragColor = ivec4(texture2D(tTexture, vec2(0.5)).r);
23
+ #endif
24
+ }
25
25
  `;
@@ -3,173 +3,173 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const image_frag = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #include common
11
- #include read_from_texture
12
- #include common_frag_params
13
- #include common_clip
14
-
15
- uniform vec2 uImageTexDim;
16
- uniform sampler2D tImageTex;
17
- uniform sampler2D tGroupTex;
18
-
19
- uniform vec2 uMarkerTexDim;
20
- uniform sampler2D tMarker;
21
-
22
- varying vec2 vUv;
23
- varying float vInstance;
24
-
25
- #if defined(dInterpolation_catmulrom) || defined(dInterpolation_mitchell) || defined(dInterpolation_bspline)
26
- #define dInterpolation_cubic
27
- #endif
28
-
29
- #if defined(dInterpolation_cubic)
30
- #if defined(dInterpolation_catmulrom) || defined(dInterpolation_mitchell)
31
- #if defined(dInterpolation_catmulrom)
32
- const float B = 0.0;
33
- const float C = 0.5;
34
- #elif defined(dInterpolation_mitchell)
35
- const float B = 0.333;
36
- const float C = 0.333;
37
- #endif
38
-
39
- float cubicFilter(float x){
40
- float f = x;
41
- if (f < 0.0) {
42
- f = -f;
43
- }
44
- if (f < 1.0) {
45
- return ((12.0 - 9.0 * B - 6.0 * C) * (f * f * f) +
46
- (-18.0 + 12.0 * B + 6.0 * C) * (f * f) +
47
- (6.0 - 2.0 * B)) / 6.0;
48
- }else if (f >= 1.0 && f < 2.0){
49
- return ((-B - 6.0 * C) * ( f * f * f)
50
- + (6.0 * B + 30.0 * C) * (f * f) +
51
- (-(12.0 * B) - 48.0 * C) * f +
52
- 8.0 * B + 24.0 * C) / 6.0;
53
- }else{
54
- return 0.0;
55
- }
56
- }
57
- #elif defined(dInterpolation_bspline)
58
- float cubicFilter(float x) {
59
- float f = x;
60
- if (f < 0.0) {
61
- f = -f;
62
- }
63
- if (f >= 0.0 && f <= 1.0){
64
- return (2.0 / 3.0) + (0.5) * (f * f * f) - (f * f);
65
- } else if (f > 1.0 && f <= 2.0) {
66
- return 1.0 / 6.0 * pow((2.0 - f), 3.0);
67
- }
68
- return 1.0;
69
- }
70
- #endif
71
-
72
- vec4 biCubic(sampler2D tex, vec2 texCoord) {
73
- vec2 texelSize = 1.0 / uImageTexDim;
74
- texCoord -= texelSize / 2.0;
75
- vec4 nSum = vec4(0.0);
76
- float nDenom = 0.0;
77
- vec2 cell = fract(texCoord * uImageTexDim);
78
- for (float m = -1.0; m <= 2.0; ++m) {
79
- for (float n = -1.0; n <= 2.0; ++n) {
80
- vec4 vecData = texture2D(tex, texCoord + texelSize * vec2(m, n));
81
- float c = abs(cubicFilter(m - cell.x) * cubicFilter(-n + cell.y));
82
- nSum += vecData * c;
83
- nDenom += c;
84
- }
85
- }
86
- return nSum / nDenom;
87
- }
88
- #endif
89
-
90
- void main() {
91
- #include fade_lod
92
- #include clip_pixel
93
-
94
- #if defined(dInterpolation_cubic)
95
- vec4 imageData = biCubic(tImageTex, vUv);
96
- #else
97
- vec4 imageData = texture2D(tImageTex, vUv);
98
- #endif
99
- imageData.a = clamp(imageData.a, 0.0, 1.0);
100
- if (imageData.a > 0.9) imageData.a = 1.0;
101
-
102
- imageData.a *= uAlpha;
103
- if (imageData.a < 0.05)
104
- discard;
105
-
106
- float fragmentDepth = gl_FragCoord.z;
107
-
108
- if ((uRenderMask == MaskOpaque && imageData.a < 1.0) ||
109
- (uRenderMask == MaskTransparent && imageData.a == 1.0)
110
- ) {
111
- discard;
112
- }
113
-
114
- #if defined(dRenderVariant_pick)
115
- if (imageData.a < 0.3)
116
- discard;
117
- #ifdef requiredDrawBuffers
118
- gl_FragColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
119
- gl_FragData[1] = vec4(packIntToRGB(vInstance), 1.0);
120
- gl_FragData[2] = vec4(texture2D(tGroupTex, vUv).rgb, 1.0);
121
- gl_FragData[3] = packDepthToRGBA(gl_FragCoord.z);
122
- #else
123
- gl_FragColor = vColor;
124
- if (uPickType == 1) {
125
- gl_FragColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
126
- } else if (uPickType == 2) {
127
- gl_FragColor = vec4(packIntToRGB(vInstance), 1.0);
128
- } else {
129
- gl_FragColor = vec4(texture2D(tGroupTex, vUv).rgb, 1.0);
130
- }
131
- #endif
132
- #elif defined(dRenderVariant_depth)
133
- if (imageData.a < 0.05)
134
- discard;
135
- gl_FragColor = packDepthToRGBA(gl_FragCoord.z);
136
- #elif defined(dRenderVariant_marking)
137
- float marker = uMarker;
138
- if (uMarker == -1.0) {
139
- float group = unpackRGBToInt(texture2D(tGroupTex, vUv).rgb);
140
- marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
141
- marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
142
- }
143
- if (uMarkingType == 1) {
144
- if (marker > 0.0 || imageData.a < 0.05)
145
- discard;
146
- gl_FragColor = packDepthToRGBA(gl_FragCoord.z);
147
- } else {
148
- if (marker == 0.0 || imageData.a < 0.05)
149
- discard;
150
- float depthTest = 1.0;
151
- if (uMarkingDepthTest) {
152
- depthTest = (fragmentDepth >= getDepthPacked(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;
153
- }
154
- bool isHighlight = intMod(marker, 2.0) > 0.1;
155
- gl_FragColor = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0);
156
- }
157
- #elif defined(dRenderVariant_emissive)
158
- gl_FragColor = vec4(0.0);
159
- #elif defined(dRenderVariant_color)
160
- gl_FragColor = imageData;
161
-
162
- float marker = uMarker;
163
- if (uMarker == -1.0) {
164
- float group = unpackRGBToInt(texture2D(tGroupTex, vUv).rgb);
165
- marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
166
- marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
167
- }
168
-
169
- #include apply_marker_color
170
- #include apply_fog
171
- #include wboit_write
172
- #include dpoit_write
173
- #endif
174
- }
6
+ export const image_frag = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #include common
11
+ #include read_from_texture
12
+ #include common_frag_params
13
+ #include common_clip
14
+
15
+ uniform vec2 uImageTexDim;
16
+ uniform sampler2D tImageTex;
17
+ uniform sampler2D tGroupTex;
18
+
19
+ uniform vec2 uMarkerTexDim;
20
+ uniform sampler2D tMarker;
21
+
22
+ varying vec2 vUv;
23
+ varying float vInstance;
24
+
25
+ #if defined(dInterpolation_catmulrom) || defined(dInterpolation_mitchell) || defined(dInterpolation_bspline)
26
+ #define dInterpolation_cubic
27
+ #endif
28
+
29
+ #if defined(dInterpolation_cubic)
30
+ #if defined(dInterpolation_catmulrom) || defined(dInterpolation_mitchell)
31
+ #if defined(dInterpolation_catmulrom)
32
+ const float B = 0.0;
33
+ const float C = 0.5;
34
+ #elif defined(dInterpolation_mitchell)
35
+ const float B = 0.333;
36
+ const float C = 0.333;
37
+ #endif
38
+
39
+ float cubicFilter(float x){
40
+ float f = x;
41
+ if (f < 0.0) {
42
+ f = -f;
43
+ }
44
+ if (f < 1.0) {
45
+ return ((12.0 - 9.0 * B - 6.0 * C) * (f * f * f) +
46
+ (-18.0 + 12.0 * B + 6.0 * C) * (f * f) +
47
+ (6.0 - 2.0 * B)) / 6.0;
48
+ }else if (f >= 1.0 && f < 2.0){
49
+ return ((-B - 6.0 * C) * ( f * f * f)
50
+ + (6.0 * B + 30.0 * C) * (f * f) +
51
+ (-(12.0 * B) - 48.0 * C) * f +
52
+ 8.0 * B + 24.0 * C) / 6.0;
53
+ }else{
54
+ return 0.0;
55
+ }
56
+ }
57
+ #elif defined(dInterpolation_bspline)
58
+ float cubicFilter(float x) {
59
+ float f = x;
60
+ if (f < 0.0) {
61
+ f = -f;
62
+ }
63
+ if (f >= 0.0 && f <= 1.0){
64
+ return (2.0 / 3.0) + (0.5) * (f * f * f) - (f * f);
65
+ } else if (f > 1.0 && f <= 2.0) {
66
+ return 1.0 / 6.0 * pow((2.0 - f), 3.0);
67
+ }
68
+ return 1.0;
69
+ }
70
+ #endif
71
+
72
+ vec4 biCubic(sampler2D tex, vec2 texCoord) {
73
+ vec2 texelSize = 1.0 / uImageTexDim;
74
+ texCoord -= texelSize / 2.0;
75
+ vec4 nSum = vec4(0.0);
76
+ float nDenom = 0.0;
77
+ vec2 cell = fract(texCoord * uImageTexDim);
78
+ for (float m = -1.0; m <= 2.0; ++m) {
79
+ for (float n = -1.0; n <= 2.0; ++n) {
80
+ vec4 vecData = texture2D(tex, texCoord + texelSize * vec2(m, n));
81
+ float c = abs(cubicFilter(m - cell.x) * cubicFilter(-n + cell.y));
82
+ nSum += vecData * c;
83
+ nDenom += c;
84
+ }
85
+ }
86
+ return nSum / nDenom;
87
+ }
88
+ #endif
89
+
90
+ void main() {
91
+ #include fade_lod
92
+ #include clip_pixel
93
+
94
+ #if defined(dInterpolation_cubic)
95
+ vec4 imageData = biCubic(tImageTex, vUv);
96
+ #else
97
+ vec4 imageData = texture2D(tImageTex, vUv);
98
+ #endif
99
+ imageData.a = clamp(imageData.a, 0.0, 1.0);
100
+ if (imageData.a > 0.9) imageData.a = 1.0;
101
+
102
+ imageData.a *= uAlpha;
103
+ if (imageData.a < 0.05)
104
+ discard;
105
+
106
+ float fragmentDepth = gl_FragCoord.z;
107
+
108
+ if ((uRenderMask == MaskOpaque && imageData.a < 1.0) ||
109
+ (uRenderMask == MaskTransparent && imageData.a == 1.0)
110
+ ) {
111
+ discard;
112
+ }
113
+
114
+ #if defined(dRenderVariant_pick)
115
+ if (imageData.a < 0.3)
116
+ discard;
117
+ #ifdef requiredDrawBuffers
118
+ gl_FragColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
119
+ gl_FragData[1] = vec4(packIntToRGB(vInstance), 1.0);
120
+ gl_FragData[2] = vec4(texture2D(tGroupTex, vUv).rgb, 1.0);
121
+ gl_FragData[3] = packDepthToRGBA(gl_FragCoord.z);
122
+ #else
123
+ gl_FragColor = vColor;
124
+ if (uPickType == 1) {
125
+ gl_FragColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
126
+ } else if (uPickType == 2) {
127
+ gl_FragColor = vec4(packIntToRGB(vInstance), 1.0);
128
+ } else {
129
+ gl_FragColor = vec4(texture2D(tGroupTex, vUv).rgb, 1.0);
130
+ }
131
+ #endif
132
+ #elif defined(dRenderVariant_depth)
133
+ if (imageData.a < 0.05)
134
+ discard;
135
+ gl_FragColor = packDepthToRGBA(gl_FragCoord.z);
136
+ #elif defined(dRenderVariant_marking)
137
+ float marker = uMarker;
138
+ if (uMarker == -1.0) {
139
+ float group = unpackRGBToInt(texture2D(tGroupTex, vUv).rgb);
140
+ marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
141
+ marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
142
+ }
143
+ if (uMarkingType == 1) {
144
+ if (marker > 0.0 || imageData.a < 0.05)
145
+ discard;
146
+ gl_FragColor = packDepthToRGBA(gl_FragCoord.z);
147
+ } else {
148
+ if (marker == 0.0 || imageData.a < 0.05)
149
+ discard;
150
+ float depthTest = 1.0;
151
+ if (uMarkingDepthTest) {
152
+ depthTest = (fragmentDepth >= getDepthPacked(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;
153
+ }
154
+ bool isHighlight = intMod(marker, 2.0) > 0.1;
155
+ gl_FragColor = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0);
156
+ }
157
+ #elif defined(dRenderVariant_emissive)
158
+ gl_FragColor = vec4(0.0);
159
+ #elif defined(dRenderVariant_color)
160
+ gl_FragColor = imageData;
161
+
162
+ float marker = uMarker;
163
+ if (uMarker == -1.0) {
164
+ float group = unpackRGBToInt(texture2D(tGroupTex, vUv).rgb);
165
+ marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
166
+ marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
167
+ }
168
+
169
+ #include apply_marker_color
170
+ #include apply_fog
171
+ #include wboit_write
172
+ #include dpoit_write
173
+ #endif
174
+ }
175
175
  `;
@@ -3,25 +3,25 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const image_vert = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #include common
11
- #include common_vert_params
12
-
13
- attribute vec3 aPosition;
14
- attribute vec2 aUv;
15
- attribute mat4 aTransform;
16
- attribute float aInstance;
17
-
18
- varying vec2 vUv;
19
- varying float vInstance;
20
-
21
- void main() {
22
- #include assign_position
23
-
24
- vUv = aUv;
25
- vInstance = aInstance;
26
- }
6
+ export const image_vert = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #include common
11
+ #include common_vert_params
12
+
13
+ attribute vec3 aPosition;
14
+ attribute vec2 aUv;
15
+ attribute mat4 aTransform;
16
+ attribute float aInstance;
17
+
18
+ varying vec2 vUv;
19
+ varying float vInstance;
20
+
21
+ void main() {
22
+ #include assign_position
23
+
24
+ vUv = aUv;
25
+ vInstance = aInstance;
26
+ }
27
27
  `;
@@ -3,46 +3,46 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const lines_frag = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #include common
11
- #include common_frag_params
12
- #include color_frag_params
13
- #include common_clip
14
-
15
- void main(){
16
- #include fade_lod
17
- #include clip_pixel
18
-
19
- float fragmentDepth = gl_FragCoord.z;
20
- #include assign_material_color
21
- #include check_transparency
22
-
23
- #if defined(dRenderVariant_pick)
24
- #include check_picking_alpha
25
- #ifdef requiredDrawBuffers
26
- gl_FragColor = vObject;
27
- gl_FragData[1] = vInstance;
28
- gl_FragData[2] = vGroup;
29
- gl_FragData[3] = packDepthToRGBA(fragmentDepth);
30
- #else
31
- gl_FragColor = vColor;
32
- #endif
33
- #elif defined(dRenderVariant_depth)
34
- gl_FragColor = material;
35
- #elif defined(dRenderVariant_marking)
36
- gl_FragColor = material;
37
- #elif defined(dRenderVariant_emissive)
38
- gl_FragColor = material;
39
- #elif defined(dRenderVariant_color)
40
- gl_FragColor = material;
41
-
42
- #include apply_marker_color
43
- #include apply_fog
44
- #include wboit_write
45
- #include dpoit_write
46
- #endif
47
- }
6
+ export const lines_frag = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #include common
11
+ #include common_frag_params
12
+ #include color_frag_params
13
+ #include common_clip
14
+
15
+ void main(){
16
+ #include fade_lod
17
+ #include clip_pixel
18
+
19
+ float fragmentDepth = gl_FragCoord.z;
20
+ #include assign_material_color
21
+ #include check_transparency
22
+
23
+ #if defined(dRenderVariant_pick)
24
+ #include check_picking_alpha
25
+ #ifdef requiredDrawBuffers
26
+ gl_FragColor = vObject;
27
+ gl_FragData[1] = vInstance;
28
+ gl_FragData[2] = vGroup;
29
+ gl_FragData[3] = packDepthToRGBA(fragmentDepth);
30
+ #else
31
+ gl_FragColor = vColor;
32
+ #endif
33
+ #elif defined(dRenderVariant_depth)
34
+ gl_FragColor = material;
35
+ #elif defined(dRenderVariant_marking)
36
+ gl_FragColor = material;
37
+ #elif defined(dRenderVariant_emissive)
38
+ gl_FragColor = material;
39
+ #elif defined(dRenderVariant_color)
40
+ gl_FragColor = material;
41
+
42
+ #include apply_marker_color
43
+ #include apply_fog
44
+ #include wboit_write
45
+ #include dpoit_write
46
+ #endif
47
+ }
48
48
  `;