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
@@ -6,270 +6,270 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.cylinders_frag = void 0;
9
- exports.cylinders_frag = `
10
- precision highp float;
11
- precision highp int;
12
-
13
- #define bumpEnabled
14
-
15
- uniform mat4 uView;
16
-
17
- varying mat4 vTransform;
18
- varying vec3 vStart;
19
- varying vec3 vEnd;
20
- varying float vSize;
21
- varying float vCap;
22
-
23
- uniform vec3 uCameraDir;
24
- uniform vec3 uCameraPosition;
25
- uniform mat4 uInvView;
26
-
27
- #include common
28
- #include common_frag_params
29
- #include color_frag_params
30
- #include light_frag_params
31
- #include common_clip
32
-
33
- #ifdef dSolidInterior
34
- const bool solidInterior = true;
35
- #else
36
- const bool solidInterior = false;
37
- #endif
38
-
39
- // adapted from https://www.shadertoy.com/view/4lcSRn
40
- // The MIT License, Copyright 2016 Inigo Quilez
41
- bool CylinderImpostor(
42
- in vec3 rayOrigin, in vec3 rayDir,
43
- in vec3 start, in vec3 end, in float radius,
44
- out vec3 cameraNormal, out bool interior,
45
- out vec3 modelPosition, out vec3 viewPosition, out float fragmentDepth
46
- ){
47
- vec3 ba = end - start;
48
- vec3 oc = rayOrigin - start;
49
-
50
- float baba = dot(ba, ba);
51
- float bard = dot(ba, rayDir);
52
- float baoc = dot(ba, oc);
53
-
54
- float k2 = baba - bard * bard;
55
- float k1 = baba * dot(oc, rayDir) - baoc * bard;
56
- float k0 = baba * dot(oc, oc) - baoc * baoc - radius * radius * baba;
57
-
58
- float h = k1 * k1 - k2 * k0;
59
- if (h < 0.0) return false;
60
-
61
- bool topCap = (vCap > 0.9 && vCap < 1.1) || vCap >= 2.9;
62
- bool bottomCap = (vCap > 1.9 && vCap < 2.1) || vCap >= 2.9;
63
-
64
- #ifdef dSolidInterior
65
- bool topInterior = !topCap;
66
- bool bottomInterior = !bottomCap;
67
- topCap = true;
68
- bottomCap = true;
69
- #else
70
- bool topInterior = false;
71
- bool bottomInterior = false;
72
- #endif
73
-
74
- bool clipped = false;
75
- bool objectClipped = false;
76
-
77
- // body outside
78
- h = sqrt(h);
79
- float t = (-k1 - h) / k2;
80
- float y = baoc + t * bard;
81
- if (y > 0.0 && y < baba) {
82
- interior = false;
83
- cameraNormal = (oc + t * rayDir - ba * y / baba) / radius;
84
- modelPosition = rayOrigin + t * rayDir;
85
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
86
- fragmentDepth = calcDepth(viewPosition);
87
- #if defined(dClipVariant_pixel) && dClipObjectCount != 0
88
- if (clipTest(vec4(modelPosition, 0.0))) {
89
- objectClipped = true;
90
- fragmentDepth = -1.0;
91
- #ifdef dSolidInterior
92
- topCap = !topInterior;
93
- bottomCap = !bottomInterior;
94
- #endif
95
- }
96
- #endif
97
- if (fragmentDepth > 0.0) return true;
98
- clipped = true;
99
- }
100
-
101
- if (!clipped) {
102
- if (topCap && y < 0.0) {
103
- // top cap
104
- t = -baoc / bard;
105
- if (abs(k1 + k2 * t) < h) {
106
- interior = topInterior;
107
- cameraNormal = -ba / baba;
108
- modelPosition = rayOrigin + t * rayDir;
109
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
110
- fragmentDepth = calcDepth(viewPosition);
111
- #if defined(dClipVariant_pixel) && dClipObjectCount != 0
112
- if (clipTest(vec4(modelPosition, 0.0))) {
113
- objectClipped = true;
114
- fragmentDepth = -1.0;
115
- #ifdef dSolidInterior
116
- topCap = !topInterior;
117
- bottomCap = !bottomInterior;
118
- #endif
119
- }
120
- #endif
121
- if (fragmentDepth > 0.0) {
122
- #ifdef dSolidInterior
123
- if (interior) cameraNormal = -rayDir;
124
- #endif
125
- return true;
126
- }
127
- }
128
- } else if (bottomCap && y >= 0.0) {
129
- // bottom cap
130
- t = (baba - baoc) / bard;
131
- if (abs(k1 + k2 * t) < h) {
132
- interior = bottomInterior;
133
- cameraNormal = ba / baba;
134
- modelPosition = rayOrigin + t * rayDir;
135
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
136
- fragmentDepth = calcDepth(viewPosition);
137
- #if defined(dClipVariant_pixel) && dClipObjectCount != 0
138
- if (clipTest(vec4(modelPosition, 0.0))) {
139
- objectClipped = true;
140
- fragmentDepth = -1.0;
141
- #ifdef dSolidInterior
142
- topCap = !topInterior;
143
- bottomCap = !bottomInterior;
144
- #endif
145
- }
146
- #endif
147
- if (fragmentDepth > 0.0) {
148
- #ifdef dSolidInterior
149
- if (interior) cameraNormal = -rayDir;
150
- #endif
151
- return true;
152
- }
153
- }
154
- }
155
- }
156
-
157
- if (uDoubleSided || solidInterior) {
158
- // body inside
159
- h = -h;
160
- t = (-k1 - h) / k2;
161
- y = baoc + t * bard;
162
- if (y > 0.0 && y < baba) {
163
- interior = true;
164
- cameraNormal = -(oc + t * rayDir - ba * y / baba) / radius;
165
- modelPosition = rayOrigin + t * rayDir;
166
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
167
- fragmentDepth = calcDepth(viewPosition);
168
- if (fragmentDepth > 0.0) {
169
- #ifdef dSolidInterior
170
- if (!objectClipped) {
171
- fragmentDepth = 0.0 + (0.0000002 / vSize);
172
- cameraNormal = -rayDir;
173
- }
174
- #endif
175
- return true;
176
- }
177
- }
178
-
179
- if (topCap && y < 0.0) {
180
- // top cap
181
- t = -baoc / bard;
182
- if (abs(k1 + k2 * t) < -h) {
183
- interior = true;
184
- cameraNormal = ba / baba;
185
- modelPosition = rayOrigin + t * rayDir;
186
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
187
- fragmentDepth = calcDepth(viewPosition);
188
- if (fragmentDepth > 0.0) {
189
- #ifdef dSolidInterior
190
- if (!objectClipped) {
191
- fragmentDepth = 0.0 + (0.0000002 / vSize);
192
- cameraNormal = -rayDir;
193
- }
194
- #endif
195
- return true;
196
- }
197
- }
198
- } else if (bottomCap && y >= 0.0) {
199
- // bottom cap
200
- t = (baba - baoc) / bard;
201
- if (abs(k1 + k2 * t) < -h) {
202
- interior = true;
203
- cameraNormal = -ba / baba;
204
- modelPosition = rayOrigin + t * rayDir;
205
- viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
206
- fragmentDepth = calcDepth(viewPosition);
207
- if (fragmentDepth > 0.0) {
208
- #ifdef dSolidInterior
209
- if (!objectClipped) {
210
- fragmentDepth = 0.0 + (0.0000002 / vSize);
211
- cameraNormal = -rayDir;
212
- }
213
- #endif
214
- return true;
215
- }
216
- }
217
- }
218
- }
219
-
220
- return false;
221
- }
222
-
223
- void main() {
224
- vec3 rayOrigin = vModelPosition;
225
- vec3 rayDir = mix(normalize(vModelPosition - uCameraPosition), uCameraDir, uIsOrtho);
226
-
227
- vec3 cameraNormal;
228
- vec3 modelPosition;
229
- vec3 viewPosition;
230
- float fragmentDepth;
231
- bool hit = CylinderImpostor(rayOrigin, rayDir, vStart, vEnd, vSize, cameraNormal, interior, modelPosition, viewPosition, fragmentDepth);
232
- if (!hit) discard;
233
-
234
- if (fragmentDepth < 0.0) discard;
235
- if (fragmentDepth > 1.0) discard;
236
-
237
- gl_FragDepthEXT = fragmentDepth;
238
-
239
- vec3 vViewPosition = viewPosition;
240
- vec3 vModelPosition = modelPosition;
241
-
242
- #include fade_lod
243
- #include clip_pixel
244
- #include assign_material_color
245
- #include check_transparency
246
-
247
- #if defined(dRenderVariant_pick)
248
- #include check_picking_alpha
249
- #ifdef requiredDrawBuffers
250
- gl_FragColor = vObject;
251
- gl_FragData[1] = vInstance;
252
- gl_FragData[2] = vGroup;
253
- gl_FragData[3] = packDepthToRGBA(fragmentDepth);
254
- #else
255
- gl_FragColor = vColor;
256
- #endif
257
- #elif defined(dRenderVariant_depth)
258
- gl_FragColor = material;
259
- #elif defined(dRenderVariant_marking)
260
- gl_FragColor = material;
261
- #elif defined(dRenderVariant_emissive)
262
- gl_FragColor = material;
263
- #elif defined(dRenderVariant_color)
264
- mat3 normalMatrix = transpose3(inverse3(mat3(uView)));
265
- vec3 normal = normalize(normalMatrix * -normalize(cameraNormal));
266
- #include apply_light_color
267
-
268
- #include apply_interior_color
269
- #include apply_marker_color
270
- #include apply_fog
271
- #include wboit_write
272
- #include dpoit_write
273
- #endif
274
- }
9
+ exports.cylinders_frag = `
10
+ precision highp float;
11
+ precision highp int;
12
+
13
+ #define bumpEnabled
14
+
15
+ uniform mat4 uView;
16
+
17
+ varying mat4 vTransform;
18
+ varying vec3 vStart;
19
+ varying vec3 vEnd;
20
+ varying float vSize;
21
+ varying float vCap;
22
+
23
+ uniform vec3 uCameraDir;
24
+ uniform vec3 uCameraPosition;
25
+ uniform mat4 uInvView;
26
+
27
+ #include common
28
+ #include common_frag_params
29
+ #include color_frag_params
30
+ #include light_frag_params
31
+ #include common_clip
32
+
33
+ #ifdef dSolidInterior
34
+ const bool solidInterior = true;
35
+ #else
36
+ const bool solidInterior = false;
37
+ #endif
38
+
39
+ // adapted from https://www.shadertoy.com/view/4lcSRn
40
+ // The MIT License, Copyright 2016 Inigo Quilez
41
+ bool CylinderImpostor(
42
+ in vec3 rayOrigin, in vec3 rayDir,
43
+ in vec3 start, in vec3 end, in float radius,
44
+ out vec3 cameraNormal, out bool interior,
45
+ out vec3 modelPosition, out vec3 viewPosition, out float fragmentDepth
46
+ ){
47
+ vec3 ba = end - start;
48
+ vec3 oc = rayOrigin - start;
49
+
50
+ float baba = dot(ba, ba);
51
+ float bard = dot(ba, rayDir);
52
+ float baoc = dot(ba, oc);
53
+
54
+ float k2 = baba - bard * bard;
55
+ float k1 = baba * dot(oc, rayDir) - baoc * bard;
56
+ float k0 = baba * dot(oc, oc) - baoc * baoc - radius * radius * baba;
57
+
58
+ float h = k1 * k1 - k2 * k0;
59
+ if (h < 0.0) return false;
60
+
61
+ bool topCap = (vCap > 0.9 && vCap < 1.1) || vCap >= 2.9;
62
+ bool bottomCap = (vCap > 1.9 && vCap < 2.1) || vCap >= 2.9;
63
+
64
+ #ifdef dSolidInterior
65
+ bool topInterior = !topCap;
66
+ bool bottomInterior = !bottomCap;
67
+ topCap = true;
68
+ bottomCap = true;
69
+ #else
70
+ bool topInterior = false;
71
+ bool bottomInterior = false;
72
+ #endif
73
+
74
+ bool clipped = false;
75
+ bool objectClipped = false;
76
+
77
+ // body outside
78
+ h = sqrt(h);
79
+ float t = (-k1 - h) / k2;
80
+ float y = baoc + t * bard;
81
+ if (y > 0.0 && y < baba) {
82
+ interior = false;
83
+ cameraNormal = (oc + t * rayDir - ba * y / baba) / radius;
84
+ modelPosition = rayOrigin + t * rayDir;
85
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
86
+ fragmentDepth = calcDepth(viewPosition);
87
+ #if defined(dClipVariant_pixel) && dClipObjectCount != 0
88
+ if (clipTest(vec4(modelPosition, 0.0))) {
89
+ objectClipped = true;
90
+ fragmentDepth = -1.0;
91
+ #ifdef dSolidInterior
92
+ topCap = !topInterior;
93
+ bottomCap = !bottomInterior;
94
+ #endif
95
+ }
96
+ #endif
97
+ if (fragmentDepth > 0.0) return true;
98
+ clipped = true;
99
+ }
100
+
101
+ if (!clipped) {
102
+ if (topCap && y < 0.0) {
103
+ // top cap
104
+ t = -baoc / bard;
105
+ if (abs(k1 + k2 * t) < h) {
106
+ interior = topInterior;
107
+ cameraNormal = -ba / baba;
108
+ modelPosition = rayOrigin + t * rayDir;
109
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
110
+ fragmentDepth = calcDepth(viewPosition);
111
+ #if defined(dClipVariant_pixel) && dClipObjectCount != 0
112
+ if (clipTest(vec4(modelPosition, 0.0))) {
113
+ objectClipped = true;
114
+ fragmentDepth = -1.0;
115
+ #ifdef dSolidInterior
116
+ topCap = !topInterior;
117
+ bottomCap = !bottomInterior;
118
+ #endif
119
+ }
120
+ #endif
121
+ if (fragmentDepth > 0.0) {
122
+ #ifdef dSolidInterior
123
+ if (interior) cameraNormal = -rayDir;
124
+ #endif
125
+ return true;
126
+ }
127
+ }
128
+ } else if (bottomCap && y >= 0.0) {
129
+ // bottom cap
130
+ t = (baba - baoc) / bard;
131
+ if (abs(k1 + k2 * t) < h) {
132
+ interior = bottomInterior;
133
+ cameraNormal = ba / baba;
134
+ modelPosition = rayOrigin + t * rayDir;
135
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
136
+ fragmentDepth = calcDepth(viewPosition);
137
+ #if defined(dClipVariant_pixel) && dClipObjectCount != 0
138
+ if (clipTest(vec4(modelPosition, 0.0))) {
139
+ objectClipped = true;
140
+ fragmentDepth = -1.0;
141
+ #ifdef dSolidInterior
142
+ topCap = !topInterior;
143
+ bottomCap = !bottomInterior;
144
+ #endif
145
+ }
146
+ #endif
147
+ if (fragmentDepth > 0.0) {
148
+ #ifdef dSolidInterior
149
+ if (interior) cameraNormal = -rayDir;
150
+ #endif
151
+ return true;
152
+ }
153
+ }
154
+ }
155
+ }
156
+
157
+ if (uDoubleSided || solidInterior) {
158
+ // body inside
159
+ h = -h;
160
+ t = (-k1 - h) / k2;
161
+ y = baoc + t * bard;
162
+ if (y > 0.0 && y < baba) {
163
+ interior = true;
164
+ cameraNormal = -(oc + t * rayDir - ba * y / baba) / radius;
165
+ modelPosition = rayOrigin + t * rayDir;
166
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
167
+ fragmentDepth = calcDepth(viewPosition);
168
+ if (fragmentDepth > 0.0) {
169
+ #ifdef dSolidInterior
170
+ if (!objectClipped) {
171
+ fragmentDepth = 0.0 + (0.0000002 / vSize);
172
+ cameraNormal = -rayDir;
173
+ }
174
+ #endif
175
+ return true;
176
+ }
177
+ }
178
+
179
+ if (topCap && y < 0.0) {
180
+ // top cap
181
+ t = -baoc / bard;
182
+ if (abs(k1 + k2 * t) < -h) {
183
+ interior = true;
184
+ cameraNormal = ba / baba;
185
+ modelPosition = rayOrigin + t * rayDir;
186
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
187
+ fragmentDepth = calcDepth(viewPosition);
188
+ if (fragmentDepth > 0.0) {
189
+ #ifdef dSolidInterior
190
+ if (!objectClipped) {
191
+ fragmentDepth = 0.0 + (0.0000002 / vSize);
192
+ cameraNormal = -rayDir;
193
+ }
194
+ #endif
195
+ return true;
196
+ }
197
+ }
198
+ } else if (bottomCap && y >= 0.0) {
199
+ // bottom cap
200
+ t = (baba - baoc) / bard;
201
+ if (abs(k1 + k2 * t) < -h) {
202
+ interior = true;
203
+ cameraNormal = -ba / baba;
204
+ modelPosition = rayOrigin + t * rayDir;
205
+ viewPosition = (uView * vec4(modelPosition, 1.0)).xyz;
206
+ fragmentDepth = calcDepth(viewPosition);
207
+ if (fragmentDepth > 0.0) {
208
+ #ifdef dSolidInterior
209
+ if (!objectClipped) {
210
+ fragmentDepth = 0.0 + (0.0000002 / vSize);
211
+ cameraNormal = -rayDir;
212
+ }
213
+ #endif
214
+ return true;
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+ return false;
221
+ }
222
+
223
+ void main() {
224
+ vec3 rayOrigin = vModelPosition;
225
+ vec3 rayDir = mix(normalize(vModelPosition - uCameraPosition), uCameraDir, uIsOrtho);
226
+
227
+ vec3 cameraNormal;
228
+ vec3 modelPosition;
229
+ vec3 viewPosition;
230
+ float fragmentDepth;
231
+ bool hit = CylinderImpostor(rayOrigin, rayDir, vStart, vEnd, vSize, cameraNormal, interior, modelPosition, viewPosition, fragmentDepth);
232
+ if (!hit) discard;
233
+
234
+ if (fragmentDepth < 0.0) discard;
235
+ if (fragmentDepth > 1.0) discard;
236
+
237
+ gl_FragDepthEXT = fragmentDepth;
238
+
239
+ vec3 vViewPosition = viewPosition;
240
+ vec3 vModelPosition = modelPosition;
241
+
242
+ #include fade_lod
243
+ #include clip_pixel
244
+ #include assign_material_color
245
+ #include check_transparency
246
+
247
+ #if defined(dRenderVariant_pick)
248
+ #include check_picking_alpha
249
+ #ifdef requiredDrawBuffers
250
+ gl_FragColor = vObject;
251
+ gl_FragData[1] = vInstance;
252
+ gl_FragData[2] = vGroup;
253
+ gl_FragData[3] = packDepthToRGBA(fragmentDepth);
254
+ #else
255
+ gl_FragColor = vColor;
256
+ #endif
257
+ #elif defined(dRenderVariant_depth)
258
+ gl_FragColor = material;
259
+ #elif defined(dRenderVariant_marking)
260
+ gl_FragColor = material;
261
+ #elif defined(dRenderVariant_emissive)
262
+ gl_FragColor = material;
263
+ #elif defined(dRenderVariant_color)
264
+ mat3 normalMatrix = transpose3(inverse3(mat3(uView)));
265
+ vec3 normal = normalize(normalMatrix * -normalize(cameraNormal));
266
+ #include apply_light_color
267
+
268
+ #include apply_interior_color
269
+ #include apply_marker_color
270
+ #include apply_fog
271
+ #include wboit_write
272
+ #include dpoit_write
273
+ #endif
274
+ }
275
275
  `;