molstar 3.0.0-dev.3 → 3.0.0-dev.4

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 (379) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +187 -187
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +95 -94
  5. package/build/viewer/molstar.css +1 -1
  6. package/build/viewer/molstar.js +1 -1
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/viewport.js +2 -1
  9. package/lib/apps/viewer/embedded.html +43 -43
  10. package/lib/apps/viewer/index.html +95 -94
  11. package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
  12. package/lib/commonjs/examples/lighting/index.js +2 -1
  13. package/lib/commonjs/extensions/anvil/behavior.d.ts +3 -0
  14. package/lib/commonjs/extensions/anvil/representation.d.ts +13 -0
  15. package/lib/commonjs/extensions/cellpack/representation.d.ts +3 -0
  16. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +9 -0
  17. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +3 -0
  18. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +3 -0
  19. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +15 -0
  20. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +6 -0
  21. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +3 -0
  22. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +3 -0
  23. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +4 -0
  24. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +3 -0
  25. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  26. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +4 -2
  27. package/lib/commonjs/mol-geo/geometry/base.d.ts +2 -0
  28. package/lib/commonjs/mol-geo/geometry/base.js +2 -0
  29. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +4 -1
  30. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +4 -2
  31. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
  32. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +1 -0
  33. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +1 -0
  34. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  35. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +3 -0
  36. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +4 -2
  37. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +2 -1
  38. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +3 -0
  39. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +4 -2
  40. package/lib/commonjs/mol-geo/geometry/substance-data.js +3 -3
  41. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +1 -0
  42. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  43. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -0
  44. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +4 -2
  45. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +31 -28
  46. package/lib/commonjs/mol-gl/renderable/cylinders.js +2 -2
  47. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +1 -0
  48. package/lib/commonjs/mol-gl/renderable/image.d.ts +1 -0
  49. package/lib/commonjs/mol-gl/renderable/lines.d.ts +1 -0
  50. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +28 -25
  51. package/lib/commonjs/mol-gl/renderable/mesh.js +2 -2
  52. package/lib/commonjs/mol-gl/renderable/points.d.ts +1 -0
  53. package/lib/commonjs/mol-gl/renderable/schema.d.ts +1 -0
  54. package/lib/commonjs/mol-gl/renderable/schema.js +3 -3
  55. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +31 -28
  56. package/lib/commonjs/mol-gl/renderable/spheres.js +2 -2
  57. package/lib/commonjs/mol-gl/renderable/text.d.ts +1 -0
  58. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +3 -0
  59. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +1 -1
  60. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  61. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  62. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  63. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  64. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  65. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  66. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  67. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  68. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  69. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  70. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  71. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  72. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  73. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  74. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  75. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  76. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  77. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  78. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  79. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  80. package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  81. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
  82. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  83. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  84. package/lib/commonjs/mol-model/structure/model/model.js +7 -3
  85. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +6 -0
  86. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +3 -0
  87. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +3 -0
  88. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +9 -0
  89. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +12 -0
  90. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
  91. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  92. package/lib/commonjs/mol-plugin/commands.d.ts +3 -0
  93. package/lib/commonjs/mol-plugin/config.d.ts +1 -0
  94. package/lib/commonjs/mol-plugin/config.js +9 -3
  95. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +9 -0
  96. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +2 -0
  97. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +22 -0
  98. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -2
  99. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +11 -6
  100. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  101. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +8 -17
  102. package/lib/commonjs/mol-plugin-ui/plugin.d.ts +1 -1
  103. package/lib/commonjs/mol-plugin-ui/plugin.js +76 -10
  104. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +3 -0
  105. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +1 -0
  106. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +3 -0
  107. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +1 -0
  108. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +1 -0
  109. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +3 -0
  110. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +3 -0
  111. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +3 -0
  112. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +12 -0
  113. package/lib/commonjs/mol-repr/structure/params.d.ts +16 -0
  114. package/lib/commonjs/mol-repr/structure/registry.d.ts +35 -1
  115. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +9 -0
  116. package/lib/commonjs/mol-repr/structure/representation/backbone.js +2 -1
  117. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +9 -0
  118. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +2 -1
  119. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +9 -0
  120. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +2 -1
  121. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +9 -0
  122. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +2 -1
  123. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +9 -0
  124. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +2 -1
  125. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +9 -0
  126. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +2 -1
  127. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  128. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +6 -3
  129. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +3 -0
  130. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +9 -0
  131. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +2 -1
  132. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +9 -0
  133. package/lib/commonjs/mol-repr/structure/representation/orientation.js +2 -1
  134. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -0
  135. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +9 -0
  136. package/lib/commonjs/mol-repr/structure/representation/putty.js +2 -1
  137. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +9 -0
  138. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +2 -1
  139. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +16 -0
  140. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -0
  141. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
  142. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -0
  143. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
  144. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +3 -0
  145. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +3 -0
  146. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +3 -0
  147. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -0
  148. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -0
  149. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +6 -0
  150. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +3 -0
  151. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  152. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -0
  153. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
  154. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +3 -2
  155. package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
  156. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -0
  157. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
  158. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +3 -0
  159. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +3 -0
  160. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +3 -0
  161. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +6 -0
  162. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +6 -0
  163. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +3 -0
  164. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +3 -0
  165. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +3 -0
  166. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +3 -0
  167. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +3 -0
  168. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +16 -0
  169. package/lib/commonjs/mol-repr/volume/isosurface.js +2 -1
  170. package/lib/commonjs/mol-repr/volume/registry.d.ts +5 -0
  171. package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -0
  172. package/lib/commonjs/mol-repr/volume/slice.d.ts +3 -0
  173. package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
  174. package/lib/commonjs/mol-theme/color/illustrative.d.ts +2 -0
  175. package/lib/commonjs/mol-theme/color/illustrative.js +2 -2
  176. package/lib/commonjs/mol-theme/color.d.ts +1 -0
  177. package/lib/commonjs/mol-util/material.d.ts +5 -1
  178. package/lib/commonjs/mol-util/material.js +9 -7
  179. package/lib/examples/alpha-orbitals/index.html +60 -60
  180. package/lib/examples/basic-wrapper/index.html +136 -136
  181. package/lib/examples/lighting/index.html +86 -86
  182. package/lib/examples/lighting/index.js +2 -1
  183. package/lib/examples/proteopedia-wrapper/index.html +235 -235
  184. package/lib/extensions/anvil/behavior.d.ts +3 -0
  185. package/lib/extensions/anvil/representation.d.ts +13 -0
  186. package/lib/extensions/cellpack/representation.d.ts +3 -0
  187. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +9 -0
  188. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +3 -0
  189. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +3 -0
  190. package/lib/extensions/rcsb/validation-report/representation.d.ts +15 -0
  191. package/lib/mol-canvas3d/canvas3d.d.ts +6 -0
  192. package/lib/mol-canvas3d/helper/camera-helper.d.ts +3 -0
  193. package/lib/mol-canvas3d/helper/handle-helper.d.ts +3 -0
  194. package/lib/mol-canvas3d/helper/helper.d.ts +4 -0
  195. package/lib/mol-canvas3d/passes/image.d.ts +3 -0
  196. package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  197. package/lib/mol-canvas3d/passes/postprocessing.js +4 -2
  198. package/lib/mol-geo/geometry/base.d.ts +2 -0
  199. package/lib/mol-geo/geometry/base.js +2 -0
  200. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +4 -1
  201. package/lib/mol-geo/geometry/cylinders/cylinders.js +4 -2
  202. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
  203. package/lib/mol-geo/geometry/image/image.d.ts +1 -0
  204. package/lib/mol-geo/geometry/lines/lines.d.ts +1 -0
  205. package/lib/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  206. package/lib/mol-geo/geometry/mesh/mesh.d.ts +3 -0
  207. package/lib/mol-geo/geometry/mesh/mesh.js +4 -2
  208. package/lib/mol-geo/geometry/points/points.d.ts +2 -1
  209. package/lib/mol-geo/geometry/spheres/spheres.d.ts +3 -0
  210. package/lib/mol-geo/geometry/spheres/spheres.js +4 -2
  211. package/lib/mol-geo/geometry/substance-data.js +3 -3
  212. package/lib/mol-geo/geometry/text/text.d.ts +1 -0
  213. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  214. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -0
  215. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +4 -2
  216. package/lib/mol-gl/renderable/cylinders.d.ts +31 -28
  217. package/lib/mol-gl/renderable/cylinders.js +3 -3
  218. package/lib/mol-gl/renderable/direct-volume.d.ts +1 -0
  219. package/lib/mol-gl/renderable/image.d.ts +1 -0
  220. package/lib/mol-gl/renderable/lines.d.ts +1 -0
  221. package/lib/mol-gl/renderable/mesh.d.ts +28 -25
  222. package/lib/mol-gl/renderable/mesh.js +3 -3
  223. package/lib/mol-gl/renderable/points.d.ts +1 -0
  224. package/lib/mol-gl/renderable/schema.d.ts +1 -0
  225. package/lib/mol-gl/renderable/schema.js +3 -3
  226. package/lib/mol-gl/renderable/spheres.d.ts +31 -28
  227. package/lib/mol-gl/renderable/spheres.js +3 -3
  228. package/lib/mol-gl/renderable/text.d.ts +1 -0
  229. package/lib/mol-gl/renderable/texture-mesh.d.ts +3 -0
  230. package/lib/mol-gl/renderable/texture-mesh.js +1 -1
  231. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  232. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  233. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  234. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  235. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  236. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  237. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  238. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  239. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  240. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  241. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  242. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  243. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  244. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  245. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  246. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  247. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  248. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  249. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  250. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  251. package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  252. package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
  253. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  254. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  255. package/lib/mol-model/structure/model/model.js +7 -3
  256. package/lib/mol-model-formats/shape/ply.d.ts +6 -0
  257. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +3 -0
  258. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +3 -0
  259. package/lib/mol-model-props/computed/representations/interactions.d.ts +9 -0
  260. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +12 -0
  261. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
  262. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  263. package/lib/mol-plugin/commands.d.ts +3 -0
  264. package/lib/mol-plugin/config.d.ts +1 -0
  265. package/lib/mol-plugin/config.js +8 -3
  266. package/lib/mol-plugin/util/viewport-screenshot.d.ts +9 -0
  267. package/lib/mol-plugin/version.js +2 -2
  268. package/lib/mol-plugin-state/manager/structure/component.d.ts +2 -0
  269. package/lib/mol-plugin-state/transforms/representation.d.ts +22 -0
  270. package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -2
  271. package/lib/mol-plugin-ui/controls/parameters.js +12 -7
  272. package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  273. package/lib/mol-plugin-ui/hooks/use-behavior.js +9 -18
  274. package/lib/mol-plugin-ui/plugin.d.ts +1 -1
  275. package/lib/mol-plugin-ui/plugin.js +76 -10
  276. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  277. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  278. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  279. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  280. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  281. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  282. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -616
  283. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  284. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  285. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  286. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  287. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  288. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
  289. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  290. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  291. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  292. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  293. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  294. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  295. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  296. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  297. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  298. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  299. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  300. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  301. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  302. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  303. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  304. package/lib/mol-repr/shape/loci/angle.d.ts +3 -0
  305. package/lib/mol-repr/shape/loci/common.d.ts +1 -0
  306. package/lib/mol-repr/shape/loci/dihedral.d.ts +3 -0
  307. package/lib/mol-repr/shape/loci/distance.d.ts +1 -0
  308. package/lib/mol-repr/shape/loci/label.d.ts +1 -0
  309. package/lib/mol-repr/shape/loci/orientation.d.ts +3 -0
  310. package/lib/mol-repr/shape/loci/plane.d.ts +3 -0
  311. package/lib/mol-repr/shape/model/unitcell.d.ts +3 -0
  312. package/lib/mol-repr/structure/complex-visual.d.ts +12 -0
  313. package/lib/mol-repr/structure/params.d.ts +16 -0
  314. package/lib/mol-repr/structure/registry.d.ts +35 -1
  315. package/lib/mol-repr/structure/representation/backbone.d.ts +9 -0
  316. package/lib/mol-repr/structure/representation/backbone.js +2 -1
  317. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +9 -0
  318. package/lib/mol-repr/structure/representation/ball-and-stick.js +2 -1
  319. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +9 -0
  320. package/lib/mol-repr/structure/representation/carbohydrate.js +2 -1
  321. package/lib/mol-repr/structure/representation/cartoon.d.ts +9 -0
  322. package/lib/mol-repr/structure/representation/cartoon.js +2 -1
  323. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +9 -0
  324. package/lib/mol-repr/structure/representation/ellipsoid.js +2 -1
  325. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +9 -0
  326. package/lib/mol-repr/structure/representation/gaussian-surface.js +2 -1
  327. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  328. package/lib/mol-repr/structure/representation/label.d.ts +6 -3
  329. package/lib/mol-repr/structure/representation/line.d.ts +3 -0
  330. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +9 -0
  331. package/lib/mol-repr/structure/representation/molecular-surface.js +2 -1
  332. package/lib/mol-repr/structure/representation/orientation.d.ts +9 -0
  333. package/lib/mol-repr/structure/representation/orientation.js +2 -1
  334. package/lib/mol-repr/structure/representation/point.d.ts +3 -0
  335. package/lib/mol-repr/structure/representation/putty.d.ts +9 -0
  336. package/lib/mol-repr/structure/representation/putty.js +2 -1
  337. package/lib/mol-repr/structure/representation/spacefill.d.ts +9 -0
  338. package/lib/mol-repr/structure/representation/spacefill.js +2 -1
  339. package/lib/mol-repr/structure/units-visual.d.ts +16 -0
  340. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -0
  341. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
  342. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -0
  343. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
  344. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +3 -0
  345. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +3 -0
  346. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +3 -0
  347. package/lib/mol-repr/structure/visual/element-cross.d.ts +1 -0
  348. package/lib/mol-repr/structure/visual/element-point.d.ts +1 -0
  349. package/lib/mol-repr/structure/visual/element-sphere.d.ts +6 -0
  350. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +3 -0
  351. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  352. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -0
  353. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
  354. package/lib/mol-repr/structure/visual/label-text.d.ts +3 -2
  355. package/lib/mol-repr/structure/visual/label-text.js +2 -2
  356. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -0
  357. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
  358. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +3 -0
  359. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +3 -0
  360. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +3 -0
  361. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +6 -0
  362. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +6 -0
  363. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +3 -0
  364. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +3 -0
  365. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +3 -0
  366. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +3 -0
  367. package/lib/mol-repr/volume/direct-volume.d.ts +3 -0
  368. package/lib/mol-repr/volume/isosurface.d.ts +16 -0
  369. package/lib/mol-repr/volume/isosurface.js +2 -1
  370. package/lib/mol-repr/volume/registry.d.ts +5 -0
  371. package/lib/mol-repr/volume/representation.d.ts +1 -0
  372. package/lib/mol-repr/volume/slice.d.ts +3 -0
  373. package/lib/mol-script/language/builder.d.ts +1 -0
  374. package/lib/mol-theme/color/illustrative.d.ts +2 -0
  375. package/lib/mol-theme/color/illustrative.js +2 -2
  376. package/lib/mol-theme/color.d.ts +1 -0
  377. package/lib/mol-util/material.d.ts +5 -1
  378. package/lib/mol-util/material.js +9 -7
  379. package/package.json +162 -160
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
- import { AttributeSpec, Values, ElementsSpec, ValueSpec, DefineSpec } from './schema';
8
+ import { AttributeSpec, Values, ElementsSpec, ValueSpec, DefineSpec, UniformSpec } from './schema';
9
9
  export declare const CylindersSchema: {
10
10
  aGroup: AttributeSpec<"float32">;
11
11
  aStart: AttributeSpec<"float32">;
@@ -18,21 +18,24 @@ export declare const CylindersSchema: {
18
18
  dDoubleSided: DefineSpec<"boolean">;
19
19
  dIgnoreLight: DefineSpec<"boolean">;
20
20
  dXrayShaded: DefineSpec<"boolean">;
21
- uSize: import("./schema").UniformSpec<"f">;
22
- uSizeTexDim: import("./schema").UniformSpec<"v2">;
21
+ uBumpFrequency: UniformSpec<"f">;
22
+ uBumpAmplitude: UniformSpec<"f">;
23
+ uSize: UniformSpec<"f">;
24
+ uSizeTexDim: UniformSpec<"v2">;
23
25
  tSize: import("./schema").TextureSpec<"image-uint8">;
24
26
  dSizeType: DefineSpec<"string">;
25
- uSizeFactor: import("./schema").UniformSpec<"f">;
27
+ uSizeFactor: UniformSpec<"f">;
26
28
  dLightCount: DefineSpec<"number">;
27
29
  aInstance: AttributeSpec<"float32">;
28
30
  aTransform: AttributeSpec<"float32">;
29
- uAlpha: import("./schema").UniformSpec<"f">;
30
- uMetalness: import("./schema").UniformSpec<"f">;
31
- uRoughness: import("./schema").UniformSpec<"f">;
32
- uVertexCount: import("./schema").UniformSpec<"i">;
33
- uInstanceCount: import("./schema").UniformSpec<"i">;
34
- uGroupCount: import("./schema").UniformSpec<"i">;
35
- uInvariantBoundingSphere: import("./schema").UniformSpec<"v4">;
31
+ uAlpha: UniformSpec<"f">;
32
+ uMetalness: UniformSpec<"f">;
33
+ uRoughness: UniformSpec<"f">;
34
+ uBumpiness: UniformSpec<"f">;
35
+ uVertexCount: UniformSpec<"i">;
36
+ uInstanceCount: UniformSpec<"i">;
37
+ uGroupCount: UniformSpec<"i">;
38
+ uInvariantBoundingSphere: UniformSpec<"v4">;
36
39
  drawCount: ValueSpec<"number">;
37
40
  instanceCount: ValueSpec<"number">;
38
41
  alpha: ValueSpec<"number">;
@@ -44,41 +47,41 @@ export declare const CylindersSchema: {
44
47
  invariantBoundingSphere: ValueSpec<"sphere">;
45
48
  dClipObjectCount: DefineSpec<"number">;
46
49
  dClipVariant: DefineSpec<"string">;
47
- uClippingTexDim: import("./schema").UniformSpec<"v2">;
50
+ uClippingTexDim: UniformSpec<"v2">;
48
51
  tClipping: import("./schema").TextureSpec<"image-uint8">;
49
52
  dClipping: DefineSpec<"boolean">;
50
- uSubstanceTexDim: import("./schema").UniformSpec<"v2">;
53
+ uSubstanceTexDim: UniformSpec<"v2">;
51
54
  tSubstance: import("./schema").TextureSpec<"image-uint8">;
52
55
  dSubstance: DefineSpec<"boolean">;
53
- uSubstanceGridDim: import("./schema").UniformSpec<"v3">;
54
- uSubstanceGridTransform: import("./schema").UniformSpec<"v4">;
56
+ uSubstanceGridDim: UniformSpec<"v3">;
57
+ uSubstanceGridTransform: UniformSpec<"v4">;
55
58
  tSubstanceGrid: import("./schema").TextureSpec<"texture">;
56
59
  dSubstanceType: DefineSpec<"string">;
57
- uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
60
+ uTransparencyTexDim: UniformSpec<"v2">;
58
61
  tTransparency: import("./schema").TextureSpec<"image-uint8">;
59
62
  dTransparency: DefineSpec<"boolean">;
60
63
  transparencyAverage: ValueSpec<"number">;
61
- uTransparencyGridDim: import("./schema").UniformSpec<"v3">;
62
- uTransparencyGridTransform: import("./schema").UniformSpec<"v4">;
64
+ uTransparencyGridDim: UniformSpec<"v3">;
65
+ uTransparencyGridTransform: UniformSpec<"v4">;
63
66
  tTransparencyGrid: import("./schema").TextureSpec<"texture">;
64
67
  dTransparencyType: DefineSpec<"string">;
65
- uOverpaintTexDim: import("./schema").UniformSpec<"v2">;
68
+ uOverpaintTexDim: UniformSpec<"v2">;
66
69
  tOverpaint: import("./schema").TextureSpec<"image-uint8">;
67
70
  dOverpaint: DefineSpec<"boolean">;
68
- uOverpaintGridDim: import("./schema").UniformSpec<"v3">;
69
- uOverpaintGridTransform: import("./schema").UniformSpec<"v4">;
71
+ uOverpaintGridDim: UniformSpec<"v3">;
72
+ uOverpaintGridTransform: UniformSpec<"v4">;
70
73
  tOverpaintGrid: import("./schema").TextureSpec<"texture">;
71
74
  dOverpaintType: DefineSpec<"string">;
72
- uMarker: import("./schema").UniformSpec<"f">;
73
- uMarkerTexDim: import("./schema").UniformSpec<"v2">;
75
+ uMarker: UniformSpec<"f">;
76
+ uMarkerTexDim: UniformSpec<"v2">;
74
77
  tMarker: import("./schema").TextureSpec<"image-uint8">;
75
78
  dMarkerType: DefineSpec<"string">;
76
79
  markerAverage: ValueSpec<"number">;
77
80
  markerStatus: ValueSpec<"number">;
78
- uColor: import("./schema").UniformSpec<"v3">;
79
- uColorTexDim: import("./schema").UniformSpec<"v2">;
80
- uColorGridDim: import("./schema").UniformSpec<"v3">;
81
- uColorGridTransform: import("./schema").UniformSpec<"v4">;
81
+ uColor: UniformSpec<"v3">;
82
+ uColorTexDim: UniformSpec<"v2">;
83
+ uColorGridDim: UniformSpec<"v3">;
84
+ uColorGridTransform: UniformSpec<"v4">;
82
85
  tColor: import("./schema").TextureSpec<"image-uint8">;
83
86
  tPalette: import("./schema").TextureSpec<"image-uint8">;
84
87
  tColorGrid: import("./schema").TextureSpec<"texture">;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { __assign } from "tslib";
7
7
  import { createRenderable } from '../renderable';
8
8
  import { createGraphicsRenderItem } from '../webgl/render-item';
9
- import { GlobalUniformSchema, BaseSchema, AttributeSpec, InternalSchema, SizeSchema, ElementsSpec, ValueSpec, DefineSpec, GlobalTextureSchema } from './schema';
9
+ import { GlobalUniformSchema, BaseSchema, AttributeSpec, InternalSchema, SizeSchema, ElementsSpec, ValueSpec, DefineSpec, GlobalTextureSchema, UniformSpec } from './schema';
10
10
  import { CylindersShaderCode } from '../shader-code';
11
11
  import { ValueCell } from '../../mol-util';
12
- export var CylindersSchema = __assign(__assign(__assign({}, BaseSchema), SizeSchema), { aGroup: AttributeSpec('float32', 1, 0), aStart: AttributeSpec('float32', 3, 0), aEnd: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 3, 0), aScale: AttributeSpec('float32', 1, 0), aCap: AttributeSpec('float32', 1, 0), elements: ElementsSpec('uint32'), padding: ValueSpec('number'), dDoubleSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean') });
12
+ export var CylindersSchema = __assign(__assign(__assign({}, BaseSchema), SizeSchema), { aGroup: AttributeSpec('float32', 1, 0), aStart: AttributeSpec('float32', 3, 0), aEnd: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 3, 0), aScale: AttributeSpec('float32', 1, 0), aCap: AttributeSpec('float32', 1, 0), elements: ElementsSpec('uint32'), padding: ValueSpec('number'), dDoubleSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), uBumpFrequency: UniformSpec('f'), uBumpAmplitude: UniformSpec('f') });
13
13
  export function CylindersRenderable(ctx, id, values, state, materialId) {
14
14
  var schema = __assign(__assign(__assign(__assign({}, GlobalUniformSchema), GlobalTextureSchema), InternalSchema), CylindersSchema);
15
15
  var internalValues = {
@@ -45,6 +45,7 @@ export declare const DirectVolumeSchema: {
45
45
  uAlpha: UniformSpec<"f">;
46
46
  uMetalness: UniformSpec<"f">;
47
47
  uRoughness: UniformSpec<"f">;
48
+ uBumpiness: UniformSpec<"f">;
48
49
  uVertexCount: UniformSpec<"i">;
49
50
  uInstanceCount: UniformSpec<"i">;
50
51
  uGroupCount: UniformSpec<"i">;
@@ -21,6 +21,7 @@ export declare const ImageSchema: {
21
21
  uAlpha: UniformSpec<"f">;
22
22
  uMetalness: UniformSpec<"f">;
23
23
  uRoughness: UniformSpec<"f">;
24
+ uBumpiness: UniformSpec<"f">;
24
25
  uVertexCount: UniformSpec<"i">;
25
26
  uInstanceCount: UniformSpec<"i">;
26
27
  uGroupCount: UniformSpec<"i">;
@@ -26,6 +26,7 @@ export declare const LinesSchema: {
26
26
  uAlpha: import("./schema").UniformSpec<"f">;
27
27
  uMetalness: import("./schema").UniformSpec<"f">;
28
28
  uRoughness: import("./schema").UniformSpec<"f">;
29
+ uBumpiness: import("./schema").UniformSpec<"f">;
29
30
  uVertexCount: import("./schema").UniformSpec<"i">;
30
31
  uInstanceCount: import("./schema").UniformSpec<"i">;
31
32
  uGroupCount: import("./schema").UniformSpec<"i">;
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
- import { AttributeSpec, ElementsSpec, DefineSpec, Values, ValueSpec } from './schema';
8
+ import { AttributeSpec, ElementsSpec, DefineSpec, Values, ValueSpec, UniformSpec } from './schema';
9
9
  export declare const MeshSchema: {
10
10
  readonly aGroup: AttributeSpec<"float32">;
11
11
  readonly aPosition: AttributeSpec<"float32">;
@@ -16,17 +16,20 @@ export declare const MeshSchema: {
16
16
  readonly dFlipSided: DefineSpec<"boolean">;
17
17
  readonly dIgnoreLight: DefineSpec<"boolean">;
18
18
  readonly dXrayShaded: DefineSpec<"boolean">;
19
+ readonly uBumpFrequency: UniformSpec<"f">;
20
+ readonly uBumpAmplitude: UniformSpec<"f">;
19
21
  readonly meta: ValueSpec<"unknown">;
20
22
  readonly dLightCount: DefineSpec<"number">;
21
23
  readonly aInstance: AttributeSpec<"float32">;
22
24
  readonly aTransform: AttributeSpec<"float32">;
23
- readonly uAlpha: import("./schema").UniformSpec<"f">;
24
- readonly uMetalness: import("./schema").UniformSpec<"f">;
25
- readonly uRoughness: import("./schema").UniformSpec<"f">;
26
- readonly uVertexCount: import("./schema").UniformSpec<"i">;
27
- readonly uInstanceCount: import("./schema").UniformSpec<"i">;
28
- readonly uGroupCount: import("./schema").UniformSpec<"i">;
29
- readonly uInvariantBoundingSphere: import("./schema").UniformSpec<"v4">;
25
+ readonly uAlpha: UniformSpec<"f">;
26
+ readonly uMetalness: UniformSpec<"f">;
27
+ readonly uRoughness: UniformSpec<"f">;
28
+ readonly uBumpiness: UniformSpec<"f">;
29
+ readonly uVertexCount: UniformSpec<"i">;
30
+ readonly uInstanceCount: UniformSpec<"i">;
31
+ readonly uGroupCount: UniformSpec<"i">;
32
+ readonly uInvariantBoundingSphere: UniformSpec<"v4">;
30
33
  readonly drawCount: ValueSpec<"number">;
31
34
  readonly instanceCount: ValueSpec<"number">;
32
35
  readonly alpha: ValueSpec<"number">;
@@ -38,41 +41,41 @@ export declare const MeshSchema: {
38
41
  readonly invariantBoundingSphere: ValueSpec<"sphere">;
39
42
  readonly dClipObjectCount: DefineSpec<"number">;
40
43
  readonly dClipVariant: DefineSpec<"string">;
41
- readonly uClippingTexDim: import("./schema").UniformSpec<"v2">;
44
+ readonly uClippingTexDim: UniformSpec<"v2">;
42
45
  readonly tClipping: import("./schema").TextureSpec<"image-uint8">;
43
46
  readonly dClipping: DefineSpec<"boolean">;
44
- readonly uSubstanceTexDim: import("./schema").UniformSpec<"v2">;
47
+ readonly uSubstanceTexDim: UniformSpec<"v2">;
45
48
  readonly tSubstance: import("./schema").TextureSpec<"image-uint8">;
46
49
  readonly dSubstance: DefineSpec<"boolean">;
47
- readonly uSubstanceGridDim: import("./schema").UniformSpec<"v3">;
48
- readonly uSubstanceGridTransform: import("./schema").UniformSpec<"v4">;
50
+ readonly uSubstanceGridDim: UniformSpec<"v3">;
51
+ readonly uSubstanceGridTransform: UniformSpec<"v4">;
49
52
  readonly tSubstanceGrid: import("./schema").TextureSpec<"texture">;
50
53
  readonly dSubstanceType: DefineSpec<"string">;
51
- readonly uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
54
+ readonly uTransparencyTexDim: UniformSpec<"v2">;
52
55
  readonly tTransparency: import("./schema").TextureSpec<"image-uint8">;
53
56
  readonly dTransparency: DefineSpec<"boolean">;
54
57
  readonly transparencyAverage: ValueSpec<"number">;
55
- readonly uTransparencyGridDim: import("./schema").UniformSpec<"v3">;
56
- readonly uTransparencyGridTransform: import("./schema").UniformSpec<"v4">;
58
+ readonly uTransparencyGridDim: UniformSpec<"v3">;
59
+ readonly uTransparencyGridTransform: UniformSpec<"v4">;
57
60
  readonly tTransparencyGrid: import("./schema").TextureSpec<"texture">;
58
61
  readonly dTransparencyType: DefineSpec<"string">;
59
- readonly uOverpaintTexDim: import("./schema").UniformSpec<"v2">;
62
+ readonly uOverpaintTexDim: UniformSpec<"v2">;
60
63
  readonly tOverpaint: import("./schema").TextureSpec<"image-uint8">;
61
64
  readonly dOverpaint: DefineSpec<"boolean">;
62
- readonly uOverpaintGridDim: import("./schema").UniformSpec<"v3">;
63
- readonly uOverpaintGridTransform: import("./schema").UniformSpec<"v4">;
65
+ readonly uOverpaintGridDim: UniformSpec<"v3">;
66
+ readonly uOverpaintGridTransform: UniformSpec<"v4">;
64
67
  readonly tOverpaintGrid: import("./schema").TextureSpec<"texture">;
65
68
  readonly dOverpaintType: DefineSpec<"string">;
66
- readonly uMarker: import("./schema").UniformSpec<"f">;
67
- readonly uMarkerTexDim: import("./schema").UniformSpec<"v2">;
69
+ readonly uMarker: UniformSpec<"f">;
70
+ readonly uMarkerTexDim: UniformSpec<"v2">;
68
71
  readonly tMarker: import("./schema").TextureSpec<"image-uint8">;
69
72
  readonly dMarkerType: DefineSpec<"string">;
70
73
  readonly markerAverage: ValueSpec<"number">;
71
74
  readonly markerStatus: ValueSpec<"number">;
72
- readonly uColor: import("./schema").UniformSpec<"v3">;
73
- readonly uColorTexDim: import("./schema").UniformSpec<"v2">;
74
- readonly uColorGridDim: import("./schema").UniformSpec<"v3">;
75
- readonly uColorGridTransform: import("./schema").UniformSpec<"v4">;
75
+ readonly uColor: UniformSpec<"v3">;
76
+ readonly uColorTexDim: UniformSpec<"v2">;
77
+ readonly uColorGridDim: UniformSpec<"v3">;
78
+ readonly uColorGridTransform: UniformSpec<"v4">;
76
79
  readonly tColor: import("./schema").TextureSpec<"image-uint8">;
77
80
  readonly tPalette: import("./schema").TextureSpec<"image-uint8">;
78
81
  readonly tColorGrid: import("./schema").TextureSpec<"texture">;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { __assign } from "tslib";
7
7
  import { createRenderable } from '../renderable';
8
8
  import { createGraphicsRenderItem } from '../webgl/render-item';
9
- import { GlobalUniformSchema, BaseSchema, AttributeSpec, ElementsSpec, DefineSpec, InternalSchema, GlobalTextureSchema, ValueSpec } from './schema';
9
+ import { GlobalUniformSchema, BaseSchema, AttributeSpec, ElementsSpec, DefineSpec, InternalSchema, GlobalTextureSchema, ValueSpec, UniformSpec } from './schema';
10
10
  import { MeshShaderCode } from '../shader-code';
11
11
  import { ValueCell } from '../../mol-util';
12
- export var MeshSchema = __assign(__assign({}, BaseSchema), { aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aNormal: AttributeSpec('float32', 3, 0), elements: ElementsSpec('uint32'), dFlatShaded: DefineSpec('boolean'), dDoubleSided: DefineSpec('boolean'), dFlipSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), meta: ValueSpec('unknown') });
12
+ export var MeshSchema = __assign(__assign({}, BaseSchema), { aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aNormal: AttributeSpec('float32', 3, 0), elements: ElementsSpec('uint32'), dFlatShaded: DefineSpec('boolean'), dDoubleSided: DefineSpec('boolean'), dFlipSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), uBumpFrequency: UniformSpec('f'), uBumpAmplitude: UniformSpec('f'), meta: ValueSpec('unknown') });
13
13
  export function MeshRenderable(ctx, id, values, state, materialId) {
14
14
  var schema = __assign(__assign(__assign(__assign({}, GlobalUniformSchema), GlobalTextureSchema), InternalSchema), MeshSchema);
15
15
  var internalValues = {
@@ -22,6 +22,7 @@ export declare const PointsSchema: {
22
22
  uAlpha: import("./schema").UniformSpec<"f">;
23
23
  uMetalness: import("./schema").UniformSpec<"f">;
24
24
  uRoughness: import("./schema").UniformSpec<"f">;
25
+ uBumpiness: import("./schema").UniformSpec<"f">;
25
26
  uVertexCount: import("./schema").UniformSpec<"i">;
26
27
  uInstanceCount: import("./schema").UniformSpec<"i">;
27
28
  uGroupCount: import("./schema").UniformSpec<"i">;
@@ -228,6 +228,7 @@ export declare const BaseSchema: {
228
228
  readonly uAlpha: UniformSpec<"f">;
229
229
  readonly uMetalness: UniformSpec<"f">;
230
230
  readonly uRoughness: UniformSpec<"f">;
231
+ readonly uBumpiness: UniformSpec<"f">;
231
232
  readonly uVertexCount: UniformSpec<"i">;
232
233
  readonly uInstanceCount: UniformSpec<"i">;
233
234
  readonly uGroupCount: UniformSpec<"i">;
@@ -157,11 +157,11 @@ export var TransparencySchema = {
157
157
  };
158
158
  export var SubstanceSchema = {
159
159
  uSubstanceTexDim: UniformSpec('v2'),
160
- tSubstance: TextureSpec('image-uint8', 'rgb', 'ubyte', 'nearest'),
160
+ tSubstance: TextureSpec('image-uint8', 'rgba', 'ubyte', 'nearest'),
161
161
  dSubstance: DefineSpec('boolean'),
162
162
  uSubstanceGridDim: UniformSpec('v3'),
163
163
  uSubstanceGridTransform: UniformSpec('v4'),
164
- tSubstanceGrid: TextureSpec('texture', 'rgb', 'ubyte', 'linear'),
164
+ tSubstanceGrid: TextureSpec('texture', 'rgba', 'ubyte', 'linear'),
165
165
  dSubstanceType: DefineSpec('string', ['groupInstance', 'volumeInstance']),
166
166
  };
167
167
  export var ClippingSchema = {
@@ -180,7 +180,7 @@ export var BaseSchema = __assign(__assign(__assign(__assign(__assign(__assign(__
180
180
  /**
181
181
  * final alpha, calculated as `values.alpha * state.alpha`
182
182
  */
183
- uAlpha: UniformSpec('f', 'material'), uMetalness: UniformSpec('f', 'material'), uRoughness: UniformSpec('f', 'material'), uVertexCount: UniformSpec('i'), uInstanceCount: UniformSpec('i'), uGroupCount: UniformSpec('i'), uInvariantBoundingSphere: UniformSpec('v4'), drawCount: ValueSpec('number'), instanceCount: ValueSpec('number'),
183
+ uAlpha: UniformSpec('f', 'material'), uMetalness: UniformSpec('f', 'material'), uRoughness: UniformSpec('f', 'material'), uBumpiness: UniformSpec('f', 'material'), uVertexCount: UniformSpec('i'), uInstanceCount: UniformSpec('i'), uGroupCount: UniformSpec('i'), uInvariantBoundingSphere: UniformSpec('v4'), drawCount: ValueSpec('number'), instanceCount: ValueSpec('number'),
184
184
  /** base alpha, see uAlpha */
185
185
  alpha: ValueSpec('number'),
186
186
  /** global transform, see aTransform */
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
- import { AttributeSpec, Values, ElementsSpec, ValueSpec, DefineSpec } from './schema';
8
+ import { AttributeSpec, Values, ElementsSpec, ValueSpec, DefineSpec, UniformSpec } from './schema';
9
9
  export declare const SpheresSchema: {
10
10
  aGroup: AttributeSpec<"float32">;
11
11
  aPosition: AttributeSpec<"float32">;
@@ -15,21 +15,24 @@ export declare const SpheresSchema: {
15
15
  dDoubleSided: DefineSpec<"boolean">;
16
16
  dIgnoreLight: DefineSpec<"boolean">;
17
17
  dXrayShaded: DefineSpec<"boolean">;
18
- uSize: import("./schema").UniformSpec<"f">;
19
- uSizeTexDim: import("./schema").UniformSpec<"v2">;
18
+ uBumpFrequency: UniformSpec<"f">;
19
+ uBumpAmplitude: UniformSpec<"f">;
20
+ uSize: UniformSpec<"f">;
21
+ uSizeTexDim: UniformSpec<"v2">;
20
22
  tSize: import("./schema").TextureSpec<"image-uint8">;
21
23
  dSizeType: DefineSpec<"string">;
22
- uSizeFactor: import("./schema").UniformSpec<"f">;
24
+ uSizeFactor: UniformSpec<"f">;
23
25
  dLightCount: DefineSpec<"number">;
24
26
  aInstance: AttributeSpec<"float32">;
25
27
  aTransform: AttributeSpec<"float32">;
26
- uAlpha: import("./schema").UniformSpec<"f">;
27
- uMetalness: import("./schema").UniformSpec<"f">;
28
- uRoughness: import("./schema").UniformSpec<"f">;
29
- uVertexCount: import("./schema").UniformSpec<"i">;
30
- uInstanceCount: import("./schema").UniformSpec<"i">;
31
- uGroupCount: import("./schema").UniformSpec<"i">;
32
- uInvariantBoundingSphere: import("./schema").UniformSpec<"v4">;
28
+ uAlpha: UniformSpec<"f">;
29
+ uMetalness: UniformSpec<"f">;
30
+ uRoughness: UniformSpec<"f">;
31
+ uBumpiness: UniformSpec<"f">;
32
+ uVertexCount: UniformSpec<"i">;
33
+ uInstanceCount: UniformSpec<"i">;
34
+ uGroupCount: UniformSpec<"i">;
35
+ uInvariantBoundingSphere: UniformSpec<"v4">;
33
36
  drawCount: ValueSpec<"number">;
34
37
  instanceCount: ValueSpec<"number">;
35
38
  alpha: ValueSpec<"number">;
@@ -41,41 +44,41 @@ export declare const SpheresSchema: {
41
44
  invariantBoundingSphere: ValueSpec<"sphere">;
42
45
  dClipObjectCount: DefineSpec<"number">;
43
46
  dClipVariant: DefineSpec<"string">;
44
- uClippingTexDim: import("./schema").UniformSpec<"v2">;
47
+ uClippingTexDim: UniformSpec<"v2">;
45
48
  tClipping: import("./schema").TextureSpec<"image-uint8">;
46
49
  dClipping: DefineSpec<"boolean">;
47
- uSubstanceTexDim: import("./schema").UniformSpec<"v2">;
50
+ uSubstanceTexDim: UniformSpec<"v2">;
48
51
  tSubstance: import("./schema").TextureSpec<"image-uint8">;
49
52
  dSubstance: DefineSpec<"boolean">;
50
- uSubstanceGridDim: import("./schema").UniformSpec<"v3">;
51
- uSubstanceGridTransform: import("./schema").UniformSpec<"v4">;
53
+ uSubstanceGridDim: UniformSpec<"v3">;
54
+ uSubstanceGridTransform: UniformSpec<"v4">;
52
55
  tSubstanceGrid: import("./schema").TextureSpec<"texture">;
53
56
  dSubstanceType: DefineSpec<"string">;
54
- uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
57
+ uTransparencyTexDim: UniformSpec<"v2">;
55
58
  tTransparency: import("./schema").TextureSpec<"image-uint8">;
56
59
  dTransparency: DefineSpec<"boolean">;
57
60
  transparencyAverage: ValueSpec<"number">;
58
- uTransparencyGridDim: import("./schema").UniformSpec<"v3">;
59
- uTransparencyGridTransform: import("./schema").UniformSpec<"v4">;
61
+ uTransparencyGridDim: UniformSpec<"v3">;
62
+ uTransparencyGridTransform: UniformSpec<"v4">;
60
63
  tTransparencyGrid: import("./schema").TextureSpec<"texture">;
61
64
  dTransparencyType: DefineSpec<"string">;
62
- uOverpaintTexDim: import("./schema").UniformSpec<"v2">;
65
+ uOverpaintTexDim: UniformSpec<"v2">;
63
66
  tOverpaint: import("./schema").TextureSpec<"image-uint8">;
64
67
  dOverpaint: DefineSpec<"boolean">;
65
- uOverpaintGridDim: import("./schema").UniformSpec<"v3">;
66
- uOverpaintGridTransform: import("./schema").UniformSpec<"v4">;
68
+ uOverpaintGridDim: UniformSpec<"v3">;
69
+ uOverpaintGridTransform: UniformSpec<"v4">;
67
70
  tOverpaintGrid: import("./schema").TextureSpec<"texture">;
68
71
  dOverpaintType: DefineSpec<"string">;
69
- uMarker: import("./schema").UniformSpec<"f">;
70
- uMarkerTexDim: import("./schema").UniformSpec<"v2">;
72
+ uMarker: UniformSpec<"f">;
73
+ uMarkerTexDim: UniformSpec<"v2">;
71
74
  tMarker: import("./schema").TextureSpec<"image-uint8">;
72
75
  dMarkerType: DefineSpec<"string">;
73
76
  markerAverage: ValueSpec<"number">;
74
77
  markerStatus: ValueSpec<"number">;
75
- uColor: import("./schema").UniformSpec<"v3">;
76
- uColorTexDim: import("./schema").UniformSpec<"v2">;
77
- uColorGridDim: import("./schema").UniformSpec<"v3">;
78
- uColorGridTransform: import("./schema").UniformSpec<"v4">;
78
+ uColor: UniformSpec<"v3">;
79
+ uColorTexDim: UniformSpec<"v2">;
80
+ uColorGridDim: UniformSpec<"v3">;
81
+ uColorGridTransform: UniformSpec<"v4">;
79
82
  tColor: import("./schema").TextureSpec<"image-uint8">;
80
83
  tPalette: import("./schema").TextureSpec<"image-uint8">;
81
84
  tColorGrid: import("./schema").TextureSpec<"texture">;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { __assign } from "tslib";
7
7
  import { createRenderable } from '../renderable';
8
8
  import { createGraphicsRenderItem } from '../webgl/render-item';
9
- import { GlobalUniformSchema, BaseSchema, AttributeSpec, InternalSchema, SizeSchema, ElementsSpec, ValueSpec, DefineSpec, GlobalTextureSchema } from './schema';
9
+ import { GlobalUniformSchema, BaseSchema, AttributeSpec, InternalSchema, SizeSchema, ElementsSpec, ValueSpec, DefineSpec, GlobalTextureSchema, UniformSpec } from './schema';
10
10
  import { SpheresShaderCode } from '../shader-code';
11
11
  import { ValueCell } from '../../mol-util';
12
- export var SpheresSchema = __assign(__assign(__assign({}, BaseSchema), SizeSchema), { aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 2, 0), elements: ElementsSpec('uint32'), padding: ValueSpec('number'), dDoubleSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean') });
12
+ export var SpheresSchema = __assign(__assign(__assign({}, BaseSchema), SizeSchema), { aGroup: AttributeSpec('float32', 1, 0), aPosition: AttributeSpec('float32', 3, 0), aMapping: AttributeSpec('float32', 2, 0), elements: ElementsSpec('uint32'), padding: ValueSpec('number'), dDoubleSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), uBumpFrequency: UniformSpec('f'), uBumpAmplitude: UniformSpec('f') });
13
13
  export function SpheresRenderable(ctx, id, values, state, materialId) {
14
14
  var schema = __assign(__assign(__assign(__assign({}, GlobalUniformSchema), GlobalTextureSchema), InternalSchema), SpheresSchema);
15
15
  var internalValues = {
@@ -33,6 +33,7 @@ export declare const TextSchema: {
33
33
  uAlpha: UniformSpec<"f">;
34
34
  uMetalness: UniformSpec<"f">;
35
35
  uRoughness: UniformSpec<"f">;
36
+ uBumpiness: UniformSpec<"f">;
36
37
  uVertexCount: UniformSpec<"i">;
37
38
  uInstanceCount: UniformSpec<"i">;
38
39
  uGroupCount: UniformSpec<"i">;
@@ -17,6 +17,8 @@ export declare const TextureMeshSchema: {
17
17
  dIgnoreLight: DefineSpec<"boolean">;
18
18
  dXrayShaded: DefineSpec<"boolean">;
19
19
  dGeoTexture: DefineSpec<"boolean">;
20
+ uBumpFrequency: UniformSpec<"f">;
21
+ uBumpAmplitude: UniformSpec<"f">;
20
22
  meta: ValueSpec<"unknown">;
21
23
  dLightCount: DefineSpec<"number">;
22
24
  aInstance: import("./schema").AttributeSpec<"float32">;
@@ -24,6 +26,7 @@ export declare const TextureMeshSchema: {
24
26
  uAlpha: UniformSpec<"f">;
25
27
  uMetalness: UniformSpec<"f">;
26
28
  uRoughness: UniformSpec<"f">;
29
+ uBumpiness: UniformSpec<"f">;
27
30
  uVertexCount: UniformSpec<"i">;
28
31
  uInstanceCount: UniformSpec<"i">;
29
32
  uGroupCount: UniformSpec<"i">;
@@ -9,7 +9,7 @@ import { createGraphicsRenderItem } from '../webgl/render-item';
9
9
  import { GlobalUniformSchema, BaseSchema, DefineSpec, InternalSchema, UniformSpec, TextureSpec, GlobalTextureSchema, ValueSpec } from './schema';
10
10
  import { MeshShaderCode } from '../shader-code';
11
11
  import { ValueCell } from '../../mol-util';
12
- export var TextureMeshSchema = __assign(__assign({}, BaseSchema), { uGeoTexDim: UniformSpec('v2', 'buffered'), tPosition: TextureSpec('texture', 'rgb', 'float', 'nearest'), tGroup: TextureSpec('texture', 'alpha', 'float', 'nearest'), tNormal: TextureSpec('texture', 'rgb', 'float', 'nearest'), dFlatShaded: DefineSpec('boolean'), dDoubleSided: DefineSpec('boolean'), dFlipSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), dGeoTexture: DefineSpec('boolean'), meta: ValueSpec('unknown') });
12
+ export var TextureMeshSchema = __assign(__assign({}, BaseSchema), { uGeoTexDim: UniformSpec('v2', 'buffered'), tPosition: TextureSpec('texture', 'rgb', 'float', 'nearest'), tGroup: TextureSpec('texture', 'alpha', 'float', 'nearest'), tNormal: TextureSpec('texture', 'rgb', 'float', 'nearest'), dFlatShaded: DefineSpec('boolean'), dDoubleSided: DefineSpec('boolean'), dFlipSided: DefineSpec('boolean'), dIgnoreLight: DefineSpec('boolean'), dXrayShaded: DefineSpec('boolean'), dGeoTexture: DefineSpec('boolean'), uBumpFrequency: UniformSpec('f'), uBumpAmplitude: UniformSpec('f'), meta: ValueSpec('unknown') });
13
13
  export function TextureMeshRenderable(ctx, id, values, state, materialId) {
14
14
  var schema = __assign(__assign(__assign(__assign({}, GlobalUniformSchema), GlobalTextureSchema), InternalSchema), TextureMeshSchema);
15
15
  var internalValues = {
@@ -6,4 +6,4 @@
6
6
  * adapted from three.js (https://github.com/mrdoob/three.js/)
7
7
  * which under the MIT License, Copyright © 2010-2021 three.js authors
8
8
  */
9
- export declare const apply_light_color = "\n// inputs\n// - vec4 material\n// - vec3 vViewPosition\n// - vec3 normal\n// - float uMetalness\n// - float uRoughness\n// - vec3 uLightColor\n// - vec3 uAmbientColor\n\n// outputs\n// - sets gl_FragColor\n\nvec4 color = material;\n\nReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n\nPhysicalMaterial physicalMaterial;\nphysicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);\nphysicalMaterial.roughness = max(roughness, 0.0525);\nphysicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);\nphysicalMaterial.specularF90 = 1.0;\n\nGeometricContext geometry;\ngeometry.position = -vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize(vViewPosition);\n\nIncidentLight directLight;\n#pragma unroll_loop_start\nfor (int i = 0; i < dLightCount; ++i) {\n directLight.direction = uLightDirection[i];\n directLight.color = uLightColor[i] * PI; // * PI for punctual light\n RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);\n}\n#pragma unroll_loop_end\n\nvec3 irradiance = uAmbientColor * PI; // * PI for punctual light\nRE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);\n\n// indirect specular only metals\nvec3 radiance = uAmbientColor * metalness;\nvec3 iblIrradiance = uAmbientColor * metalness;\nvec3 clearcoatRadiance = vec3(0.0);\nRE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);\n\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\ngl_FragColor = vec4(outgoingLight, color.a);\n\n#ifdef dXrayShaded\n gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);\n#endif\n";
9
+ export declare const apply_light_color = "\n#ifdef bumpEnabled\n if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0) {\n vec3 bumpNormal = perturbNormal(-vViewPosition, normal, fbm(vModelPosition * uBumpFrequency), (uBumpAmplitude * bumpiness) / uBumpFrequency);\n #ifdef enabledFragDepth\n if (!any(isNaN(bumpNormal))) normal = bumpNormal;\n #else\n normal = bumpNormal;\n #endif\n }\n#endif\n\nvec4 color = material;\n\nReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n\nPhysicalMaterial physicalMaterial;\nphysicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);\n#ifdef enabledFragDepth\n physicalMaterial.roughness = min(max(roughness, 0.0525), 1.0);\n#else\n vec3 dxy = max(abs(dFdx(normal)), abs(dFdy(normal)));\n float geometryRoughness = max(max(dxy.x, dxy.y), dxy.z);\n physicalMaterial.roughness = min(max(roughness, 0.0525) + geometryRoughness, 1.0);\n#endif\nphysicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);\nphysicalMaterial.specularF90 = 1.0;\n\nGeometricContext geometry;\ngeometry.position = -vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize(vViewPosition);\n\nIncidentLight directLight;\n#pragma unroll_loop_start\nfor (int i = 0; i < dLightCount; ++i) {\n directLight.direction = uLightDirection[i];\n directLight.color = uLightColor[i] * PI; // * PI for punctual light\n RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);\n}\n#pragma unroll_loop_end\n\nvec3 irradiance = uAmbientColor * PI; // * PI for punctual light\nRE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);\n\n// indirect specular only metals\nvec3 radiance = uAmbientColor * metalness;\nvec3 iblIrradiance = uAmbientColor * metalness;\nvec3 clearcoatRadiance = vec3(0.0);\nRE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);\n\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\ngl_FragColor = vec4(outgoingLight, color.a);\n\n#ifdef dXrayShaded\n gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);\n#endif\n";
@@ -6,5 +6,5 @@
6
6
  * adapted from three.js (https://github.com/mrdoob/three.js/)
7
7
  * which under the MIT License, Copyright © 2010-2021 three.js authors
8
8
  */
9
- export var apply_light_color = "\n// inputs\n// - vec4 material\n// - vec3 vViewPosition\n// - vec3 normal\n// - float uMetalness\n// - float uRoughness\n// - vec3 uLightColor\n// - vec3 uAmbientColor\n\n// outputs\n// - sets gl_FragColor\n\nvec4 color = material;\n\nReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n\nPhysicalMaterial physicalMaterial;\nphysicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);\nphysicalMaterial.roughness = max(roughness, 0.0525);\nphysicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);\nphysicalMaterial.specularF90 = 1.0;\n\nGeometricContext geometry;\ngeometry.position = -vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize(vViewPosition);\n\nIncidentLight directLight;\n#pragma unroll_loop_start\nfor (int i = 0; i < dLightCount; ++i) {\n directLight.direction = uLightDirection[i];\n directLight.color = uLightColor[i] * PI; // * PI for punctual light\n RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);\n}\n#pragma unroll_loop_end\n\nvec3 irradiance = uAmbientColor * PI; // * PI for punctual light\nRE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);\n\n// indirect specular only metals\nvec3 radiance = uAmbientColor * metalness;\nvec3 iblIrradiance = uAmbientColor * metalness;\nvec3 clearcoatRadiance = vec3(0.0);\nRE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);\n\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\ngl_FragColor = vec4(outgoingLight, color.a);\n\n#ifdef dXrayShaded\n gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);\n#endif\n";
9
+ export var apply_light_color = "\n#ifdef bumpEnabled\n if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0) {\n vec3 bumpNormal = perturbNormal(-vViewPosition, normal, fbm(vModelPosition * uBumpFrequency), (uBumpAmplitude * bumpiness) / uBumpFrequency);\n #ifdef enabledFragDepth\n if (!any(isNaN(bumpNormal))) normal = bumpNormal;\n #else\n normal = bumpNormal;\n #endif\n }\n#endif\n\nvec4 color = material;\n\nReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n\nPhysicalMaterial physicalMaterial;\nphysicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);\n#ifdef enabledFragDepth\n physicalMaterial.roughness = min(max(roughness, 0.0525), 1.0);\n#else\n vec3 dxy = max(abs(dFdx(normal)), abs(dFdy(normal)));\n float geometryRoughness = max(max(dxy.x, dxy.y), dxy.z);\n physicalMaterial.roughness = min(max(roughness, 0.0525) + geometryRoughness, 1.0);\n#endif\nphysicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);\nphysicalMaterial.specularF90 = 1.0;\n\nGeometricContext geometry;\ngeometry.position = -vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize(vViewPosition);\n\nIncidentLight directLight;\n#pragma unroll_loop_start\nfor (int i = 0; i < dLightCount; ++i) {\n directLight.direction = uLightDirection[i];\n directLight.color = uLightColor[i] * PI; // * PI for punctual light\n RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);\n}\n#pragma unroll_loop_end\n\nvec3 irradiance = uAmbientColor * PI; // * PI for punctual light\nRE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);\n\n// indirect specular only metals\nvec3 radiance = uAmbientColor * metalness;\nvec3 iblIrradiance = uAmbientColor * metalness;\nvec3 clearcoatRadiance = vec3(0.0);\nRE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);\n\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\ngl_FragColor = vec4(outgoingLight, color.a);\n\n#ifdef dXrayShaded\n gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);\n#endif\n";
10
10
  //# sourceMappingURL=apply-light-color.glsl.js.map
@@ -1 +1 @@
1
- export declare const assign_color_varying = "\n#if defined(dRenderVariant_color)\n #if defined(dColorType_attribute)\n vColor.rgb = aColor;\n #elif defined(dColorType_instance)\n vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;\n #elif defined(dColorType_group)\n vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;\n #elif defined(dColorType_groupInstance)\n vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;\n #elif defined(dColorType_vertex)\n vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_vertexInstance)\n vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_volume)\n vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #elif defined(dColorType_volumeInstance)\n vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #endif\n\n #ifdef dUsePalette\n vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance)\n vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);\n #elif defined(dOverpaintType_vertexInstance)\n vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);\n #elif defined(dOverpaintType_volumeInstance)\n vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;\n vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);\n #endif\n\n // pre-mix to avoid darkening due to empty overpaint\n #ifdef dColorType_uniform\n vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #else\n vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance)\n vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim).rgb;\n #elif defined(dSubstanceType_vertexInstance)\n vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim).rgb;\n #elif defined(dSubstanceType_volumeInstance)\n vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;\n vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim).rgb;\n #endif\n\n // pre-mix to avoid artifacts due to empty substance\n vSubstance.rg = mix(vec2(uMetalness, uRoughness), vSubstance.rg, vSubstance.b);\n #endif\n#elif defined(dRenderVariant_pick)\n #if defined(dRenderVariant_pickObject)\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n #elif defined(dRenderVariant_pickInstance)\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n #elif defined(dRenderVariant_pickGroup)\n vColor = vec4(encodeFloatRGB(group), 1.0);\n #endif\n#endif\n\n#ifdef dTransparency\n vGroup = group;\n\n #if defined(dTransparencyType_groupInstance)\n vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_vertexInstance)\n vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_volumeInstance)\n vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;\n vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;\n #endif\n#endif\n";
1
+ export declare const assign_color_varying = "\n#if defined(dRenderVariant_color)\n #if defined(dColorType_attribute)\n vColor.rgb = aColor;\n #elif defined(dColorType_instance)\n vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;\n #elif defined(dColorType_group)\n vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;\n #elif defined(dColorType_groupInstance)\n vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;\n #elif defined(dColorType_vertex)\n vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_vertexInstance)\n vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_volume)\n vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #elif defined(dColorType_volumeInstance)\n vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #endif\n\n #ifdef dUsePalette\n vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance)\n vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);\n #elif defined(dOverpaintType_vertexInstance)\n vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);\n #elif defined(dOverpaintType_volumeInstance)\n vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;\n vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);\n #endif\n\n // pre-mix to avoid darkening due to empty overpaint\n #ifdef dColorType_uniform\n vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #else\n vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance)\n vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);\n #elif defined(dSubstanceType_vertexInstance)\n vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);\n #elif defined(dSubstanceType_volumeInstance)\n vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;\n vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);\n #endif\n\n // pre-mix to avoid artifacts due to empty substance\n vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);\n #endif\n#elif defined(dRenderVariant_pick)\n #if defined(dRenderVariant_pickObject)\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n #elif defined(dRenderVariant_pickInstance)\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n #elif defined(dRenderVariant_pickGroup)\n vColor = vec4(encodeFloatRGB(group), 1.0);\n #endif\n#endif\n\n#ifdef dTransparency\n vGroup = group;\n\n #if defined(dTransparencyType_groupInstance)\n vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_vertexInstance)\n vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_volumeInstance)\n vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;\n vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;\n #endif\n#endif\n";
@@ -1,2 +1,2 @@
1
- export var assign_color_varying = "\n#if defined(dRenderVariant_color)\n #if defined(dColorType_attribute)\n vColor.rgb = aColor;\n #elif defined(dColorType_instance)\n vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;\n #elif defined(dColorType_group)\n vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;\n #elif defined(dColorType_groupInstance)\n vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;\n #elif defined(dColorType_vertex)\n vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_vertexInstance)\n vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_volume)\n vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #elif defined(dColorType_volumeInstance)\n vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #endif\n\n #ifdef dUsePalette\n vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance)\n vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);\n #elif defined(dOverpaintType_vertexInstance)\n vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);\n #elif defined(dOverpaintType_volumeInstance)\n vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;\n vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);\n #endif\n\n // pre-mix to avoid darkening due to empty overpaint\n #ifdef dColorType_uniform\n vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #else\n vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance)\n vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim).rgb;\n #elif defined(dSubstanceType_vertexInstance)\n vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim).rgb;\n #elif defined(dSubstanceType_volumeInstance)\n vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;\n vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim).rgb;\n #endif\n\n // pre-mix to avoid artifacts due to empty substance\n vSubstance.rg = mix(vec2(uMetalness, uRoughness), vSubstance.rg, vSubstance.b);\n #endif\n#elif defined(dRenderVariant_pick)\n #if defined(dRenderVariant_pickObject)\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n #elif defined(dRenderVariant_pickInstance)\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n #elif defined(dRenderVariant_pickGroup)\n vColor = vec4(encodeFloatRGB(group), 1.0);\n #endif\n#endif\n\n#ifdef dTransparency\n vGroup = group;\n\n #if defined(dTransparencyType_groupInstance)\n vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_vertexInstance)\n vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_volumeInstance)\n vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;\n vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;\n #endif\n#endif\n";
1
+ export var assign_color_varying = "\n#if defined(dRenderVariant_color)\n #if defined(dColorType_attribute)\n vColor.rgb = aColor;\n #elif defined(dColorType_instance)\n vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;\n #elif defined(dColorType_group)\n vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;\n #elif defined(dColorType_groupInstance)\n vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;\n #elif defined(dColorType_vertex)\n vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_vertexInstance)\n vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;\n #elif defined(dColorType_volume)\n vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #elif defined(dColorType_volumeInstance)\n vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;\n vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;\n #endif\n\n #ifdef dUsePalette\n vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance)\n vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);\n #elif defined(dOverpaintType_vertexInstance)\n vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);\n #elif defined(dOverpaintType_volumeInstance)\n vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;\n vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);\n #endif\n\n // pre-mix to avoid darkening due to empty overpaint\n #ifdef dColorType_uniform\n vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #else\n vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance)\n vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);\n #elif defined(dSubstanceType_vertexInstance)\n vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);\n #elif defined(dSubstanceType_volumeInstance)\n vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;\n vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);\n #endif\n\n // pre-mix to avoid artifacts due to empty substance\n vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);\n #endif\n#elif defined(dRenderVariant_pick)\n #if defined(dRenderVariant_pickObject)\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n #elif defined(dRenderVariant_pickInstance)\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n #elif defined(dRenderVariant_pickGroup)\n vColor = vec4(encodeFloatRGB(group), 1.0);\n #endif\n#endif\n\n#ifdef dTransparency\n vGroup = group;\n\n #if defined(dTransparencyType_groupInstance)\n vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_vertexInstance)\n vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;\n #elif defined(dTransparencyType_volumeInstance)\n vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;\n vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;\n #endif\n#endif\n";
2
2
  //# sourceMappingURL=assign-color-varying.glsl.js.map
@@ -1 +1 @@
1
- export declare const assign_material_color = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n #if defined(dMarkerType_uniform)\n float marker = uMarker;\n #elif defined(dMarkerType_groupInstance)\n float marker = floor(vMarker * 255.0 + 0.5); // rounding required to work on some cards on win\n #endif\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dUsePalette)\n vec4 material = vec4(texture2D(tPalette, vec2(vPaletteV, 0.5)).rgb, uAlpha);\n #elif defined(dColorType_uniform)\n vec4 material = vec4(uColor, uAlpha);\n #elif defined(dColorType_varying)\n vec4 material = vec4(vColor.rgb, uAlpha);\n #endif\n\n // mix material with overpaint\n #if defined(dOverpaint)\n material.rgb = mix(material.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n\n float metalness = uMetalness;\n float roughness = uRoughness;\n #ifdef dSubstance\n metalness = mix(metalness, vSubstance.r, vSubstance.b);\n roughness = mix(roughness, vSubstance.g, vSubstance.b);\n #endif\n#elif defined(dRenderVariant_pick)\n vec4 material = vColor;\n#elif defined(dRenderVariant_depth)\n #ifdef enabledFragDepth\n vec4 material = packDepthToRGBA(gl_FragDepthEXT);\n #else\n vec4 material = packDepthToRGBA(gl_FragCoord.z);\n #endif\n#elif defined(dRenderVariant_markingDepth)\n if (marker > 0.0)\n discard;\n #ifdef enabledFragDepth\n vec4 material = packDepthToRGBA(gl_FragDepthEXT);\n #else\n vec4 material = packDepthToRGBA(gl_FragCoord.z);\n #endif\n#elif defined(dRenderVariant_markingMask)\n if (marker == 0.0)\n discard;\n float depthTest = 1.0;\n if (uMarkingDepthTest) {\n depthTest = (fragmentDepth >= getDepth(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;\n }\n bool isHighlight = intMod(marker, 2.0) > 0.1;\n float viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\n float fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\n if (fogFactor == 1.0)\n discard;\n vec4 material = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0 - fogFactor);\n#endif\n\n// apply screendoor transparency\n#if defined(dTransparency)\n float ta = 1.0 - vTransparency;\n #if defined(dRenderVariant_colorWboit)\n if (vTransparency < 0.2) ta = 1.0; // hard cutoff looks better with wboit\n #endif\n\n #if defined(dRenderVariant_pick)\n if (ta < uPickingAlphaThreshold)\n discard; // ignore so the element below can be picked\n #else\n #if defined(dRenderVariant_colorBlended)\n float at = 0.0;\n\n // shift by view-offset during multi-sample rendering to allow for blending\n vec2 coord = gl_FragCoord.xy + uViewOffset * 0.25;\n\n const mat4 thresholdMatrix = mat4(\n 1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0,\n 13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0,\n 4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0,\n 16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0\n );\n int ci = int(intMod(coord.x, 4.0));\n int ri = int(intMod(coord.y, 4.0));\n #if __VERSION__ == 100\n vec4 i = vec4(float(ci * 4 + ri));\n vec4 v = thresholdMatrix[0] * vec4(equal(i, vec4(0.0, 1.0, 2.0, 3.0))) +\n thresholdMatrix[1] * vec4(equal(i, vec4(4.0, 5.0, 6.0, 7.0))) +\n thresholdMatrix[2] * vec4(equal(i, vec4(8.0, 9.0, 10.0, 11.0))) +\n thresholdMatrix[3] * vec4(equal(i, vec4(12.0, 13.0, 14.0, 15.0)));\n at = v.x + v.y + v.z + v.w;\n #else\n at = thresholdMatrix[ci][ri];\n #endif\n\n if (ta < 0.99 && (ta < 0.01 || ta < at)) {\n discard;\n }\n #elif defined(dRenderVariant_colorWboit)\n material.a *= ta;\n #endif\n #endif\n#endif\n";
1
+ export declare const assign_material_color = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n #if defined(dMarkerType_uniform)\n float marker = uMarker;\n #elif defined(dMarkerType_groupInstance)\n float marker = floor(vMarker * 255.0 + 0.5); // rounding required to work on some cards on win\n #endif\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dUsePalette)\n vec4 material = vec4(texture2D(tPalette, vec2(vPaletteV, 0.5)).rgb, uAlpha);\n #elif defined(dColorType_uniform)\n vec4 material = vec4(uColor, uAlpha);\n #elif defined(dColorType_varying)\n vec4 material = vec4(vColor.rgb, uAlpha);\n #endif\n\n // mix material with overpaint\n #if defined(dOverpaint)\n material.rgb = mix(material.rgb, vOverpaint.rgb, vOverpaint.a);\n #endif\n\n float metalness = uMetalness;\n float roughness = uRoughness;\n float bumpiness = uBumpiness;\n #ifdef dSubstance\n metalness = mix(metalness, vSubstance.r, vSubstance.a);\n roughness = mix(roughness, vSubstance.g, vSubstance.a);\n bumpiness = mix(bumpiness, vSubstance.b, vSubstance.a);\n #endif\n#elif defined(dRenderVariant_pick)\n vec4 material = vColor;\n#elif defined(dRenderVariant_depth)\n #ifdef enabledFragDepth\n vec4 material = packDepthToRGBA(gl_FragDepthEXT);\n #else\n vec4 material = packDepthToRGBA(gl_FragCoord.z);\n #endif\n#elif defined(dRenderVariant_markingDepth)\n if (marker > 0.0)\n discard;\n #ifdef enabledFragDepth\n vec4 material = packDepthToRGBA(gl_FragDepthEXT);\n #else\n vec4 material = packDepthToRGBA(gl_FragCoord.z);\n #endif\n#elif defined(dRenderVariant_markingMask)\n if (marker == 0.0)\n discard;\n float depthTest = 1.0;\n if (uMarkingDepthTest) {\n depthTest = (fragmentDepth >= getDepth(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;\n }\n bool isHighlight = intMod(marker, 2.0) > 0.1;\n float viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\n float fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\n if (fogFactor == 1.0)\n discard;\n vec4 material = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0 - fogFactor);\n#endif\n\n// apply screendoor transparency\n#if defined(dTransparency)\n float ta = 1.0 - vTransparency;\n #if defined(dRenderVariant_colorWboit)\n if (vTransparency < 0.2) ta = 1.0; // hard cutoff looks better with wboit\n #endif\n\n #if defined(dRenderVariant_pick)\n if (ta < uPickingAlphaThreshold)\n discard; // ignore so the element below can be picked\n #else\n #if defined(dRenderVariant_colorBlended)\n float at = 0.0;\n\n // shift by view-offset during multi-sample rendering to allow for blending\n vec2 coord = gl_FragCoord.xy + uViewOffset * 0.25;\n\n const mat4 thresholdMatrix = mat4(\n 1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0,\n 13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0,\n 4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0,\n 16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0\n );\n int ci = int(intMod(coord.x, 4.0));\n int ri = int(intMod(coord.y, 4.0));\n #if __VERSION__ == 100\n vec4 i = vec4(float(ci * 4 + ri));\n vec4 v = thresholdMatrix[0] * vec4(equal(i, vec4(0.0, 1.0, 2.0, 3.0))) +\n thresholdMatrix[1] * vec4(equal(i, vec4(4.0, 5.0, 6.0, 7.0))) +\n thresholdMatrix[2] * vec4(equal(i, vec4(8.0, 9.0, 10.0, 11.0))) +\n thresholdMatrix[3] * vec4(equal(i, vec4(12.0, 13.0, 14.0, 15.0)));\n at = v.x + v.y + v.z + v.w;\n #else\n at = thresholdMatrix[ci][ri];\n #endif\n\n if (ta < 0.99 && (ta < 0.01 || ta < at)) {\n discard;\n }\n #elif defined(dRenderVariant_colorWboit)\n material.a *= ta;\n #endif\n #endif\n#endif\n";