molstar 3.0.0-dev.3 → 3.0.0-dev.7
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.
- package/build/viewer/embedded.html +5 -5
- package/build/viewer/index.html +25 -17
- package/build/viewer/molstar.css +1 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/index.d.ts +2 -1
- package/lib/apps/docking-viewer/index.html +8 -8
- package/lib/apps/docking-viewer/index.js +87 -74
- package/lib/apps/docking-viewer/viewport.js +2 -1
- package/lib/apps/viewer/embedded.html +5 -5
- package/lib/apps/viewer/index.d.ts +36 -215
- package/lib/apps/viewer/index.html +25 -17
- package/lib/apps/viewer/index.js +139 -52
- package/lib/cli/cifschema/index.d.ts +1 -1
- package/lib/cli/cifschema/index.js +15 -35
- package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
- package/lib/commonjs/apps/docking-viewer/index.js +86 -73
- package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
- package/lib/commonjs/apps/viewer/index.d.ts +36 -215
- package/lib/commonjs/apps/viewer/index.js +139 -52
- package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
- package/lib/commonjs/cli/cifschema/index.js +15 -35
- package/lib/commonjs/examples/alpha-orbitals/index.js +2 -3
- package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
- package/lib/commonjs/examples/lighting/index.d.ts +1 -1
- package/lib/commonjs/examples/lighting/index.js +58 -41
- package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
- package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/commonjs/extensions/anvil/behavior.d.ts +7 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +63 -0
- package/lib/commonjs/extensions/cellpack/representation.d.ts +13 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
- package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -0
- package/lib/commonjs/extensions/mp4-export/controls.js +9 -7
- package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
- package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +65 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +8 -8
- package/lib/commonjs/mol-canvas3d/canvas3d.js +12 -4
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +7 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +7 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +6 -0
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +2 -1
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +4 -2
- package/lib/commonjs/mol-canvas3d/passes/pick.js +9 -9
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +6 -4
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/commonjs/mol-geo/geometry/base.d.ts +20 -0
- package/lib/commonjs/mol-geo/geometry/base.js +20 -1
- package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +5 -3
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +12 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.js +0 -4
- package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +1 -1
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +13 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +5 -3
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +13 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +5 -3
- package/lib/commonjs/mol-geo/geometry/substance-data.js +3 -3
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
- package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
- package/lib/commonjs/mol-gl/render-object.js +10 -10
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +41 -33
- package/lib/commonjs/mol-gl/renderable/cylinders.js +4 -4
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +38 -32
- package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +38 -30
- package/lib/commonjs/mol-gl/renderable/mesh.js +4 -4
- package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/commonjs/mol-gl/renderable/schema.js +6 -12
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +41 -33
- package/lib/commonjs/mol-gl/renderable/spheres.js +4 -4
- package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +13 -5
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
- package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
- package/lib/commonjs/mol-gl/renderer.js +12 -74
- package/lib/commonjs/mol-gl/scene.d.ts +2 -2
- package/lib/commonjs/mol-gl/scene.js +7 -5
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
- package/lib/commonjs/mol-gl/shader-code.js +42 -13
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
- package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/model/model.js +15 -5
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/commonjs/mol-model/structure/model/types.js +9 -0
- package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +26 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +39 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/commonjs/mol-plugin/commands.d.ts +4 -4
- package/lib/commonjs/mol-plugin/config.d.ts +2 -0
- package/lib/commonjs/mol-plugin/config.js +10 -3
- package/lib/commonjs/mol-plugin/spec.js +1 -0
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +21 -0
- package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +7 -1
- package/lib/commonjs/mol-plugin-state/actions/structure.js +150 -72
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +15 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +54 -0
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -2
- package/lib/commonjs/mol-plugin-ui/controls/parameters.js +11 -6
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +8 -17
- package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
- package/lib/commonjs/mol-plugin-ui/index.js +13 -16
- package/lib/commonjs/mol-plugin-ui/plugin.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/plugin.js +76 -10
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +13 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +11 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +13 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +11 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +11 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +13 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +13 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +72 -0
- package/lib/commonjs/mol-repr/structure/params.d.ts +96 -0
- package/lib/commonjs/mol-repr/structure/registry.d.ts +175 -1
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +36 -3
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +33 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/orientation.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +33 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +39 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.js +2 -1
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +96 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +26 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +13 -2
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/commonjs/mol-repr/visual.js +11 -7
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -0
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +76 -0
- package/lib/commonjs/mol-repr/volume/isosurface.js +2 -1
- package/lib/commonjs/mol-repr/volume/registry.d.ts +35 -0
- package/lib/commonjs/mol-repr/volume/representation.d.ts +11 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +33 -0
- package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
- package/lib/commonjs/mol-theme/clipping.js +5 -12
- package/lib/commonjs/mol-theme/color/illustrative.d.ts +2 -0
- package/lib/commonjs/mol-theme/color/illustrative.js +2 -2
- package/lib/commonjs/mol-theme/color.d.ts +1 -0
- package/lib/commonjs/mol-util/clip.d.ts +49 -0
- package/lib/commonjs/mol-util/clip.js +97 -0
- package/lib/commonjs/mol-util/material.d.ts +5 -1
- package/lib/commonjs/mol-util/material.js +9 -7
- package/lib/examples/alpha-orbitals/index.html +1 -0
- package/lib/examples/alpha-orbitals/index.js +3 -4
- package/lib/examples/basic-wrapper/index.html +3 -2
- package/lib/examples/basic-wrapper/index.js +24 -12
- package/lib/examples/lighting/index.d.ts +1 -1
- package/lib/examples/lighting/index.html +4 -2
- package/lib/examples/lighting/index.js +59 -42
- package/lib/examples/proteopedia-wrapper/index.html +4 -3
- package/lib/examples/proteopedia-wrapper/index.js +27 -15
- package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/extensions/anvil/behavior.d.ts +7 -0
- package/lib/extensions/anvil/representation.d.ts +63 -0
- package/lib/extensions/cellpack/representation.d.ts +13 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
- package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
- package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
- package/lib/extensions/mp4-export/controls.d.ts +1 -0
- package/lib/extensions/mp4-export/controls.js +9 -7
- package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
- package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
- package/lib/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/extensions/rcsb/validation-report/representation.d.ts +65 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +8 -8
- package/lib/mol-canvas3d/canvas3d.js +12 -4
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +7 -0
- package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +7 -0
- package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/mol-canvas3d/helper/helper.d.ts +6 -0
- package/lib/mol-canvas3d/passes/image.d.ts +4 -0
- package/lib/mol-canvas3d/passes/multi-sample.d.ts +2 -1
- package/lib/mol-canvas3d/passes/multi-sample.js +4 -2
- package/lib/mol-canvas3d/passes/pick.js +9 -9
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
- package/lib/mol-canvas3d/passes/postprocessing.js +6 -4
- package/lib/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/mol-geo/geometry/base.d.ts +20 -0
- package/lib/mol-geo/geometry/base.js +20 -1
- package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.js +5 -3
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
- package/lib/mol-geo/geometry/image/image.d.ts +11 -0
- package/lib/mol-geo/geometry/lines/lines.d.ts +12 -0
- package/lib/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/mol-geo/geometry/marker-data.js +0 -4
- package/lib/mol-geo/geometry/mesh/color-smoothing.js +1 -1
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +13 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +5 -3
- package/lib/mol-geo/geometry/points/points.d.ts +11 -0
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +13 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +5 -3
- package/lib/mol-geo/geometry/substance-data.js +3 -3
- package/lib/mol-geo/geometry/text/text.d.ts +11 -0
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
- package/lib/mol-gl/render-object.d.ts +2 -1
- package/lib/mol-gl/render-object.js +10 -10
- package/lib/mol-gl/renderable/cylinders.d.ts +41 -33
- package/lib/mol-gl/renderable/cylinders.js +5 -5
- package/lib/mol-gl/renderable/direct-volume.d.ts +11 -5
- package/lib/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/mol-gl/renderable/image.d.ts +10 -4
- package/lib/mol-gl/renderable/image.js +2 -2
- package/lib/mol-gl/renderable/lines.d.ts +38 -32
- package/lib/mol-gl/renderable/lines.js +4 -4
- package/lib/mol-gl/renderable/mesh.d.ts +38 -30
- package/lib/mol-gl/renderable/mesh.js +5 -5
- package/lib/mol-gl/renderable/points.d.ts +10 -4
- package/lib/mol-gl/renderable/points.js +2 -2
- package/lib/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/mol-gl/renderable/schema.js +6 -12
- package/lib/mol-gl/renderable/spheres.d.ts +41 -33
- package/lib/mol-gl/renderable/spheres.js +5 -5
- package/lib/mol-gl/renderable/text.d.ts +10 -4
- package/lib/mol-gl/renderable/text.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +13 -5
- package/lib/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/mol-gl/renderable.d.ts +0 -1
- package/lib/mol-gl/renderer.d.ts +12 -12
- package/lib/mol-gl/renderer.js +13 -75
- package/lib/mol-gl/scene.d.ts +2 -2
- package/lib/mol-gl/scene.js +7 -5
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/mol-gl/shader/image.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.vert.js +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/mol-gl/shader-code.d.ts +3 -1
- package/lib/mol-gl/shader-code.js +42 -13
- package/lib/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/mol-gl/webgl/render-item.js +8 -6
- package/lib/mol-gl/webgl/resources.js +8 -1
- package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/mol-model/structure/model/model.d.ts +1 -0
- package/lib/mol-model/structure/model/model.js +15 -5
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
- package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/mol-model/structure/model/types.js +9 -0
- package/lib/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/mol-model-formats/shape/ply.d.ts +26 -0
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +39 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/mol-plugin/commands.d.ts +4 -4
- package/lib/mol-plugin/config.d.ts +2 -0
- package/lib/mol-plugin/config.js +9 -3
- package/lib/mol-plugin/spec.js +1 -0
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +21 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/structure.d.ts +7 -1
- package/lib/mol-plugin-state/actions/structure.js +150 -72
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
- package/lib/mol-plugin-state/manager/structure/component.d.ts +15 -1
- package/lib/mol-plugin-state/manager/structure/component.js +14 -9
- package/lib/mol-plugin-state/transforms/representation.d.ts +54 -0
- package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -2
- package/lib/mol-plugin-ui/controls/parameters.js +12 -7
- package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/mol-plugin-ui/hooks/use-behavior.js +9 -18
- package/lib/mol-plugin-ui/index.d.ts +4 -4
- package/lib/mol-plugin-ui/index.js +11 -13
- package/lib/mol-plugin-ui/plugin.d.ts +1 -1
- package/lib/mol-plugin-ui/plugin.js +76 -10
- package/lib/mol-plugin-ui/skin/base/components/misc.scss +27 -0
- package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/mol-repr/shape/loci/angle.d.ts +13 -0
- package/lib/mol-repr/shape/loci/common.d.ts +11 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +13 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +11 -0
- package/lib/mol-repr/shape/loci/label.d.ts +11 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +13 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +13 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +13 -0
- package/lib/mol-repr/structure/complex-visual.d.ts +72 -0
- package/lib/mol-repr/structure/params.d.ts +96 -0
- package/lib/mol-repr/structure/registry.d.ts +175 -1
- package/lib/mol-repr/structure/representation/backbone.d.ts +39 -0
- package/lib/mol-repr/structure/representation/backbone.js +2 -1
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.js +2 -1
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
- package/lib/mol-repr/structure/representation/carbohydrate.js +2 -1
- package/lib/mol-repr/structure/representation/cartoon.d.ts +39 -0
- package/lib/mol-repr/structure/representation/cartoon.js +2 -1
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
- package/lib/mol-repr/structure/representation/ellipsoid.js +2 -1
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.js +2 -1
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
- package/lib/mol-repr/structure/representation/label.d.ts +36 -3
- package/lib/mol-repr/structure/representation/line.d.ts +33 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
- package/lib/mol-repr/structure/representation/molecular-surface.js +2 -1
- package/lib/mol-repr/structure/representation/orientation.d.ts +39 -0
- package/lib/mol-repr/structure/representation/orientation.js +2 -1
- package/lib/mol-repr/structure/representation/point.d.ts +33 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +39 -0
- package/lib/mol-repr/structure/representation/putty.js +2 -1
- package/lib/mol-repr/structure/representation/spacefill.d.ts +39 -0
- package/lib/mol-repr/structure/representation/spacefill.js +2 -1
- package/lib/mol-repr/structure/units-visual.d.ts +96 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +11 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +11 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +26 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
- package/lib/mol-repr/structure/visual/label-text.d.ts +13 -2
- package/lib/mol-repr/structure/visual/label-text.js +2 -2
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
- package/lib/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/mol-repr/visual.js +11 -7
- package/lib/mol-repr/volume/direct-volume.d.ts +33 -0
- package/lib/mol-repr/volume/isosurface.d.ts +76 -0
- package/lib/mol-repr/volume/isosurface.js +2 -1
- package/lib/mol-repr/volume/registry.d.ts +35 -0
- package/lib/mol-repr/volume/representation.d.ts +11 -0
- package/lib/mol-repr/volume/slice.d.ts +33 -0
- package/lib/mol-theme/clipping.d.ts +7 -15
- package/lib/mol-theme/clipping.js +5 -12
- package/lib/mol-theme/color/illustrative.d.ts +2 -0
- package/lib/mol-theme/color/illustrative.js +2 -2
- package/lib/mol-theme/color.d.ts +1 -0
- package/lib/mol-util/clip.d.ts +49 -0
- package/lib/mol-util/clip.js +93 -0
- package/lib/mol-util/material.d.ts +5 -1
- package/lib/mol-util/material.js +9 -7
- package/package.json +5 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2019-
|
|
3
|
+
* Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
@@ -12,14 +12,14 @@ var render_item_1 = require("../webgl/render-item");
|
|
|
12
12
|
var schema_1 = require("./schema");
|
|
13
13
|
var shader_code_1 = require("../shader-code");
|
|
14
14
|
var mol_util_1 = require("../../mol-util");
|
|
15
|
-
exports.SpheresSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'),
|
|
16
|
-
function SpheresRenderable(ctx, id, values, state, materialId) {
|
|
15
|
+
exports.SpheresSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f') });
|
|
16
|
+
function SpheresRenderable(ctx, id, values, state, materialId, variants) {
|
|
17
17
|
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.SpheresSchema);
|
|
18
18
|
var internalValues = {
|
|
19
19
|
uObjectId: mol_util_1.ValueCell.create(id),
|
|
20
20
|
};
|
|
21
21
|
var shaderCode = shader_code_1.SpheresShaderCode;
|
|
22
|
-
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
|
|
22
|
+
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
|
|
23
23
|
return (0, renderable_1.createRenderable)(renderItem, values, state);
|
|
24
24
|
}
|
|
25
25
|
exports.SpheresRenderable = SpheresRenderable;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Renderable, RenderableState } from '../renderable';
|
|
7
7
|
import { WebGLContext } from '../webgl/context';
|
|
8
|
+
import { GraphicsRenderVariant } from '../webgl/render-item';
|
|
8
9
|
import { AttributeSpec, UniformSpec, Values, TextureSpec, ElementsSpec, ValueSpec } from './schema';
|
|
9
10
|
export declare const TextSchema: {
|
|
10
11
|
aGroup: AttributeSpec<"float32">;
|
|
@@ -28,11 +29,19 @@ export declare const TextSchema: {
|
|
|
28
29
|
dSizeType: import("./schema").DefineSpec<"string">;
|
|
29
30
|
uSizeFactor: UniformSpec<"f">;
|
|
30
31
|
dLightCount: import("./schema").DefineSpec<"number">;
|
|
32
|
+
dClipObjectCount: import("./schema").DefineSpec<"number">;
|
|
33
|
+
dClipVariant: import("./schema").DefineSpec<"string">;
|
|
34
|
+
uClipObjectType: UniformSpec<"i[]">;
|
|
35
|
+
uClipObjectInvert: UniformSpec<"b[]">;
|
|
36
|
+
uClipObjectPosition: UniformSpec<"v3[]">;
|
|
37
|
+
uClipObjectRotation: UniformSpec<"v4[]">;
|
|
38
|
+
uClipObjectScale: UniformSpec<"v3[]">;
|
|
31
39
|
aInstance: AttributeSpec<"float32">;
|
|
32
40
|
aTransform: AttributeSpec<"float32">;
|
|
33
41
|
uAlpha: UniformSpec<"f">;
|
|
34
42
|
uMetalness: UniformSpec<"f">;
|
|
35
43
|
uRoughness: UniformSpec<"f">;
|
|
44
|
+
uBumpiness: UniformSpec<"f">;
|
|
36
45
|
uVertexCount: UniformSpec<"i">;
|
|
37
46
|
uInstanceCount: UniformSpec<"i">;
|
|
38
47
|
uGroupCount: UniformSpec<"i">;
|
|
@@ -46,8 +55,6 @@ export declare const TextSchema: {
|
|
|
46
55
|
hasReflection: ValueSpec<"boolean">;
|
|
47
56
|
boundingSphere: ValueSpec<"sphere">;
|
|
48
57
|
invariantBoundingSphere: ValueSpec<"sphere">;
|
|
49
|
-
dClipObjectCount: import("./schema").DefineSpec<"number">;
|
|
50
|
-
dClipVariant: import("./schema").DefineSpec<"string">;
|
|
51
58
|
uClippingTexDim: UniformSpec<"v2">;
|
|
52
59
|
tClipping: TextureSpec<"image-uint8">;
|
|
53
60
|
dClipping: import("./schema").DefineSpec<"boolean">;
|
|
@@ -76,7 +83,6 @@ export declare const TextSchema: {
|
|
|
76
83
|
uMarker: UniformSpec<"f">;
|
|
77
84
|
uMarkerTexDim: UniformSpec<"v2">;
|
|
78
85
|
tMarker: TextureSpec<"image-uint8">;
|
|
79
|
-
dMarkerType: import("./schema").DefineSpec<"string">;
|
|
80
86
|
markerAverage: ValueSpec<"number">;
|
|
81
87
|
markerStatus: ValueSpec<"number">;
|
|
82
88
|
uColor: UniformSpec<"v3">;
|
|
@@ -91,4 +97,4 @@ export declare const TextSchema: {
|
|
|
91
97
|
};
|
|
92
98
|
export declare type TextSchema = typeof TextSchema;
|
|
93
99
|
export declare type TextValues = Values<TextSchema>;
|
|
94
|
-
export declare function TextRenderable(ctx: WebGLContext, id: number, values: TextValues, state: RenderableState, materialId: number): Renderable<TextValues>;
|
|
100
|
+
export declare function TextRenderable(ctx: WebGLContext, id: number, values: TextValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<TextValues>;
|
|
@@ -13,13 +13,13 @@ var schema_1 = require("./schema");
|
|
|
13
13
|
var shader_code_1 = require("../shader-code");
|
|
14
14
|
var mol_util_1 = require("../../mol-util");
|
|
15
15
|
exports.TextSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), aDepth: (0, schema_1.AttributeSpec)('float32', 1, 0), elements: (0, schema_1.ElementsSpec)('uint32'), aTexCoord: (0, schema_1.AttributeSpec)('float32', 2, 0), tFont: (0, schema_1.TextureSpec)('image-uint8', 'alpha', 'ubyte', 'linear'), padding: (0, schema_1.ValueSpec)('number'), uBorderWidth: (0, schema_1.UniformSpec)('f'), uBorderColor: (0, schema_1.UniformSpec)('v3'), uOffsetX: (0, schema_1.UniformSpec)('f'), uOffsetY: (0, schema_1.UniformSpec)('f'), uOffsetZ: (0, schema_1.UniformSpec)('f'), uBackgroundColor: (0, schema_1.UniformSpec)('v3'), uBackgroundOpacity: (0, schema_1.UniformSpec)('f') });
|
|
16
|
-
function TextRenderable(ctx, id, values, state, materialId) {
|
|
16
|
+
function TextRenderable(ctx, id, values, state, materialId, variants) {
|
|
17
17
|
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.TextSchema);
|
|
18
18
|
var internalValues = {
|
|
19
19
|
uObjectId: mol_util_1.ValueCell.create(id),
|
|
20
20
|
};
|
|
21
21
|
var shaderCode = shader_code_1.TextShaderCode;
|
|
22
|
-
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
|
|
22
|
+
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
|
|
23
23
|
return (0, renderable_1.createRenderable)(renderItem, values, state);
|
|
24
24
|
}
|
|
25
25
|
exports.TextRenderable = TextRenderable;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Renderable, RenderableState } from '../renderable';
|
|
7
7
|
import { WebGLContext } from '../webgl/context';
|
|
8
|
+
import { GraphicsRenderVariant } from '../webgl/render-item';
|
|
8
9
|
import { DefineSpec, Values, UniformSpec, TextureSpec, ValueSpec } from './schema';
|
|
9
10
|
export declare const TextureMeshSchema: {
|
|
10
11
|
uGeoTexDim: UniformSpec<"v2">;
|
|
@@ -12,18 +13,28 @@ export declare const TextureMeshSchema: {
|
|
|
12
13
|
tGroup: TextureSpec<"texture">;
|
|
13
14
|
tNormal: TextureSpec<"texture">;
|
|
14
15
|
dFlatShaded: DefineSpec<"boolean">;
|
|
15
|
-
|
|
16
|
+
uDoubleSided: UniformSpec<"b">;
|
|
16
17
|
dFlipSided: DefineSpec<"boolean">;
|
|
17
18
|
dIgnoreLight: DefineSpec<"boolean">;
|
|
18
19
|
dXrayShaded: DefineSpec<"boolean">;
|
|
19
20
|
dGeoTexture: DefineSpec<"boolean">;
|
|
21
|
+
uBumpFrequency: UniformSpec<"f">;
|
|
22
|
+
uBumpAmplitude: UniformSpec<"f">;
|
|
20
23
|
meta: ValueSpec<"unknown">;
|
|
21
24
|
dLightCount: DefineSpec<"number">;
|
|
25
|
+
dClipObjectCount: DefineSpec<"number">;
|
|
26
|
+
dClipVariant: DefineSpec<"string">;
|
|
27
|
+
uClipObjectType: UniformSpec<"i[]">;
|
|
28
|
+
uClipObjectInvert: UniformSpec<"b[]">;
|
|
29
|
+
uClipObjectPosition: UniformSpec<"v3[]">;
|
|
30
|
+
uClipObjectRotation: UniformSpec<"v4[]">;
|
|
31
|
+
uClipObjectScale: UniformSpec<"v3[]">;
|
|
22
32
|
aInstance: import("./schema").AttributeSpec<"float32">;
|
|
23
33
|
aTransform: import("./schema").AttributeSpec<"float32">;
|
|
24
34
|
uAlpha: UniformSpec<"f">;
|
|
25
35
|
uMetalness: UniformSpec<"f">;
|
|
26
36
|
uRoughness: UniformSpec<"f">;
|
|
37
|
+
uBumpiness: UniformSpec<"f">;
|
|
27
38
|
uVertexCount: UniformSpec<"i">;
|
|
28
39
|
uInstanceCount: UniformSpec<"i">;
|
|
29
40
|
uGroupCount: UniformSpec<"i">;
|
|
@@ -37,8 +48,6 @@ export declare const TextureMeshSchema: {
|
|
|
37
48
|
hasReflection: ValueSpec<"boolean">;
|
|
38
49
|
boundingSphere: ValueSpec<"sphere">;
|
|
39
50
|
invariantBoundingSphere: ValueSpec<"sphere">;
|
|
40
|
-
dClipObjectCount: DefineSpec<"number">;
|
|
41
|
-
dClipVariant: DefineSpec<"string">;
|
|
42
51
|
uClippingTexDim: UniformSpec<"v2">;
|
|
43
52
|
tClipping: TextureSpec<"image-uint8">;
|
|
44
53
|
dClipping: DefineSpec<"boolean">;
|
|
@@ -67,7 +76,6 @@ export declare const TextureMeshSchema: {
|
|
|
67
76
|
uMarker: UniformSpec<"f">;
|
|
68
77
|
uMarkerTexDim: UniformSpec<"v2">;
|
|
69
78
|
tMarker: TextureSpec<"image-uint8">;
|
|
70
|
-
dMarkerType: DefineSpec<"string">;
|
|
71
79
|
markerAverage: ValueSpec<"number">;
|
|
72
80
|
markerStatus: ValueSpec<"number">;
|
|
73
81
|
uColor: UniformSpec<"v3">;
|
|
@@ -82,4 +90,4 @@ export declare const TextureMeshSchema: {
|
|
|
82
90
|
};
|
|
83
91
|
export declare type TextureMeshSchema = typeof TextureMeshSchema;
|
|
84
92
|
export declare type TextureMeshValues = Values<TextureMeshSchema>;
|
|
85
|
-
export declare function TextureMeshRenderable(ctx: WebGLContext, id: number, values: TextureMeshValues, state: RenderableState, materialId: number): Renderable<TextureMeshValues>;
|
|
93
|
+
export declare function TextureMeshRenderable(ctx: WebGLContext, id: number, values: TextureMeshValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<TextureMeshValues>;
|
|
@@ -12,14 +12,14 @@ var render_item_1 = require("../webgl/render-item");
|
|
|
12
12
|
var schema_1 = require("./schema");
|
|
13
13
|
var shader_code_1 = require("../shader-code");
|
|
14
14
|
var mol_util_1 = require("../../mol-util");
|
|
15
|
-
exports.TextureMeshSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), { uGeoTexDim: (0, schema_1.UniformSpec)('v2', 'buffered'), tPosition: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), tGroup: (0, schema_1.TextureSpec)('texture', 'alpha', 'float', 'nearest'), tNormal: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), dFlatShaded: (0, schema_1.DefineSpec)('boolean'),
|
|
16
|
-
function TextureMeshRenderable(ctx, id, values, state, materialId) {
|
|
15
|
+
exports.TextureMeshSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), { uGeoTexDim: (0, schema_1.UniformSpec)('v2', 'buffered'), tPosition: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), tGroup: (0, schema_1.TextureSpec)('texture', 'alpha', 'float', 'nearest'), tNormal: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), dFlatShaded: (0, schema_1.DefineSpec)('boolean'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dFlipSided: (0, schema_1.DefineSpec)('boolean'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), dGeoTexture: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f'), meta: (0, schema_1.ValueSpec)('unknown') });
|
|
16
|
+
function TextureMeshRenderable(ctx, id, values, state, materialId, variants) {
|
|
17
17
|
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.TextureMeshSchema);
|
|
18
18
|
var internalValues = {
|
|
19
19
|
uObjectId: mol_util_1.ValueCell.create(id),
|
|
20
20
|
};
|
|
21
21
|
var shaderCode = shader_code_1.MeshShaderCode;
|
|
22
|
-
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
|
|
22
|
+
var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
|
|
23
23
|
return (0, renderable_1.createRenderable)(renderItem, values, state);
|
|
24
24
|
}
|
|
25
25
|
exports.TextureMeshRenderable = TextureMeshRenderable;
|
|
@@ -9,7 +9,6 @@ import { WebGLContext } from './webgl/context';
|
|
|
9
9
|
import { Color } from '../mol-util/color';
|
|
10
10
|
import { GraphicsRenderVariant } from './webgl/render-item';
|
|
11
11
|
import { ParamDefinition as PD } from '../mol-util/param-definition';
|
|
12
|
-
import { Clipping } from '../mol-theme/clipping';
|
|
13
12
|
import { Texture } from './webgl/texture';
|
|
14
13
|
export interface RendererStats {
|
|
15
14
|
programCount: number;
|
|
@@ -24,13 +23,24 @@ export interface RendererStats {
|
|
|
24
23
|
instanceCount: number;
|
|
25
24
|
instancedDrawCount: number;
|
|
26
25
|
}
|
|
26
|
+
export declare const enum PickType {
|
|
27
|
+
None = 0,
|
|
28
|
+
Object = 1,
|
|
29
|
+
Instance = 2,
|
|
30
|
+
Group = 3
|
|
31
|
+
}
|
|
32
|
+
export declare const enum MarkingType {
|
|
33
|
+
None = 0,
|
|
34
|
+
Depth = 1,
|
|
35
|
+
Mask = 2
|
|
36
|
+
}
|
|
27
37
|
interface Renderer {
|
|
28
38
|
readonly stats: RendererStats;
|
|
29
39
|
readonly props: Readonly<RendererProps>;
|
|
30
40
|
clear: (toBackgroundColor: boolean) => void;
|
|
31
41
|
clearDepth: () => void;
|
|
32
42
|
update: (camera: ICamera) => void;
|
|
33
|
-
renderPick: (group: Scene.Group, camera: ICamera, variant: GraphicsRenderVariant, depthTexture: Texture | null) => void;
|
|
43
|
+
renderPick: (group: Scene.Group, camera: ICamera, variant: GraphicsRenderVariant, depthTexture: Texture | null, pickType: PickType) => void;
|
|
34
44
|
renderDepth: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
35
45
|
renderMarkingDepth: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
36
46
|
renderMarkingMask: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
@@ -68,16 +78,6 @@ export declare const RendererParams: {
|
|
|
68
78
|
}>>;
|
|
69
79
|
ambientColor: PD.Color;
|
|
70
80
|
ambientIntensity: PD.Numeric;
|
|
71
|
-
clip: PD.Group<PD.Normalize<{
|
|
72
|
-
variant: Clipping.Variant;
|
|
73
|
-
objects: PD.Normalize<{
|
|
74
|
-
type: any;
|
|
75
|
-
invert: any;
|
|
76
|
-
position: any;
|
|
77
|
-
rotation: any;
|
|
78
|
-
scale: any;
|
|
79
|
-
}>[];
|
|
80
|
-
}>>;
|
|
81
81
|
};
|
|
82
82
|
export declare type RendererProps = PD.Values<typeof RendererParams>;
|
|
83
83
|
declare namespace Renderer {
|
|
@@ -11,8 +11,6 @@ var linear_algebra_1 = require("../mol-math/linear-algebra");
|
|
|
11
11
|
var color_1 = require("../mol-util/color");
|
|
12
12
|
var mol_util_1 = require("../mol-util");
|
|
13
13
|
var param_definition_1 = require("../mol-util/param-definition");
|
|
14
|
-
var clipping_1 = require("../mol-theme/clipping");
|
|
15
|
-
var string_1 = require("../mol-util/string");
|
|
16
14
|
var misc_1 = require("../mol-math/misc");
|
|
17
15
|
var texture_1 = require("./webgl/texture");
|
|
18
16
|
var array_1 = require("../mol-util/array");
|
|
@@ -42,19 +40,6 @@ exports.RendererParams = {
|
|
|
42
40
|
}] }),
|
|
43
41
|
ambientColor: param_definition_1.ParamDefinition.Color(color_1.Color.fromNormalizedRgb(1.0, 1.0, 1.0)),
|
|
44
42
|
ambientIntensity: param_definition_1.ParamDefinition.Numeric(0.4, { min: 0.0, max: 1.0, step: 0.01 }),
|
|
45
|
-
clip: param_definition_1.ParamDefinition.Group({
|
|
46
|
-
variant: param_definition_1.ParamDefinition.Select('instance', param_definition_1.ParamDefinition.arrayToOptions(['instance', 'pixel'])),
|
|
47
|
-
objects: param_definition_1.ParamDefinition.ObjectList({
|
|
48
|
-
type: param_definition_1.ParamDefinition.Select('plane', param_definition_1.ParamDefinition.objectToOptions(clipping_1.Clipping.Type, function (t) { return (0, string_1.stringToWords)(t); })),
|
|
49
|
-
invert: param_definition_1.ParamDefinition.Boolean(false),
|
|
50
|
-
position: param_definition_1.ParamDefinition.Vec3((0, linear_algebra_1.Vec3)()),
|
|
51
|
-
rotation: param_definition_1.ParamDefinition.Group({
|
|
52
|
-
axis: param_definition_1.ParamDefinition.Vec3(linear_algebra_1.Vec3.create(1, 0, 0)),
|
|
53
|
-
angle: param_definition_1.ParamDefinition.Numeric(0, { min: -180, max: 180, step: 1 }, { description: 'Angle in Degrees' }),
|
|
54
|
-
}, { isExpanded: true }),
|
|
55
|
-
scale: param_definition_1.ParamDefinition.Vec3(linear_algebra_1.Vec3.create(1, 1, 1)),
|
|
56
|
-
}, function (o) { return (0, string_1.stringToWords)(o.type); })
|
|
57
|
-
})
|
|
58
43
|
};
|
|
59
44
|
var tmpDir = (0, linear_algebra_1.Vec3)();
|
|
60
45
|
var tmpColor = (0, linear_algebra_1.Vec3)();
|
|
@@ -72,28 +57,6 @@ function getLight(props, light) {
|
|
|
72
57
|
}
|
|
73
58
|
return { count: props.length, direction: direction, color: color };
|
|
74
59
|
}
|
|
75
|
-
var tmpQuat = (0, linear_algebra_1.Quat)();
|
|
76
|
-
function getClip(props, clip) {
|
|
77
|
-
var _a = (clip === null || clip === void 0 ? void 0 : clip.objects) || {
|
|
78
|
-
type: (new Array(5)).fill(1),
|
|
79
|
-
invert: (new Array(5)).fill(false),
|
|
80
|
-
position: (new Array(5 * 3)).fill(0),
|
|
81
|
-
rotation: (new Array(5 * 4)).fill(0),
|
|
82
|
-
scale: (new Array(5 * 3)).fill(1),
|
|
83
|
-
}, type = _a.type, invert = _a.invert, position = _a.position, rotation = _a.rotation, scale = _a.scale;
|
|
84
|
-
for (var i = 0, il = props.objects.length; i < il; ++i) {
|
|
85
|
-
var p = props.objects[i];
|
|
86
|
-
type[i] = clipping_1.Clipping.Type[p.type];
|
|
87
|
-
invert[i] = p.invert;
|
|
88
|
-
linear_algebra_1.Vec3.toArray(p.position, position, i * 3);
|
|
89
|
-
linear_algebra_1.Quat.toArray(linear_algebra_1.Quat.setAxisAngle(tmpQuat, p.rotation.axis, (0, misc_1.degToRad)(p.rotation.angle)), rotation, i * 4);
|
|
90
|
-
linear_algebra_1.Vec3.toArray(p.scale, scale, i * 3);
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
variant: props.variant,
|
|
94
|
-
objects: { count: props.objects.length, type: type, invert: invert, position: position, rotation: rotation, scale: scale }
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
60
|
var Renderer;
|
|
98
61
|
(function (Renderer) {
|
|
99
62
|
function create(ctx, props) {
|
|
@@ -101,7 +64,6 @@ var Renderer;
|
|
|
101
64
|
var gl = ctx.gl, state = ctx.state, stats = ctx.stats, fragDepth = ctx.extensions.fragDepth;
|
|
102
65
|
var p = param_definition_1.ParamDefinition.merge(exports.RendererParams, param_definition_1.ParamDefinition.getDefaultValues(exports.RendererParams), props);
|
|
103
66
|
var light = getLight(p.light);
|
|
104
|
-
var clip = getClip(p.clip);
|
|
105
67
|
var viewport = (0, util_1.Viewport)();
|
|
106
68
|
var drawingBufferSize = linear_algebra_1.Vec2.create(gl.drawingBufferWidth, gl.drawingBufferHeight);
|
|
107
69
|
var bgColor = color_1.Color.toVec3Normalized((0, linear_algebra_1.Vec3)(), p.backgroundColor);
|
|
@@ -145,12 +107,9 @@ var Renderer;
|
|
|
145
107
|
uFogColor: mol_util_1.ValueCell.create(bgColor),
|
|
146
108
|
uRenderWboit: mol_util_1.ValueCell.create(false),
|
|
147
109
|
uMarkingDepthTest: mol_util_1.ValueCell.create(false),
|
|
110
|
+
uPickType: mol_util_1.ValueCell.create(0 /* None */),
|
|
111
|
+
uMarkingType: mol_util_1.ValueCell.create(0 /* None */),
|
|
148
112
|
uTransparentBackground: mol_util_1.ValueCell.create(false),
|
|
149
|
-
uClipObjectType: mol_util_1.ValueCell.create(clip.objects.type),
|
|
150
|
-
uClipObjectInvert: mol_util_1.ValueCell.create(clip.objects.invert),
|
|
151
|
-
uClipObjectPosition: mol_util_1.ValueCell.create(clip.objects.position),
|
|
152
|
-
uClipObjectRotation: mol_util_1.ValueCell.create(clip.objects.rotation),
|
|
153
|
-
uClipObjectScale: mol_util_1.ValueCell.create(clip.objects.scale),
|
|
154
113
|
uLightDirection: mol_util_1.ValueCell.create(light.direction),
|
|
155
114
|
uLightColor: mol_util_1.ValueCell.create(light.color),
|
|
156
115
|
uAmbientColor: mol_util_1.ValueCell.create(ambientColor),
|
|
@@ -168,26 +127,10 @@ var Renderer;
|
|
|
168
127
|
var globalUniformList = Object.entries(globalUniforms);
|
|
169
128
|
var globalUniformsNeedUpdate = true;
|
|
170
129
|
var renderObject = function (r, variant) {
|
|
171
|
-
if (r.state.disposed || !r.state.visible || (!r.state.pickable && variant
|
|
130
|
+
if (r.state.disposed || !r.state.visible || (!r.state.pickable && variant === 'pick')) {
|
|
172
131
|
return;
|
|
173
132
|
}
|
|
174
133
|
var definesNeedUpdate = false;
|
|
175
|
-
if (r.state.noClip) {
|
|
176
|
-
if (r.values.dClipObjectCount.ref.value !== 0) {
|
|
177
|
-
mol_util_1.ValueCell.update(r.values.dClipObjectCount, 0);
|
|
178
|
-
definesNeedUpdate = true;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
if (r.values.dClipObjectCount.ref.value !== clip.objects.count) {
|
|
183
|
-
mol_util_1.ValueCell.update(r.values.dClipObjectCount, clip.objects.count);
|
|
184
|
-
definesNeedUpdate = true;
|
|
185
|
-
}
|
|
186
|
-
if (r.values.dClipVariant.ref.value !== clip.variant) {
|
|
187
|
-
mol_util_1.ValueCell.update(r.values.dClipVariant, clip.variant);
|
|
188
|
-
definesNeedUpdate = true;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
134
|
if (r.values.dLightCount.ref.value !== light.count) {
|
|
192
135
|
mol_util_1.ValueCell.update(r.values.dLightCount, light.count);
|
|
193
136
|
definesNeedUpdate = true;
|
|
@@ -206,7 +149,7 @@ var Renderer;
|
|
|
206
149
|
globalUniformsNeedUpdate = false;
|
|
207
150
|
}
|
|
208
151
|
if (r.values.dRenderMode) { // indicates direct-volume
|
|
209
|
-
if ((variant
|
|
152
|
+
if ((variant === 'pick' || variant === 'depth') && r.values.dRenderMode.ref.value === 'volume') {
|
|
210
153
|
return; // no picking/depth in volume mode
|
|
211
154
|
}
|
|
212
155
|
// culling done in fragment shader
|
|
@@ -226,8 +169,8 @@ var Renderer;
|
|
|
226
169
|
}
|
|
227
170
|
}
|
|
228
171
|
else {
|
|
229
|
-
if (r.values.
|
|
230
|
-
if (r.values.
|
|
172
|
+
if (r.values.uDoubleSided) {
|
|
173
|
+
if (r.values.uDoubleSided.ref.value || r.values.hasReflection.ref.value) {
|
|
231
174
|
state.disable(gl.CULL_FACE);
|
|
232
175
|
}
|
|
233
176
|
else {
|
|
@@ -288,11 +231,12 @@ var Renderer;
|
|
|
288
231
|
globalUniformsNeedUpdate = true;
|
|
289
232
|
state.currentRenderItemId = -1;
|
|
290
233
|
};
|
|
291
|
-
var renderPick = function (group, camera, variant, depthTexture) {
|
|
234
|
+
var renderPick = function (group, camera, variant, depthTexture, pickType) {
|
|
292
235
|
state.disable(gl.BLEND);
|
|
293
236
|
state.enable(gl.DEPTH_TEST);
|
|
294
237
|
state.depthMask(true);
|
|
295
238
|
updateInternal(group, camera, depthTexture, false, false);
|
|
239
|
+
mol_util_1.ValueCell.updateIfChanged(globalUniforms.uPickType, pickType);
|
|
296
240
|
var renderables = group.renderables;
|
|
297
241
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
298
242
|
if (!renderables[i].state.colorOnly) {
|
|
@@ -315,11 +259,12 @@ var Renderer;
|
|
|
315
259
|
state.enable(gl.DEPTH_TEST);
|
|
316
260
|
state.depthMask(true);
|
|
317
261
|
updateInternal(group, camera, depthTexture, false, false);
|
|
262
|
+
mol_util_1.ValueCell.updateIfChanged(globalUniforms.uMarkingType, 1 /* Depth */);
|
|
318
263
|
var renderables = group.renderables;
|
|
319
264
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
320
265
|
var r = renderables[i];
|
|
321
266
|
if (r.values.markerAverage.ref.value !== 1) {
|
|
322
|
-
renderObject(renderables[i], '
|
|
267
|
+
renderObject(renderables[i], 'marking');
|
|
323
268
|
}
|
|
324
269
|
}
|
|
325
270
|
};
|
|
@@ -328,11 +273,12 @@ var Renderer;
|
|
|
328
273
|
state.enable(gl.DEPTH_TEST);
|
|
329
274
|
state.depthMask(true);
|
|
330
275
|
updateInternal(group, camera, depthTexture, false, !!depthTexture);
|
|
276
|
+
mol_util_1.ValueCell.updateIfChanged(globalUniforms.uMarkingType, 2 /* Mask */);
|
|
331
277
|
var renderables = group.renderables;
|
|
332
278
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
333
279
|
var r = renderables[i];
|
|
334
280
|
if (r.values.markerAverage.ref.value > 0) {
|
|
335
|
-
renderObject(renderables[i], '
|
|
281
|
+
renderObject(renderables[i], 'marking');
|
|
336
282
|
}
|
|
337
283
|
}
|
|
338
284
|
};
|
|
@@ -539,14 +485,6 @@ var Renderer;
|
|
|
539
485
|
linear_algebra_1.Vec3.scale(ambientColor, color_1.Color.toArrayNormalized(p.ambientColor, ambientColor, 0), p.ambientIntensity);
|
|
540
486
|
mol_util_1.ValueCell.update(globalUniforms.uAmbientColor, ambientColor);
|
|
541
487
|
}
|
|
542
|
-
if (props.clip !== undefined && !(0, mol_util_1.deepEqual)(props.clip, p.clip)) {
|
|
543
|
-
p.clip = props.clip;
|
|
544
|
-
Object.assign(clip, getClip(props.clip, clip));
|
|
545
|
-
mol_util_1.ValueCell.update(globalUniforms.uClipObjectPosition, clip.objects.position);
|
|
546
|
-
mol_util_1.ValueCell.update(globalUniforms.uClipObjectRotation, clip.objects.rotation);
|
|
547
|
-
mol_util_1.ValueCell.update(globalUniforms.uClipObjectScale, clip.objects.scale);
|
|
548
|
-
mol_util_1.ValueCell.update(globalUniforms.uClipObjectType, clip.objects.type);
|
|
549
|
-
}
|
|
550
488
|
},
|
|
551
489
|
setViewport: function (x, y, width, height) {
|
|
552
490
|
gl.viewport(x, y, width, height);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
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
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
@@ -31,6 +31,6 @@ declare namespace Scene {
|
|
|
31
31
|
interface Group extends Object3D {
|
|
32
32
|
readonly renderables: ReadonlyArray<GraphicsRenderable>;
|
|
33
33
|
}
|
|
34
|
-
function create(ctx: WebGLContext): Scene;
|
|
34
|
+
function create(ctx: WebGLContext, variants?: ("depth" | "colorBlended" | "colorWboit" | "pick" | "marking")[]): Scene;
|
|
35
35
|
}
|
|
36
36
|
export { Scene };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2018-
|
|
3
|
+
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
@@ -15,6 +15,7 @@ var now_1 = require("../mol-util/now");
|
|
|
15
15
|
var array_1 = require("../mol-util/array");
|
|
16
16
|
var boundary_helper_1 = require("../mol-math/geometry/boundary-helper");
|
|
17
17
|
var util_1 = require("../mol-data/util");
|
|
18
|
+
var render_item_1 = require("./webgl/render-item");
|
|
18
19
|
var boundaryHelper = new boundary_helper_1.BoundaryHelper('98');
|
|
19
20
|
function calculateBoundingSphere(renderables, boundingSphere, onlyVisible) {
|
|
20
21
|
boundaryHelper.reset();
|
|
@@ -38,8 +39,8 @@ function calculateBoundingSphere(renderables, boundingSphere, onlyVisible) {
|
|
|
38
39
|
return boundaryHelper.getSphere(boundingSphere);
|
|
39
40
|
}
|
|
40
41
|
function renderableSort(a, b) {
|
|
41
|
-
var drawProgramIdA = a.getProgram('colorBlended').id;
|
|
42
|
-
var drawProgramIdB = b.getProgram('colorBlended').id;
|
|
42
|
+
var drawProgramIdA = (a.getProgram('colorBlended') || a.getProgram('colorWboit')).id;
|
|
43
|
+
var drawProgramIdB = (b.getProgram('colorBlended') || a.getProgram('colorWboit')).id;
|
|
43
44
|
var materialIdA = a.materialId;
|
|
44
45
|
var materialIdB = b.materialId;
|
|
45
46
|
if (drawProgramIdA !== drawProgramIdB) {
|
|
@@ -56,7 +57,8 @@ function renderableSort(a, b) {
|
|
|
56
57
|
}
|
|
57
58
|
var Scene;
|
|
58
59
|
(function (Scene) {
|
|
59
|
-
function create(ctx) {
|
|
60
|
+
function create(ctx, variants) {
|
|
61
|
+
if (variants === void 0) { variants = render_item_1.GraphicsRenderVariants; }
|
|
60
62
|
var renderableMap = new Map();
|
|
61
63
|
var renderables = [];
|
|
62
64
|
var boundingSphere = (0, geometry_1.Sphere3D)();
|
|
@@ -69,7 +71,7 @@ var Scene;
|
|
|
69
71
|
var view = object3d.view, position = object3d.position, direction = object3d.direction, up = object3d.up;
|
|
70
72
|
function add(o) {
|
|
71
73
|
if (!renderableMap.has(o)) {
|
|
72
|
-
var renderable = (0, render_object_1.createRenderable)(ctx, o);
|
|
74
|
+
var renderable = (0, render_object_1.createRenderable)(ctx, o, variants);
|
|
73
75
|
renderables.push(renderable);
|
|
74
76
|
if (o.type === 'direct-volume') {
|
|
75
77
|
volumes.push(renderable);
|
|
@@ -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
|
|
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 (!isNaN(bumpNormal.x) && !isNaN(bumpNormal.y) && !isNaN(bumpNormal.z)) {\n normal = bumpNormal;\n }\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";
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.apply_light_color = void 0;
|
|
12
|
-
exports.apply_light_color = "\n
|
|
12
|
+
exports.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 (!isNaN(bumpNormal.x) && !isNaN(bumpNormal.y) && !isNaN(bumpNormal.z)) {\n normal = bumpNormal;\n }\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";
|
|
13
13
|
//# 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)
|
|
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 (uPickType == 1) {\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n } else if (uPickType == 2) {\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n } else {\n vColor = vec4(encodeFloatRGB(group), 1.0);\n }\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,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assign_color_varying = void 0;
|
|
4
|
-
exports.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)
|
|
4
|
+
exports.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 (uPickType == 1) {\n vColor = vec4(encodeFloatRGB(float(uObjectId)), 1.0);\n } else if (uPickType == 2) {\n vColor = vec4(encodeFloatRGB(aInstance), 1.0);\n } else {\n vColor = vec4(encodeFloatRGB(group), 1.0);\n }\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";
|
|
5
5
|
//# sourceMappingURL=assign-color-varying.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const assign_marker_varying = "\n#if defined(
|
|
1
|
+
export declare const assign_marker_varying = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;\n#endif\n";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assign_marker_varying = void 0;
|
|
4
|
-
exports.assign_marker_varying = "\n#if defined(
|
|
4
|
+
exports.assign_marker_varying = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;\n#endif\n";
|
|
5
5
|
//# sourceMappingURL=assign-marker-varying.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const assign_material_color = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n
|
|
1
|
+
export declare const assign_material_color = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n float marker = uMarker;\n if (uMarker == -1.0) {\n marker = floor(vMarker * 255.0 + 0.5); // rounding required to work on some cards on win\n }\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_marking)\n vec4 material;\n if(uMarkingType == 1) {\n if (marker > 0.0)\n discard;\n #ifdef enabledFragDepth\n material = packDepthToRGBA(gl_FragDepthEXT);\n #else\n material = packDepthToRGBA(gl_FragCoord.z);\n #endif\n } else {\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 material = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0 - fogFactor);\n }\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";
|