molstar 3.0.0-dev.6 → 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/molstar.js +1 -1
- package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
- package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -0
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +2 -8
- package/lib/commonjs/mol-canvas3d/canvas3d.js +2 -1
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/pick.js +9 -9
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
- package/lib/commonjs/mol-geo/geometry/base.js +18 -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 +10 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +10 -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/mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- 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 +10 -5
- package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +10 -5
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/commonjs/mol-gl/renderable/image.d.ts +9 -4
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +38 -33
- package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +10 -5
- package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable/points.d.ts +9 -4
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +9 -11
- package/lib/commonjs/mol-gl/renderable/schema.js +3 -9
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +10 -5
- package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
- package/lib/commonjs/mol-gl/renderable/text.d.ts +9 -4
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +10 -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/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/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-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-formats/shape/ply.d.ts +20 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
- package/lib/commonjs/mol-plugin/spec.js +1 -0
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- 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/manager/structure/component.d.ts +13 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +60 -0
- package/lib/commonjs/mol-repr/structure/params.d.ts +80 -0
- package/lib/commonjs/mol-repr/structure/registry.d.ts +140 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +80 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/visual.js +11 -7
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +30 -0
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/commonjs/mol-repr/volume/registry.d.ts +30 -0
- package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
- package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
- package/lib/commonjs/mol-theme/clipping.js +5 -12
- package/lib/commonjs/mol-util/clip.d.ts +49 -0
- package/lib/commonjs/mol-util/clip.js +97 -0
- package/lib/extensions/anvil/behavior.d.ts +4 -0
- package/lib/extensions/anvil/representation.d.ts +50 -0
- package/lib/extensions/cellpack/representation.d.ts +10 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -0
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +2 -8
- package/lib/mol-canvas3d/canvas3d.js +2 -1
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/mol-canvas3d/passes/pick.js +9 -9
- package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/mol-geo/geometry/base.d.ts +18 -0
- package/lib/mol-geo/geometry/base.js +18 -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 +10 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +10 -0
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
- package/lib/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/mol-geo/geometry/lines/lines.d.ts +10 -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/mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/mol-geo/geometry/points/points.d.ts +10 -0
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- 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 +10 -5
- package/lib/mol-gl/renderable/cylinders.js +3 -3
- package/lib/mol-gl/renderable/direct-volume.d.ts +10 -5
- package/lib/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/mol-gl/renderable/image.d.ts +9 -4
- package/lib/mol-gl/renderable/image.js +2 -2
- package/lib/mol-gl/renderable/lines.d.ts +38 -33
- package/lib/mol-gl/renderable/lines.js +4 -4
- package/lib/mol-gl/renderable/mesh.d.ts +10 -5
- package/lib/mol-gl/renderable/mesh.js +3 -3
- package/lib/mol-gl/renderable/points.d.ts +9 -4
- package/lib/mol-gl/renderable/points.js +2 -2
- package/lib/mol-gl/renderable/schema.d.ts +9 -11
- package/lib/mol-gl/renderable/schema.js +3 -9
- package/lib/mol-gl/renderable/spheres.d.ts +10 -5
- package/lib/mol-gl/renderable/spheres.js +3 -3
- package/lib/mol-gl/renderable/text.d.ts +9 -4
- package/lib/mol-gl/renderable/text.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +10 -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/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/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-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/mol-plugin/commands.d.ts +1 -4
- package/lib/mol-plugin/spec.js +1 -0
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/mol-plugin/version.js +2 -2
- 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/manager/structure/component.d.ts +13 -1
- package/lib/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/mol-repr/structure/complex-visual.d.ts +60 -0
- package/lib/mol-repr/structure/params.d.ts +80 -0
- package/lib/mol-repr/structure/registry.d.ts +140 -0
- package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +30 -0
- package/lib/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/mol-repr/structure/units-visual.d.ts +80 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +20 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/mol-repr/visual.js +11 -7
- package/lib/mol-repr/volume/direct-volume.d.ts +30 -0
- package/lib/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/mol-repr/volume/registry.d.ts +30 -0
- package/lib/mol-repr/volume/representation.d.ts +10 -0
- package/lib/mol-repr/volume/slice.d.ts +30 -0
- package/lib/mol-theme/clipping.d.ts +7 -15
- package/lib/mol-theme/clipping.js +5 -12
- package/lib/mol-util/clip.d.ts +49 -0
- package/lib/mol-util/clip.js +93 -0
- package/package.json +1 -1
|
@@ -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,7 +13,7 @@ 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">;
|
|
@@ -21,6 +22,13 @@ export declare const TextureMeshSchema: {
|
|
|
21
22
|
uBumpAmplitude: UniformSpec<"f">;
|
|
22
23
|
meta: ValueSpec<"unknown">;
|
|
23
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[]">;
|
|
24
32
|
aInstance: import("./schema").AttributeSpec<"float32">;
|
|
25
33
|
aTransform: import("./schema").AttributeSpec<"float32">;
|
|
26
34
|
uAlpha: UniformSpec<"f">;
|
|
@@ -40,8 +48,6 @@ export declare const TextureMeshSchema: {
|
|
|
40
48
|
hasReflection: ValueSpec<"boolean">;
|
|
41
49
|
boundingSphere: ValueSpec<"sphere">;
|
|
42
50
|
invariantBoundingSphere: ValueSpec<"sphere">;
|
|
43
|
-
dClipObjectCount: DefineSpec<"number">;
|
|
44
|
-
dClipVariant: DefineSpec<"string">;
|
|
45
51
|
uClippingTexDim: UniformSpec<"v2">;
|
|
46
52
|
tClipping: TextureSpec<"image-uint8">;
|
|
47
53
|
dClipping: DefineSpec<"boolean">;
|
|
@@ -70,7 +76,6 @@ export declare const TextureMeshSchema: {
|
|
|
70
76
|
uMarker: UniformSpec<"f">;
|
|
71
77
|
uMarkerTexDim: UniformSpec<"v2">;
|
|
72
78
|
tMarker: TextureSpec<"image-uint8">;
|
|
73
|
-
dMarkerType: DefineSpec<"string">;
|
|
74
79
|
markerAverage: ValueSpec<"number">;
|
|
75
80
|
markerStatus: ValueSpec<"number">;
|
|
76
81
|
uColor: UniformSpec<"v3">;
|
|
@@ -85,4 +90,4 @@ export declare const TextureMeshSchema: {
|
|
|
85
90
|
};
|
|
86
91
|
export declare type TextureMeshSchema = typeof TextureMeshSchema;
|
|
87
92
|
export declare type TextureMeshValues = Values<TextureMeshSchema>;
|
|
88
|
-
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#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 (!
|
|
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#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 (!
|
|
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);\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
|
|
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);\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
|
|
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";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assign_material_color = void 0;
|
|
4
|
-
exports.assign_material_color = "\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n
|
|
4
|
+
exports.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";
|
|
5
5
|
//# sourceMappingURL=assign-material-color.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const color_frag_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n#ifdef bumpEnabled\n uniform float uBumpFrequency;\n uniform float uBumpAmplitude;\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_varying)\n varying vec4 vColor;\n #endif\n\n #ifdef dOverpaint\n varying vec4 vOverpaint;\n #endif\n\n #ifdef dSubstance\n varying vec4 vSubstance;\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat in vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n varying float vTransparency;\n#endif\n
|
|
1
|
+
export declare const color_frag_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n#ifdef bumpEnabled\n uniform float uBumpFrequency;\n uniform float uBumpAmplitude;\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_varying)\n varying vec4 vColor;\n #endif\n\n #ifdef dUsePalette\n uniform sampler2D tPalette;\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n varying vec4 vOverpaint;\n #endif\n\n #ifdef dSubstance\n varying vec4 vSubstance;\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat in vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n varying float vTransparency;\n#endif\n";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.color_frag_params = void 0;
|
|
4
|
-
exports.color_frag_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n#ifdef bumpEnabled\n uniform float uBumpFrequency;\n uniform float uBumpAmplitude;\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_varying)\n varying vec4 vColor;\n #endif\n\n #ifdef dOverpaint\n varying vec4 vOverpaint;\n #endif\n\n #ifdef dSubstance\n varying vec4 vSubstance;\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat in vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n varying float vTransparency;\n#endif\n
|
|
4
|
+
exports.color_frag_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n#ifdef bumpEnabled\n uniform float uBumpFrequency;\n uniform float uBumpAmplitude;\n#endif\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_varying)\n varying vec4 vColor;\n #endif\n\n #ifdef dUsePalette\n uniform sampler2D tPalette;\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n varying vec4 vOverpaint;\n #endif\n\n #ifdef dSubstance\n varying vec4 vSubstance;\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat in vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n varying float vTransparency;\n#endif\n";
|
|
5
5
|
//# sourceMappingURL=color-frag-params.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n
|
|
1
|
+
export declare const color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.color_vert_params = void 0;
|
|
4
|
-
exports.color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n
|
|
4
|
+
exports.color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
5
5
|
//# sourceMappingURL=color-vert-params.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const common_frag_params = "\nuniform int uObjectId;\nuniform int uInstanceCount;\nuniform int uGroupCount;\n\n#if dClipObjectCount != 0\n uniform int uClipObjectType[dClipObjectCount];\n uniform bool uClipObjectInvert[dClipObjectCount];\n uniform vec3 uClipObjectPosition[dClipObjectCount];\n uniform vec4 uClipObjectRotation[dClipObjectCount];\n uniform vec3 uClipObjectScale[dClipObjectCount];\n\n #if defined(dClipping)\n #if __VERSION__ == 100\n varying float vClipping;\n #else\n flat in float vClipping;\n #endif\n #endif\n#endif\n\nuniform vec3 uHighlightColor;\nuniform vec3 uSelectColor;\nuniform float uHighlightStrength;\nuniform float uSelectStrength;\nuniform int uMarkerPriority;\n\n#if defined(
|
|
1
|
+
export declare const common_frag_params = "\nuniform int uObjectId;\nuniform int uInstanceCount;\nuniform int uGroupCount;\n\nuniform int uPickType;\nuniform int uMarkingType;\n\n#if dClipObjectCount != 0\n uniform int uClipObjectType[dClipObjectCount];\n uniform bool uClipObjectInvert[dClipObjectCount];\n uniform vec3 uClipObjectPosition[dClipObjectCount];\n uniform vec4 uClipObjectRotation[dClipObjectCount];\n uniform vec3 uClipObjectScale[dClipObjectCount];\n\n #if defined(dClipping)\n #if __VERSION__ == 100\n varying float vClipping;\n #else\n flat in float vClipping;\n #endif\n #endif\n#endif\n\nuniform vec3 uHighlightColor;\nuniform vec3 uSelectColor;\nuniform float uHighlightStrength;\nuniform float uSelectStrength;\nuniform int uMarkerPriority;\n\n#if defined(dRenderVariant_color) || defined(dRenderVariant_marking)\n uniform float uMarker;\n #if __VERSION__ == 100\n varying float vMarker;\n #else\n flat in float vMarker;\n #endif\n#endif\n\nvarying vec3 vModelPosition;\nvarying vec3 vViewPosition;\n\nuniform vec2 uViewOffset;\n\nuniform float uNear;\nuniform float uFar;\nuniform float uIsOrtho;\n\nuniform float uFogNear;\nuniform float uFogFar;\nuniform vec3 uFogColor;\n\nuniform float uAlpha;\nuniform float uPickingAlphaThreshold;\nuniform bool uTransparentBackground;\n\nuniform bool uDoubleSided;\nuniform float uInteriorDarkening;\nuniform bool uInteriorColorFlag;\nuniform vec3 uInteriorColor;\nbool interior;\n\nuniform float uXrayEdgeFalloff;\n\nuniform mat4 uProjection;\n\nuniform bool uRenderWboit;\nuniform bool uMarkingDepthTest;\n\nuniform sampler2D tDepth;\nuniform vec2 uDrawingBufferSize;\n\nfloat getDepth(const in vec2 coords) {\n // always packed due to merged depth from primitives and volumes\n return unpackRGBAToDepth(texture2D(tDepth, coords));\n}\n\nfloat calcDepth(const in vec3 pos) {\n vec2 clipZW = pos.z * uProjection[2].zw + uProjection[3].zw;\n return 0.5 + 0.5 * clipZW.x / clipZW.y;\n}\n\n// \"Bump Mapping Unparametrized Surfaces on the GPU\" Morten S. Mikkelsen\n// https://mmikk.github.io/papers3d/mm_sfgrad_bump.pdf\nvec3 perturbNormal(in vec3 position, in vec3 normal, in float height, in float scale) {\n vec3 sigmaS = dFdx(position);\n vec3 sigmaT = dFdy(position);\n\n vec3 r1 = cross(sigmaT, normal);\n vec3 r2 = cross(normal, sigmaS);\n float det = dot(sigmaS, r1);\n\n float bs = dFdx(height);\n float bt = dFdy(height);\n\n vec3 surfGrad = sign(det) * (bs * r1 + bt * r2);\n return normalize(abs(det) * normal - scale * surfGrad);\n}\n\nfloat hash(in float h) {\n return fract(sin(h) * 43758.5453123);\n}\n\nfloat noise(in vec3 x) {\n vec3 p = floor(x);\n vec3 f = fract(x);\n f = f * f * (3.0 - 2.0 * f);\n\n float n = p.x + p.y * 157.0 + 113.0 * p.z;\n return mix(\n mix(mix(hash(n + 0.0), hash(n + 1.0), f.x),\n mix(hash(n + 157.0), hash(n + 158.0), f.x), f.y),\n mix(mix(hash(n + 113.0), hash(n + 114.0), f.x),\n mix(hash(n + 270.0), hash(n + 271.0), f.x), f.y), f.z);\n}\n\nfloat fbm(in vec3 p) {\n float f = 0.0;\n f += 0.5 * noise(p);\n p *= 2.01;\n f += 0.25 * noise(p);\n p *= 2.02;\n f += 0.125 * noise(p);\n\n return f;\n}\n";
|