molstar 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +197 -197
- package/build/viewer/embedded.html +52 -52
- package/build/viewer/index.html +129 -129
- package/build/viewer/molstar.js +1 -1
- package/build/viewer/molstar.js.LICENSE.txt +9 -0
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/mesoscale-explorer/index.html +100 -100
- package/lib/apps/mesoscale-explorer/style.scss +33 -33
- package/lib/apps/viewer/app.d.ts +2 -1
- package/lib/apps/viewer/app.js +2 -1
- package/lib/apps/viewer/embedded.html +52 -52
- package/lib/apps/viewer/index.html +129 -129
- package/lib/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/cli/cifschema/util/generate.js +12 -12
- package/lib/cli/lipid-params/index.js +9 -9
- package/lib/commonjs/apps/viewer/app.d.ts +2 -1
- package/lib/commonjs/apps/viewer/app.js +1 -0
- package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
- package/lib/commonjs/cli/lipid-params/index.js +9 -9
- package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +1 -0
- package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
- package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
- package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +2 -2
- package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
- package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +474 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +17 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +8 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +8 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/commonjs/mol-gl/shader/background.frag.js +95 -95
- package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
- package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +28 -28
- package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +33 -33
- package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +52 -52
- package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
- package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
- package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
- package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
- package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +266 -266
- package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -362
- package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
- package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/commonjs/mol-gl/shader/image.frag.js +169 -169
- package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
- package/lib/commonjs/mol-gl/shader/lines.frag.js +42 -42
- package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
- package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +65 -65
- package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/commonjs/mol-gl/shader/points.frag.js +59 -59
- package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
- package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +148 -148
- package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +97 -97
- package/lib/commonjs/mol-gl/shader/ssao.frag.js +211 -211
- package/lib/commonjs/mol-gl/shader/text.frag.js +85 -85
- package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
- package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/commonjs/mol-gl/shader-code.js +15 -15
- package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
- package/lib/commonjs/mol-gl/webgl/context.js +1 -0
- package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/commonjs/mol-gl/webgl/timer.js +8 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/commonjs/servers/volume/config.js +5 -5
- package/lib/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/examples/alpha-orbitals/index.html +72 -72
- package/lib/examples/basic-wrapper/index.html +137 -137
- package/lib/examples/lighting/index.html +88 -88
- package/lib/examples/proteopedia-wrapper/index.html +236 -236
- package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/extensions/meshes/mesh-extension.d.ts +1 -0
- package/lib/extensions/mp4-export/encoder.js +1 -1
- package/lib/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
- package/lib/extensions/mvs/components/custom-label/representation.d.ts +2 -2
- package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
- package/lib/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/extensions/sb-ncbr/index.js +8 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
- package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +17 -0
- package/lib/mol-canvas3d/canvas3d.js +4 -0
- package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/mol-canvas3d/passes/dof.js +163 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.js +31 -8
- package/lib/mol-canvas3d/passes/image.d.ts +8 -0
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +8 -0
- package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/mol-gl/shader/background.frag.js +95 -95
- package/lib/mol-gl/shader/background.vert.js +11 -11
- package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/mol-gl/shader/bloom/blur.frag.js +28 -28
- package/lib/mol-gl/shader/bloom/composite.frag.js +33 -33
- package/lib/mol-gl/shader/bloom/luminosity.frag.js +52 -52
- package/lib/mol-gl/shader/cas.frag.js +144 -144
- package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
- package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
- package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
- package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/mol-gl/shader/compose.frag.js +12 -12
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/mol-gl/shader/copy.frag.js +11 -11
- package/lib/mol-gl/shader/cylinders.frag.js +266 -266
- package/lib/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/mol-gl/shader/direct-volume.frag.js +362 -362
- package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/mol-gl/shader/dof.frag.js +119 -0
- package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/mol-gl/shader/image.frag.js +169 -169
- package/lib/mol-gl/shader/image.vert.js +21 -21
- package/lib/mol-gl/shader/lines.frag.js +42 -42
- package/lib/mol-gl/shader/lines.vert.js +117 -117
- package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/mol-gl/shader/mesh.frag.js +65 -65
- package/lib/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/mol-gl/shader/points.frag.js +59 -59
- package/lib/mol-gl/shader/points.vert.js +38 -38
- package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/mol-gl/shader/quad.vert.js +10 -10
- package/lib/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/mol-gl/shader/spheres.frag.js +148 -148
- package/lib/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/mol-gl/shader/ssao-blur.frag.js +97 -97
- package/lib/mol-gl/shader/ssao.frag.js +211 -211
- package/lib/mol-gl/shader/text.frag.js +85 -85
- package/lib/mol-gl/shader/text.vert.js +85 -85
- package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/mol-gl/shader-code.js +15 -15
- package/lib/mol-gl/webgl/compat.js +12 -12
- package/lib/mol-gl/webgl/context.js +1 -0
- package/lib/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/mol-gl/webgl/timer.js +8 -1
- package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
- package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
- package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
- package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
- package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
- package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
- package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
- package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
- package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
- package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
- package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
- package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
- package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
- package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
- package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
- package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
- package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
- package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
- package/lib/mol-plugin-ui/skin/blue.scss +1 -1
- package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
- package/lib/mol-plugin-ui/skin/dark.scss +1 -1
- package/lib/mol-plugin-ui/skin/light.scss +1 -1
- package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/servers/volume/config.js +5 -5
- package/package.json +196 -195
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export const edge_frag = `
|
|
2
|
-
precision highp float;
|
|
3
|
-
precision highp sampler2D;
|
|
4
|
-
|
|
5
|
-
uniform sampler2D tMaskTexture;
|
|
6
|
-
uniform vec2 uTexSizeInv;
|
|
7
|
-
|
|
8
|
-
void main() {
|
|
9
|
-
vec2 coords = gl_FragCoord.xy * uTexSizeInv;
|
|
10
|
-
vec4 offset = vec4(float(dEdgeScale), 0.0, 0.0, float(dEdgeScale)) * vec4(uTexSizeInv, uTexSizeInv);
|
|
11
|
-
vec4 c0 = texture2D(tMaskTexture, coords);
|
|
12
|
-
vec4 c1 = texture2D(tMaskTexture, coords + offset.xy);
|
|
13
|
-
vec4 c2 = texture2D(tMaskTexture, coords - offset.xy);
|
|
14
|
-
vec4 c3 = texture2D(tMaskTexture, coords + offset.yw);
|
|
15
|
-
vec4 c4 = texture2D(tMaskTexture, coords - offset.yw);
|
|
16
|
-
float diff1 = (c1.r - c2.r) * 0.5;
|
|
17
|
-
float diff2 = (c3.r - c4.r) * 0.5;
|
|
18
|
-
float d = length(vec2(diff1, diff2));
|
|
19
|
-
if (d <= 0.0)
|
|
20
|
-
discard;
|
|
21
|
-
float a1 = min(c1.g, c2.g);
|
|
22
|
-
float a2 = min(c3.g, c4.g);
|
|
23
|
-
float visibility = min(a1, a2) > 0.001 ? 1.0 : 0.0;
|
|
24
|
-
float mask = c0.r;
|
|
25
|
-
float marker = min(c1.b, min(c2.b, min(c3.b, c4.b)));
|
|
26
|
-
float fogAlpha = min(c1.a, min(c2.a, min(c3.a, c4.a)));
|
|
27
|
-
gl_FragColor = vec4(visibility, mask, marker, fogAlpha);
|
|
28
|
-
}
|
|
1
|
+
export const edge_frag = `
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp sampler2D;
|
|
4
|
+
|
|
5
|
+
uniform sampler2D tMaskTexture;
|
|
6
|
+
uniform vec2 uTexSizeInv;
|
|
7
|
+
|
|
8
|
+
void main() {
|
|
9
|
+
vec2 coords = gl_FragCoord.xy * uTexSizeInv;
|
|
10
|
+
vec4 offset = vec4(float(dEdgeScale), 0.0, 0.0, float(dEdgeScale)) * vec4(uTexSizeInv, uTexSizeInv);
|
|
11
|
+
vec4 c0 = texture2D(tMaskTexture, coords);
|
|
12
|
+
vec4 c1 = texture2D(tMaskTexture, coords + offset.xy);
|
|
13
|
+
vec4 c2 = texture2D(tMaskTexture, coords - offset.xy);
|
|
14
|
+
vec4 c3 = texture2D(tMaskTexture, coords + offset.yw);
|
|
15
|
+
vec4 c4 = texture2D(tMaskTexture, coords - offset.yw);
|
|
16
|
+
float diff1 = (c1.r - c2.r) * 0.5;
|
|
17
|
+
float diff2 = (c3.r - c4.r) * 0.5;
|
|
18
|
+
float d = length(vec2(diff1, diff2));
|
|
19
|
+
if (d <= 0.0)
|
|
20
|
+
discard;
|
|
21
|
+
float a1 = min(c1.g, c2.g);
|
|
22
|
+
float a2 = min(c3.g, c4.g);
|
|
23
|
+
float visibility = min(a1, a2) > 0.001 ? 1.0 : 0.0;
|
|
24
|
+
float mask = c0.r;
|
|
25
|
+
float marker = min(c1.b, min(c2.b, min(c3.b, c4.b)));
|
|
26
|
+
float fogAlpha = min(c1.a, min(c2.a, min(c3.a, c4.a)));
|
|
27
|
+
gl_FragColor = vec4(visibility, mask, marker, fogAlpha);
|
|
28
|
+
}
|
|
29
29
|
`;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export const overlay_frag = `
|
|
2
|
-
precision highp float;
|
|
3
|
-
precision highp sampler2D;
|
|
4
|
-
|
|
5
|
-
uniform vec2 uTexSizeInv;
|
|
6
|
-
uniform sampler2D tEdgeTexture;
|
|
7
|
-
uniform vec3 uHighlightEdgeColor;
|
|
8
|
-
uniform vec3 uSelectEdgeColor;
|
|
9
|
-
uniform float uHighlightEdgeStrength;
|
|
10
|
-
uniform float uSelectEdgeStrength;
|
|
11
|
-
uniform float uGhostEdgeStrength;
|
|
12
|
-
uniform float uInnerEdgeFactor;
|
|
13
|
-
|
|
14
|
-
void main() {
|
|
15
|
-
vec2 coords = gl_FragCoord.xy * uTexSizeInv;
|
|
16
|
-
vec4 edgeValue = texture2D(tEdgeTexture, coords);
|
|
17
|
-
if (edgeValue.a > 0.0) {
|
|
18
|
-
vec3 edgeColor = edgeValue.b == 1.0 ? uHighlightEdgeColor : uSelectEdgeColor;
|
|
19
|
-
gl_FragColor.rgb = edgeValue.g > 0.0 ? edgeColor : edgeColor * uInnerEdgeFactor;
|
|
20
|
-
gl_FragColor.a = (edgeValue.r == 1.0 ? uGhostEdgeStrength : 1.0) * edgeValue.a;
|
|
21
|
-
float edgeStrength = edgeValue.b == 1.0 ? uHighlightEdgeStrength : uSelectEdgeStrength;
|
|
22
|
-
gl_FragColor.a *= edgeStrength;
|
|
23
|
-
} else {
|
|
24
|
-
gl_FragColor = vec4(0.0);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
1
|
+
export const overlay_frag = `
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp sampler2D;
|
|
4
|
+
|
|
5
|
+
uniform vec2 uTexSizeInv;
|
|
6
|
+
uniform sampler2D tEdgeTexture;
|
|
7
|
+
uniform vec3 uHighlightEdgeColor;
|
|
8
|
+
uniform vec3 uSelectEdgeColor;
|
|
9
|
+
uniform float uHighlightEdgeStrength;
|
|
10
|
+
uniform float uSelectEdgeStrength;
|
|
11
|
+
uniform float uGhostEdgeStrength;
|
|
12
|
+
uniform float uInnerEdgeFactor;
|
|
13
|
+
|
|
14
|
+
void main() {
|
|
15
|
+
vec2 coords = gl_FragCoord.xy * uTexSizeInv;
|
|
16
|
+
vec4 edgeValue = texture2D(tEdgeTexture, coords);
|
|
17
|
+
if (edgeValue.a > 0.0) {
|
|
18
|
+
vec3 edgeColor = edgeValue.b == 1.0 ? uHighlightEdgeColor : uSelectEdgeColor;
|
|
19
|
+
gl_FragColor.rgb = edgeValue.g > 0.0 ? edgeColor : edgeColor * uInnerEdgeFactor;
|
|
20
|
+
gl_FragColor.a = (edgeValue.r == 1.0 ? uGhostEdgeStrength : 1.0) * edgeValue.a;
|
|
21
|
+
float edgeStrength = edgeValue.b == 1.0 ? uHighlightEdgeStrength : uSelectEdgeStrength;
|
|
22
|
+
gl_FragColor.a *= edgeStrength;
|
|
23
|
+
} else {
|
|
24
|
+
gl_FragColor = vec4(0.0);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
27
|
`;
|
|
@@ -3,69 +3,69 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
|
-
export const mesh_frag = `
|
|
7
|
-
precision highp float;
|
|
8
|
-
precision highp int;
|
|
9
|
-
|
|
10
|
-
#define bumpEnabled
|
|
11
|
-
|
|
12
|
-
#include common
|
|
13
|
-
#include common_frag_params
|
|
14
|
-
#include color_frag_params
|
|
15
|
-
#include light_frag_params
|
|
16
|
-
#include normal_frag_params
|
|
17
|
-
#include common_clip
|
|
18
|
-
|
|
19
|
-
void main() {
|
|
20
|
-
#include fade_lod
|
|
21
|
-
#include clip_pixel
|
|
22
|
-
|
|
23
|
-
// Workaround for buggy gl_FrontFacing (e.g. on some integrated Intel GPUs)
|
|
24
|
-
vec3 fdx = dFdx(vViewPosition);
|
|
25
|
-
vec3 fdy = dFdy(vViewPosition);
|
|
26
|
-
vec3 faceNormal = normalize(cross(fdx,fdy));
|
|
27
|
-
bool frontFacing = dot(vNormal, faceNormal) > 0.0;
|
|
28
|
-
|
|
29
|
-
#if defined(dFlipSided)
|
|
30
|
-
interior = frontFacing;
|
|
31
|
-
#else
|
|
32
|
-
interior = !frontFacing;
|
|
33
|
-
#endif
|
|
34
|
-
|
|
35
|
-
float fragmentDepth = gl_FragCoord.z;
|
|
36
|
-
#include assign_material_color
|
|
37
|
-
#include check_transparency
|
|
38
|
-
|
|
39
|
-
#if defined(dRenderVariant_pick)
|
|
40
|
-
#include check_picking_alpha
|
|
41
|
-
#ifdef requiredDrawBuffers
|
|
42
|
-
gl_FragColor = vObject;
|
|
43
|
-
gl_FragData[1] = vInstance;
|
|
44
|
-
gl_FragData[2] = vGroup;
|
|
45
|
-
gl_FragData[3] = packDepthToRGBA(fragmentDepth);
|
|
46
|
-
#else
|
|
47
|
-
gl_FragColor = vColor;
|
|
48
|
-
#endif
|
|
49
|
-
#elif defined(dRenderVariant_depth)
|
|
50
|
-
gl_FragColor = material;
|
|
51
|
-
#elif defined(dRenderVariant_marking)
|
|
52
|
-
gl_FragColor = material;
|
|
53
|
-
#elif defined(dRenderVariant_emissive)
|
|
54
|
-
gl_FragColor = material;
|
|
55
|
-
#elif defined(dRenderVariant_color)
|
|
56
|
-
#if defined(dFlatShaded)
|
|
57
|
-
vec3 normal = -faceNormal;
|
|
58
|
-
#else
|
|
59
|
-
vec3 normal = -normalize(vNormal);
|
|
60
|
-
if (uDoubleSided) normal *= float(frontFacing) * 2.0 - 1.0;
|
|
61
|
-
#endif
|
|
62
|
-
#include apply_light_color
|
|
63
|
-
|
|
64
|
-
#include apply_interior_color
|
|
65
|
-
#include apply_marker_color
|
|
66
|
-
#include apply_fog
|
|
67
|
-
#include wboit_write
|
|
68
|
-
#include dpoit_write
|
|
69
|
-
#endif
|
|
70
|
-
}
|
|
6
|
+
export const mesh_frag = `
|
|
7
|
+
precision highp float;
|
|
8
|
+
precision highp int;
|
|
9
|
+
|
|
10
|
+
#define bumpEnabled
|
|
11
|
+
|
|
12
|
+
#include common
|
|
13
|
+
#include common_frag_params
|
|
14
|
+
#include color_frag_params
|
|
15
|
+
#include light_frag_params
|
|
16
|
+
#include normal_frag_params
|
|
17
|
+
#include common_clip
|
|
18
|
+
|
|
19
|
+
void main() {
|
|
20
|
+
#include fade_lod
|
|
21
|
+
#include clip_pixel
|
|
22
|
+
|
|
23
|
+
// Workaround for buggy gl_FrontFacing (e.g. on some integrated Intel GPUs)
|
|
24
|
+
vec3 fdx = dFdx(vViewPosition);
|
|
25
|
+
vec3 fdy = dFdy(vViewPosition);
|
|
26
|
+
vec3 faceNormal = normalize(cross(fdx,fdy));
|
|
27
|
+
bool frontFacing = dot(vNormal, faceNormal) > 0.0;
|
|
28
|
+
|
|
29
|
+
#if defined(dFlipSided)
|
|
30
|
+
interior = frontFacing;
|
|
31
|
+
#else
|
|
32
|
+
interior = !frontFacing;
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
float fragmentDepth = gl_FragCoord.z;
|
|
36
|
+
#include assign_material_color
|
|
37
|
+
#include check_transparency
|
|
38
|
+
|
|
39
|
+
#if defined(dRenderVariant_pick)
|
|
40
|
+
#include check_picking_alpha
|
|
41
|
+
#ifdef requiredDrawBuffers
|
|
42
|
+
gl_FragColor = vObject;
|
|
43
|
+
gl_FragData[1] = vInstance;
|
|
44
|
+
gl_FragData[2] = vGroup;
|
|
45
|
+
gl_FragData[3] = packDepthToRGBA(fragmentDepth);
|
|
46
|
+
#else
|
|
47
|
+
gl_FragColor = vColor;
|
|
48
|
+
#endif
|
|
49
|
+
#elif defined(dRenderVariant_depth)
|
|
50
|
+
gl_FragColor = material;
|
|
51
|
+
#elif defined(dRenderVariant_marking)
|
|
52
|
+
gl_FragColor = material;
|
|
53
|
+
#elif defined(dRenderVariant_emissive)
|
|
54
|
+
gl_FragColor = material;
|
|
55
|
+
#elif defined(dRenderVariant_color)
|
|
56
|
+
#if defined(dFlatShaded)
|
|
57
|
+
vec3 normal = -faceNormal;
|
|
58
|
+
#else
|
|
59
|
+
vec3 normal = -normalize(vNormal);
|
|
60
|
+
if (uDoubleSided) normal *= float(frontFacing) * 2.0 - 1.0;
|
|
61
|
+
#endif
|
|
62
|
+
#include apply_light_color
|
|
63
|
+
|
|
64
|
+
#include apply_interior_color
|
|
65
|
+
#include apply_marker_color
|
|
66
|
+
#include apply_fog
|
|
67
|
+
#include wboit_write
|
|
68
|
+
#include dpoit_write
|
|
69
|
+
#endif
|
|
70
|
+
}
|
|
71
71
|
`;
|
|
@@ -3,53 +3,53 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
|
-
export const mesh_vert = `
|
|
7
|
-
precision highp float;
|
|
8
|
-
precision highp int;
|
|
9
|
-
precision highp sampler2D;
|
|
10
|
-
|
|
11
|
-
#include common
|
|
12
|
-
#include read_from_texture
|
|
13
|
-
#include common_vert_params
|
|
14
|
-
#include color_vert_params
|
|
15
|
-
#include common_clip
|
|
16
|
-
#include texture3d_from_2d_linear
|
|
17
|
-
|
|
18
|
-
#ifdef dGeometryType_textureMesh
|
|
19
|
-
uniform vec2 uGeoTexDim;
|
|
20
|
-
uniform sampler2D tPosition;
|
|
21
|
-
uniform sampler2D tGroup;
|
|
22
|
-
uniform sampler2D tNormal;
|
|
23
|
-
#else
|
|
24
|
-
attribute vec3 aPosition;
|
|
25
|
-
attribute float aGroup;
|
|
26
|
-
attribute vec3 aNormal;
|
|
27
|
-
#endif
|
|
28
|
-
attribute mat4 aTransform;
|
|
29
|
-
attribute float aInstance;
|
|
30
|
-
|
|
31
|
-
varying vec3 vNormal;
|
|
32
|
-
|
|
33
|
-
void main(){
|
|
34
|
-
#include assign_group
|
|
35
|
-
#include assign_marker_varying
|
|
36
|
-
#include assign_clipping_varying
|
|
37
|
-
#include assign_position
|
|
38
|
-
#include assign_color_varying
|
|
39
|
-
#include clip_instance
|
|
40
|
-
|
|
41
|
-
#ifdef dGeometryType_textureMesh
|
|
42
|
-
vec3 normal = readFromTexture(tNormal, VertexID, uGeoTexDim).xyz;
|
|
43
|
-
#else
|
|
44
|
-
vec3 normal = aNormal;
|
|
45
|
-
#endif
|
|
46
|
-
mat3 normalMatrix = transpose3(inverse3(mat3(modelView)));
|
|
47
|
-
vec3 transformedNormal = normalize(normalMatrix * normalize(normal));
|
|
48
|
-
#if defined(dFlipSided)
|
|
49
|
-
if (!uDoubleSided) { // TODO checking uDoubleSided should not be required, ASR
|
|
50
|
-
transformedNormal = -transformedNormal;
|
|
51
|
-
}
|
|
52
|
-
#endif
|
|
53
|
-
vNormal = transformedNormal;
|
|
54
|
-
}
|
|
6
|
+
export const mesh_vert = `
|
|
7
|
+
precision highp float;
|
|
8
|
+
precision highp int;
|
|
9
|
+
precision highp sampler2D;
|
|
10
|
+
|
|
11
|
+
#include common
|
|
12
|
+
#include read_from_texture
|
|
13
|
+
#include common_vert_params
|
|
14
|
+
#include color_vert_params
|
|
15
|
+
#include common_clip
|
|
16
|
+
#include texture3d_from_2d_linear
|
|
17
|
+
|
|
18
|
+
#ifdef dGeometryType_textureMesh
|
|
19
|
+
uniform vec2 uGeoTexDim;
|
|
20
|
+
uniform sampler2D tPosition;
|
|
21
|
+
uniform sampler2D tGroup;
|
|
22
|
+
uniform sampler2D tNormal;
|
|
23
|
+
#else
|
|
24
|
+
attribute vec3 aPosition;
|
|
25
|
+
attribute float aGroup;
|
|
26
|
+
attribute vec3 aNormal;
|
|
27
|
+
#endif
|
|
28
|
+
attribute mat4 aTransform;
|
|
29
|
+
attribute float aInstance;
|
|
30
|
+
|
|
31
|
+
varying vec3 vNormal;
|
|
32
|
+
|
|
33
|
+
void main(){
|
|
34
|
+
#include assign_group
|
|
35
|
+
#include assign_marker_varying
|
|
36
|
+
#include assign_clipping_varying
|
|
37
|
+
#include assign_position
|
|
38
|
+
#include assign_color_varying
|
|
39
|
+
#include clip_instance
|
|
40
|
+
|
|
41
|
+
#ifdef dGeometryType_textureMesh
|
|
42
|
+
vec3 normal = readFromTexture(tNormal, VertexID, uGeoTexDim).xyz;
|
|
43
|
+
#else
|
|
44
|
+
vec3 normal = aNormal;
|
|
45
|
+
#endif
|
|
46
|
+
mat3 normalMatrix = transpose3(inverse3(mat3(modelView)));
|
|
47
|
+
vec3 transformedNormal = normalize(normalMatrix * normalize(normal));
|
|
48
|
+
#if defined(dFlipSided)
|
|
49
|
+
if (!uDoubleSided) { // TODO checking uDoubleSided should not be required, ASR
|
|
50
|
+
transformedNormal = -transformedNormal;
|
|
51
|
+
}
|
|
52
|
+
#endif
|
|
53
|
+
vNormal = transformedNormal;
|
|
54
|
+
}
|
|
55
55
|
`;
|
|
@@ -4,99 +4,99 @@
|
|
|
4
4
|
* @author Áron Samuel Kovács <aron.kovacs@mail.muni.cz>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
7
|
-
export const outlines_frag = `
|
|
8
|
-
precision highp float;
|
|
9
|
-
precision highp int;
|
|
10
|
-
precision highp sampler2D;
|
|
11
|
-
|
|
12
|
-
uniform sampler2D tDepthOpaque;
|
|
13
|
-
uniform sampler2D tDepthTransparent;
|
|
14
|
-
uniform vec2 uTexSize;
|
|
15
|
-
|
|
16
|
-
uniform float uNear;
|
|
17
|
-
uniform float uFar;
|
|
18
|
-
uniform mat4 uInvProjection;
|
|
19
|
-
|
|
20
|
-
uniform float uOutlineThreshold;
|
|
21
|
-
|
|
22
|
-
#include common
|
|
23
|
-
|
|
24
|
-
float getViewZ(const in float depth) {
|
|
25
|
-
#if dOrthographic == 1
|
|
26
|
-
return orthographicDepthToViewZ(depth, uNear, uFar);
|
|
27
|
-
#else
|
|
28
|
-
return perspectiveDepthToViewZ(depth, uNear, uFar);
|
|
29
|
-
#endif
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
float getDepthOpaque(const in vec2 coords) {
|
|
33
|
-
#ifdef depthTextureSupport
|
|
34
|
-
return texture2D(tDepthOpaque, coords).r;
|
|
35
|
-
#else
|
|
36
|
-
return unpackRGBAToDepth(texture2D(tDepthOpaque, coords));
|
|
37
|
-
#endif
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
float getDepthTransparent(const in vec2 coords) {
|
|
41
|
-
#ifdef dTransparentOutline
|
|
42
|
-
return unpackRGBAToDepth(texture2D(tDepthTransparent, coords));
|
|
43
|
-
#else
|
|
44
|
-
return 1.0;
|
|
45
|
-
#endif
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
bool isBackground(const in float depth) {
|
|
49
|
-
return depth == 1.0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
float getPixelSize(const in vec2 coords, const in float depth) {
|
|
53
|
-
vec3 viewPos0 = screenSpaceToViewSpace(vec3(coords, depth), uInvProjection);
|
|
54
|
-
vec3 viewPos1 = screenSpaceToViewSpace(vec3(coords + vec2(1.0, 0.0) / uTexSize, depth), uInvProjection);
|
|
55
|
-
return distance(viewPos0, viewPos1);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
void main(void) {
|
|
59
|
-
float backgroundViewZ = 2.0 * uFar;
|
|
60
|
-
|
|
61
|
-
vec2 coords = gl_FragCoord.xy / uTexSize;
|
|
62
|
-
vec2 invTexSize = 1.0 / uTexSize;
|
|
63
|
-
|
|
64
|
-
float selfDepthOpaque = getDepthOpaque(coords);
|
|
65
|
-
float selfViewZOpaque = isBackground(selfDepthOpaque) ? backgroundViewZ : getViewZ(selfDepthOpaque);
|
|
66
|
-
float pixelSizeOpaque = getPixelSize(coords, selfDepthOpaque) * uOutlineThreshold;
|
|
67
|
-
|
|
68
|
-
float selfDepthTransparent = getDepthTransparent(coords);
|
|
69
|
-
float selfViewZTransparent = isBackground(selfDepthTransparent) ? backgroundViewZ : getViewZ(selfDepthTransparent);
|
|
70
|
-
float pixelSizeTransparent = getPixelSize(coords, selfDepthTransparent) * uOutlineThreshold;
|
|
71
|
-
|
|
72
|
-
float outline = 1.0;
|
|
73
|
-
float bestDepth = 1.0;
|
|
74
|
-
float transparentFlag = 0.0;
|
|
75
|
-
|
|
76
|
-
for (int y = -1; y <= 1; y++) {
|
|
77
|
-
for (int x = -1; x <= 1; x++) {
|
|
78
|
-
vec2 sampleCoords = coords + vec2(float(x), float(y)) * invTexSize;
|
|
79
|
-
|
|
80
|
-
float sampleDepthOpaque = getDepthOpaque(sampleCoords);
|
|
81
|
-
float sampleDepthTransparent = getDepthTransparent(sampleCoords);
|
|
82
|
-
|
|
83
|
-
float sampleViewZOpaque = isBackground(sampleDepthOpaque) ? backgroundViewZ : getViewZ(sampleDepthOpaque);
|
|
84
|
-
if (abs(selfViewZOpaque - sampleViewZOpaque) > pixelSizeOpaque && selfDepthOpaque > sampleDepthOpaque && sampleDepthOpaque <= bestDepth) {
|
|
85
|
-
outline = 0.0;
|
|
86
|
-
bestDepth = sampleDepthOpaque;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (sampleDepthTransparent < sampleDepthOpaque) {
|
|
90
|
-
float sampleViewZTransparent = isBackground(sampleDepthTransparent) ? backgroundViewZ : getViewZ(sampleDepthTransparent);
|
|
91
|
-
if (abs(selfViewZTransparent - sampleViewZTransparent) > pixelSizeTransparent && selfDepthTransparent > sampleDepthTransparent && sampleDepthTransparent <= bestDepth) {
|
|
92
|
-
outline = 0.0;
|
|
93
|
-
bestDepth = sampleDepthTransparent;
|
|
94
|
-
transparentFlag = 1.0;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
gl_FragColor = vec4(outline, packUnitIntervalToRG(bestDepth), transparentFlag);
|
|
101
|
-
}
|
|
7
|
+
export const outlines_frag = `
|
|
8
|
+
precision highp float;
|
|
9
|
+
precision highp int;
|
|
10
|
+
precision highp sampler2D;
|
|
11
|
+
|
|
12
|
+
uniform sampler2D tDepthOpaque;
|
|
13
|
+
uniform sampler2D tDepthTransparent;
|
|
14
|
+
uniform vec2 uTexSize;
|
|
15
|
+
|
|
16
|
+
uniform float uNear;
|
|
17
|
+
uniform float uFar;
|
|
18
|
+
uniform mat4 uInvProjection;
|
|
19
|
+
|
|
20
|
+
uniform float uOutlineThreshold;
|
|
21
|
+
|
|
22
|
+
#include common
|
|
23
|
+
|
|
24
|
+
float getViewZ(const in float depth) {
|
|
25
|
+
#if dOrthographic == 1
|
|
26
|
+
return orthographicDepthToViewZ(depth, uNear, uFar);
|
|
27
|
+
#else
|
|
28
|
+
return perspectiveDepthToViewZ(depth, uNear, uFar);
|
|
29
|
+
#endif
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
float getDepthOpaque(const in vec2 coords) {
|
|
33
|
+
#ifdef depthTextureSupport
|
|
34
|
+
return texture2D(tDepthOpaque, coords).r;
|
|
35
|
+
#else
|
|
36
|
+
return unpackRGBAToDepth(texture2D(tDepthOpaque, coords));
|
|
37
|
+
#endif
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
float getDepthTransparent(const in vec2 coords) {
|
|
41
|
+
#ifdef dTransparentOutline
|
|
42
|
+
return unpackRGBAToDepth(texture2D(tDepthTransparent, coords));
|
|
43
|
+
#else
|
|
44
|
+
return 1.0;
|
|
45
|
+
#endif
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
bool isBackground(const in float depth) {
|
|
49
|
+
return depth == 1.0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
float getPixelSize(const in vec2 coords, const in float depth) {
|
|
53
|
+
vec3 viewPos0 = screenSpaceToViewSpace(vec3(coords, depth), uInvProjection);
|
|
54
|
+
vec3 viewPos1 = screenSpaceToViewSpace(vec3(coords + vec2(1.0, 0.0) / uTexSize, depth), uInvProjection);
|
|
55
|
+
return distance(viewPos0, viewPos1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
void main(void) {
|
|
59
|
+
float backgroundViewZ = 2.0 * uFar;
|
|
60
|
+
|
|
61
|
+
vec2 coords = gl_FragCoord.xy / uTexSize;
|
|
62
|
+
vec2 invTexSize = 1.0 / uTexSize;
|
|
63
|
+
|
|
64
|
+
float selfDepthOpaque = getDepthOpaque(coords);
|
|
65
|
+
float selfViewZOpaque = isBackground(selfDepthOpaque) ? backgroundViewZ : getViewZ(selfDepthOpaque);
|
|
66
|
+
float pixelSizeOpaque = getPixelSize(coords, selfDepthOpaque) * uOutlineThreshold;
|
|
67
|
+
|
|
68
|
+
float selfDepthTransparent = getDepthTransparent(coords);
|
|
69
|
+
float selfViewZTransparent = isBackground(selfDepthTransparent) ? backgroundViewZ : getViewZ(selfDepthTransparent);
|
|
70
|
+
float pixelSizeTransparent = getPixelSize(coords, selfDepthTransparent) * uOutlineThreshold;
|
|
71
|
+
|
|
72
|
+
float outline = 1.0;
|
|
73
|
+
float bestDepth = 1.0;
|
|
74
|
+
float transparentFlag = 0.0;
|
|
75
|
+
|
|
76
|
+
for (int y = -1; y <= 1; y++) {
|
|
77
|
+
for (int x = -1; x <= 1; x++) {
|
|
78
|
+
vec2 sampleCoords = coords + vec2(float(x), float(y)) * invTexSize;
|
|
79
|
+
|
|
80
|
+
float sampleDepthOpaque = getDepthOpaque(sampleCoords);
|
|
81
|
+
float sampleDepthTransparent = getDepthTransparent(sampleCoords);
|
|
82
|
+
|
|
83
|
+
float sampleViewZOpaque = isBackground(sampleDepthOpaque) ? backgroundViewZ : getViewZ(sampleDepthOpaque);
|
|
84
|
+
if (abs(selfViewZOpaque - sampleViewZOpaque) > pixelSizeOpaque && selfDepthOpaque > sampleDepthOpaque && sampleDepthOpaque <= bestDepth) {
|
|
85
|
+
outline = 0.0;
|
|
86
|
+
bestDepth = sampleDepthOpaque;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (sampleDepthTransparent < sampleDepthOpaque) {
|
|
90
|
+
float sampleViewZTransparent = isBackground(sampleDepthTransparent) ? backgroundViewZ : getViewZ(sampleDepthTransparent);
|
|
91
|
+
if (abs(selfViewZTransparent - sampleViewZTransparent) > pixelSizeTransparent && selfDepthTransparent > sampleDepthTransparent && sampleDepthTransparent <= bestDepth) {
|
|
92
|
+
outline = 0.0;
|
|
93
|
+
bestDepth = sampleDepthTransparent;
|
|
94
|
+
transparentFlag = 1.0;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
gl_FragColor = vec4(outline, packUnitIntervalToRG(bestDepth), transparentFlag);
|
|
101
|
+
}
|
|
102
102
|
`;
|
|
@@ -3,63 +3,63 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
|
-
export const points_frag = `
|
|
7
|
-
precision highp float;
|
|
8
|
-
precision highp int;
|
|
9
|
-
|
|
10
|
-
#include common
|
|
11
|
-
#include common_frag_params
|
|
12
|
-
#include color_frag_params
|
|
13
|
-
#include common_clip
|
|
14
|
-
|
|
15
|
-
const vec2 center = vec2(0.5);
|
|
16
|
-
const float radius = 0.5;
|
|
17
|
-
|
|
18
|
-
void main(){
|
|
19
|
-
#include fade_lod
|
|
20
|
-
#include clip_pixel
|
|
21
|
-
|
|
22
|
-
float fragmentDepth = gl_FragCoord.z;
|
|
23
|
-
#include assign_material_color
|
|
24
|
-
|
|
25
|
-
#if defined(dPointStyle_circle)
|
|
26
|
-
float dist = distance(gl_PointCoord, center);
|
|
27
|
-
if (dist > radius) discard;
|
|
28
|
-
#elif defined(dPointStyle_fuzzy)
|
|
29
|
-
float dist = distance(gl_PointCoord, center);
|
|
30
|
-
float fuzzyAlpha = 1.0 - smoothstep(0.0, radius, dist);
|
|
31
|
-
if (fuzzyAlpha < 0.0001) discard;
|
|
32
|
-
#endif
|
|
33
|
-
|
|
34
|
-
#if defined(dPointStyle_fuzzy) && defined(dRenderVariant_color)
|
|
35
|
-
material.a *= fuzzyAlpha;
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
#include check_transparency
|
|
39
|
-
|
|
40
|
-
#if defined(dRenderVariant_pick)
|
|
41
|
-
#include check_picking_alpha
|
|
42
|
-
#ifdef requiredDrawBuffers
|
|
43
|
-
gl_FragColor = vObject;
|
|
44
|
-
gl_FragData[1] = vInstance;
|
|
45
|
-
gl_FragData[2] = vGroup;
|
|
46
|
-
gl_FragData[3] = packDepthToRGBA(fragmentDepth);
|
|
47
|
-
#else
|
|
48
|
-
gl_FragColor = vColor;
|
|
49
|
-
#endif
|
|
50
|
-
#elif defined(dRenderVariant_depth)
|
|
51
|
-
gl_FragColor = material;
|
|
52
|
-
#elif defined(dRenderVariant_marking)
|
|
53
|
-
gl_FragColor = material;
|
|
54
|
-
#elif defined(dRenderVariant_emissive)
|
|
55
|
-
gl_FragColor = material;
|
|
56
|
-
#elif defined(dRenderVariant_color)
|
|
57
|
-
gl_FragColor = material;
|
|
58
|
-
|
|
59
|
-
#include apply_marker_color
|
|
60
|
-
#include apply_fog
|
|
61
|
-
#include wboit_write
|
|
62
|
-
#include dpoit_write
|
|
63
|
-
#endif
|
|
64
|
-
}
|
|
6
|
+
export const points_frag = `
|
|
7
|
+
precision highp float;
|
|
8
|
+
precision highp int;
|
|
9
|
+
|
|
10
|
+
#include common
|
|
11
|
+
#include common_frag_params
|
|
12
|
+
#include color_frag_params
|
|
13
|
+
#include common_clip
|
|
14
|
+
|
|
15
|
+
const vec2 center = vec2(0.5);
|
|
16
|
+
const float radius = 0.5;
|
|
17
|
+
|
|
18
|
+
void main(){
|
|
19
|
+
#include fade_lod
|
|
20
|
+
#include clip_pixel
|
|
21
|
+
|
|
22
|
+
float fragmentDepth = gl_FragCoord.z;
|
|
23
|
+
#include assign_material_color
|
|
24
|
+
|
|
25
|
+
#if defined(dPointStyle_circle)
|
|
26
|
+
float dist = distance(gl_PointCoord, center);
|
|
27
|
+
if (dist > radius) discard;
|
|
28
|
+
#elif defined(dPointStyle_fuzzy)
|
|
29
|
+
float dist = distance(gl_PointCoord, center);
|
|
30
|
+
float fuzzyAlpha = 1.0 - smoothstep(0.0, radius, dist);
|
|
31
|
+
if (fuzzyAlpha < 0.0001) discard;
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#if defined(dPointStyle_fuzzy) && defined(dRenderVariant_color)
|
|
35
|
+
material.a *= fuzzyAlpha;
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#include check_transparency
|
|
39
|
+
|
|
40
|
+
#if defined(dRenderVariant_pick)
|
|
41
|
+
#include check_picking_alpha
|
|
42
|
+
#ifdef requiredDrawBuffers
|
|
43
|
+
gl_FragColor = vObject;
|
|
44
|
+
gl_FragData[1] = vInstance;
|
|
45
|
+
gl_FragData[2] = vGroup;
|
|
46
|
+
gl_FragData[3] = packDepthToRGBA(fragmentDepth);
|
|
47
|
+
#else
|
|
48
|
+
gl_FragColor = vColor;
|
|
49
|
+
#endif
|
|
50
|
+
#elif defined(dRenderVariant_depth)
|
|
51
|
+
gl_FragColor = material;
|
|
52
|
+
#elif defined(dRenderVariant_marking)
|
|
53
|
+
gl_FragColor = material;
|
|
54
|
+
#elif defined(dRenderVariant_emissive)
|
|
55
|
+
gl_FragColor = material;
|
|
56
|
+
#elif defined(dRenderVariant_color)
|
|
57
|
+
gl_FragColor = material;
|
|
58
|
+
|
|
59
|
+
#include apply_marker_color
|
|
60
|
+
#include apply_fog
|
|
61
|
+
#include wboit_write
|
|
62
|
+
#include dpoit_write
|
|
63
|
+
#endif
|
|
64
|
+
}
|
|
65
65
|
`;
|