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,238 +1,238 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.common = void 0;
|
|
4
|
-
exports.common = `
|
|
5
|
-
// TODO find a better place for these convenience defines
|
|
6
|
-
|
|
7
|
-
#if defined(dRenderVariant_colorBlended) || defined(dRenderVariant_colorWboit) || defined(dRenderVariant_colorDpoit)
|
|
8
|
-
#define dRenderVariant_color
|
|
9
|
-
#endif
|
|
10
|
-
|
|
11
|
-
#if defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance) || defined(dColorType_vertex) || defined(dColorType_vertexInstance)
|
|
12
|
-
#define dColorType_texture
|
|
13
|
-
#endif
|
|
14
|
-
|
|
15
|
-
#if defined(dColorType_volume) || defined(dColorType_volumeInstance)
|
|
16
|
-
#define dColorType_grid
|
|
17
|
-
#endif
|
|
18
|
-
|
|
19
|
-
#if defined(dColorType_attribute) || defined(dColorType_texture) || defined(dColorType_grid)
|
|
20
|
-
#define dColorType_varying
|
|
21
|
-
#endif
|
|
22
|
-
|
|
23
|
-
#if (defined(dRenderVariant_color) && defined(dColorMarker)) || defined(dRenderVariant_marking)
|
|
24
|
-
#define dNeedsMarker
|
|
25
|
-
#endif
|
|
26
|
-
|
|
27
|
-
#if defined(dXrayShaded_on) || defined(dXrayShaded_inverted)
|
|
28
|
-
#define dXrayShaded
|
|
29
|
-
#endif
|
|
30
|
-
|
|
31
|
-
#define MaskAll 0
|
|
32
|
-
#define MaskOpaque 1
|
|
33
|
-
#define MaskTransparent 2
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
#define PI 3.14159265
|
|
38
|
-
#define RECIPROCAL_PI 0.31830988618
|
|
39
|
-
#define EPSILON 1e-6
|
|
40
|
-
|
|
41
|
-
#define saturate(a) clamp(a, 0.0, 1.0)
|
|
42
|
-
|
|
43
|
-
#if __VERSION__ == 100
|
|
44
|
-
#define round(x) floor((x) + 0.5)
|
|
45
|
-
#endif
|
|
46
|
-
|
|
47
|
-
float intDiv(const in float a, const in float b) { return float(int(a) / int(b)); }
|
|
48
|
-
vec2 ivec2Div(const in vec2 a, const in vec2 b) { return vec2(ivec2(a) / ivec2(b)); }
|
|
49
|
-
float intMod(const in float a, const in float b) { return a - b * float(int(a) / int(b)); }
|
|
50
|
-
int imod(const in int a, const in int b) { return a - b * (a / b); }
|
|
51
|
-
|
|
52
|
-
float pow2(const in float x) { return x * x; }
|
|
53
|
-
|
|
54
|
-
vec3 packIntToRGB(in float value) {
|
|
55
|
-
value = clamp(round(value), 0.0, 16777216.0 - 1.0) + 1.0;
|
|
56
|
-
vec3 c = vec3(0.0);
|
|
57
|
-
c.b = mod(value, 256.0);
|
|
58
|
-
value = floor(value / 256.0);
|
|
59
|
-
c.g = mod(value, 256.0);
|
|
60
|
-
value = floor(value / 256.0);
|
|
61
|
-
c.r = mod(value, 256.0);
|
|
62
|
-
return c / 255.0;
|
|
63
|
-
}
|
|
64
|
-
float unpackRGBToInt(const in vec3 rgb) {
|
|
65
|
-
return (floor(rgb.r * 255.0 + 0.5) * 256.0 * 256.0 + floor(rgb.g * 255.0 + 0.5) * 256.0 + floor(rgb.b * 255.0 + 0.5)) - 1.0;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
vec2 packUnitIntervalToRG(const in float v) {
|
|
69
|
-
vec2 enc;
|
|
70
|
-
enc.xy = vec2(fract(v * 256.0), v);
|
|
71
|
-
enc.y -= enc.x * (1.0 / 256.0);
|
|
72
|
-
enc.xy *= 256.0 / 255.0;
|
|
73
|
-
|
|
74
|
-
return enc;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
float unpackRGToUnitInterval(const in vec2 enc) {
|
|
78
|
-
return dot(enc, vec2(255.0 / (256.0 * 256.0), 255.0 / 256.0));
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
vec3 screenSpaceToViewSpace(const in vec3 ssPos, const in mat4 invProjection) {
|
|
82
|
-
vec4 p = vec4(ssPos * 2.0 - 1.0, 1.0);
|
|
83
|
-
p = invProjection * p;
|
|
84
|
-
return p.xyz / p.w;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const float PackUpscale = 256.0 / 255.0; // fraction -> 0..1 (including 1)
|
|
88
|
-
const float UnpackDownscale = 255.0 / 256.0; // 0..1 -> fraction (excluding 1)
|
|
89
|
-
const vec3 PackFactors = vec3(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0);
|
|
90
|
-
const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.0);
|
|
91
|
-
const float ShiftRight8 = 1.0 / 256.0;
|
|
92
|
-
|
|
93
|
-
vec4 packDepthToRGBA(const in float v) {
|
|
94
|
-
vec4 r = vec4(fract(v * PackFactors), v);
|
|
95
|
-
r.yzw -= r.xyz * ShiftRight8; // tidy overflow
|
|
96
|
-
return r * PackUpscale;
|
|
97
|
-
}
|
|
98
|
-
float unpackRGBAToDepth(const in vec4 v) {
|
|
99
|
-
return dot(v, UnpackFactors);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
vec4 sRGBToLinear(const in vec4 c) {
|
|
103
|
-
return vec4(mix(pow(c.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), c.rgb * 0.0773993808, vec3(lessThanEqual(c.rgb, vec3(0.04045)))), c.a);
|
|
104
|
-
}
|
|
105
|
-
vec4 linearTosRGB(const in vec4 c) {
|
|
106
|
-
return vec4(mix(pow(c.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), c.rgb * 12.92, vec3(lessThanEqual(c.rgb, vec3(0.0031308)))), c.a);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
float linearizeDepth(const in float depth, const in float near, const in float far) {
|
|
110
|
-
return (2.0 * near) / (far + near - depth * (far - near));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
float perspectiveDepthToViewZ(const in float invClipZ, const in float near, const in float far) {
|
|
114
|
-
return (near * far) / ((far - near) * invClipZ - far);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
float orthographicDepthToViewZ(const in float linearClipZ, const in float near, const in float far) {
|
|
118
|
-
return linearClipZ * (near - far) - near;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
float depthToViewZ(const in float isOrtho, const in float linearClipZ, const in float near, const in float far) {
|
|
122
|
-
return isOrtho == 1.0 ? orthographicDepthToViewZ(linearClipZ, near, far) : perspectiveDepthToViewZ(linearClipZ, near, far);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
#if __VERSION__ == 100
|
|
126
|
-
// transpose
|
|
127
|
-
|
|
128
|
-
float transpose(const in float m) {
|
|
129
|
-
return m;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
mat2 transpose2(const in mat2 m) {
|
|
133
|
-
return mat2(
|
|
134
|
-
m[0][0], m[1][0],
|
|
135
|
-
m[0][1], m[1][1]
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
mat3 transpose3(const in mat3 m) {
|
|
140
|
-
return mat3(
|
|
141
|
-
m[0][0], m[1][0], m[2][0],
|
|
142
|
-
m[0][1], m[1][1], m[2][1],
|
|
143
|
-
m[0][2], m[1][2], m[2][2]
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
mat4 transpose4(const in mat4 m) {
|
|
148
|
-
return mat4(
|
|
149
|
-
m[0][0], m[1][0], m[2][0], m[3][0],
|
|
150
|
-
m[0][1], m[1][1], m[2][1], m[3][1],
|
|
151
|
-
m[0][2], m[1][2], m[2][2], m[3][2],
|
|
152
|
-
m[0][3], m[1][3], m[2][3], m[3][3]
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// inverse
|
|
157
|
-
|
|
158
|
-
float inverse(const in float m) {
|
|
159
|
-
return 1.0 / m;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
mat2 inverse2(const in mat2 m) {
|
|
163
|
-
return mat2(m[1][1],-m[0][1],
|
|
164
|
-
-m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
mat3 inverse3(const in mat3 m) {
|
|
168
|
-
float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];
|
|
169
|
-
float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];
|
|
170
|
-
float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];
|
|
171
|
-
|
|
172
|
-
float b01 = a22 * a11 - a12 * a21;
|
|
173
|
-
float b11 = -a22 * a10 + a12 * a20;
|
|
174
|
-
float b21 = a21 * a10 - a11 * a20;
|
|
175
|
-
|
|
176
|
-
float det = a00 * b01 + a01 * b11 + a02 * b21;
|
|
177
|
-
|
|
178
|
-
return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),
|
|
179
|
-
b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),
|
|
180
|
-
b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
mat4 inverse4(const in mat4 m) {
|
|
184
|
-
float
|
|
185
|
-
a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],
|
|
186
|
-
a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],
|
|
187
|
-
a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],
|
|
188
|
-
a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],
|
|
189
|
-
|
|
190
|
-
b00 = a00 * a11 - a01 * a10,
|
|
191
|
-
b01 = a00 * a12 - a02 * a10,
|
|
192
|
-
b02 = a00 * a13 - a03 * a10,
|
|
193
|
-
b03 = a01 * a12 - a02 * a11,
|
|
194
|
-
b04 = a01 * a13 - a03 * a11,
|
|
195
|
-
b05 = a02 * a13 - a03 * a12,
|
|
196
|
-
b06 = a20 * a31 - a21 * a30,
|
|
197
|
-
b07 = a20 * a32 - a22 * a30,
|
|
198
|
-
b08 = a20 * a33 - a23 * a30,
|
|
199
|
-
b09 = a21 * a32 - a22 * a31,
|
|
200
|
-
b10 = a21 * a33 - a23 * a31,
|
|
201
|
-
b11 = a22 * a33 - a23 * a32,
|
|
202
|
-
|
|
203
|
-
det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
|
|
204
|
-
|
|
205
|
-
return mat4(
|
|
206
|
-
a11 * b11 - a12 * b10 + a13 * b09,
|
|
207
|
-
a02 * b10 - a01 * b11 - a03 * b09,
|
|
208
|
-
a31 * b05 - a32 * b04 + a33 * b03,
|
|
209
|
-
a22 * b04 - a21 * b05 - a23 * b03,
|
|
210
|
-
a12 * b08 - a10 * b11 - a13 * b07,
|
|
211
|
-
a00 * b11 - a02 * b08 + a03 * b07,
|
|
212
|
-
a32 * b02 - a30 * b05 - a33 * b01,
|
|
213
|
-
a20 * b05 - a22 * b02 + a23 * b01,
|
|
214
|
-
a10 * b10 - a11 * b08 + a13 * b06,
|
|
215
|
-
a01 * b08 - a00 * b10 - a03 * b06,
|
|
216
|
-
a30 * b04 - a31 * b02 + a33 * b00,
|
|
217
|
-
a21 * b02 - a20 * b04 - a23 * b00,
|
|
218
|
-
a11 * b07 - a10 * b09 - a12 * b06,
|
|
219
|
-
a00 * b09 - a01 * b07 + a02 * b06,
|
|
220
|
-
a31 * b01 - a30 * b03 - a32 * b00,
|
|
221
|
-
a20 * b03 - a21 * b01 + a22 * b00) / det;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
#define isNaN(x) ((x) != (x))
|
|
225
|
-
#define isInf(x) ((x) == (x) + 1.0)
|
|
226
|
-
#else
|
|
227
|
-
#define transpose2(m) transpose(m)
|
|
228
|
-
#define transpose3(m) transpose(m)
|
|
229
|
-
#define transpose4(m) transpose(m)
|
|
230
|
-
|
|
231
|
-
#define inverse2(m) inverse(m)
|
|
232
|
-
#define inverse3(m) inverse(m)
|
|
233
|
-
#define inverse4(m) inverse(m)
|
|
234
|
-
|
|
235
|
-
#define isNaN isnan
|
|
236
|
-
#define isInf isinf
|
|
237
|
-
#endif
|
|
4
|
+
exports.common = `
|
|
5
|
+
// TODO find a better place for these convenience defines
|
|
6
|
+
|
|
7
|
+
#if defined(dRenderVariant_colorBlended) || defined(dRenderVariant_colorWboit) || defined(dRenderVariant_colorDpoit)
|
|
8
|
+
#define dRenderVariant_color
|
|
9
|
+
#endif
|
|
10
|
+
|
|
11
|
+
#if defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance) || defined(dColorType_vertex) || defined(dColorType_vertexInstance)
|
|
12
|
+
#define dColorType_texture
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
#if defined(dColorType_volume) || defined(dColorType_volumeInstance)
|
|
16
|
+
#define dColorType_grid
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if defined(dColorType_attribute) || defined(dColorType_texture) || defined(dColorType_grid)
|
|
20
|
+
#define dColorType_varying
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
#if (defined(dRenderVariant_color) && defined(dColorMarker)) || defined(dRenderVariant_marking)
|
|
24
|
+
#define dNeedsMarker
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#if defined(dXrayShaded_on) || defined(dXrayShaded_inverted)
|
|
28
|
+
#define dXrayShaded
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#define MaskAll 0
|
|
32
|
+
#define MaskOpaque 1
|
|
33
|
+
#define MaskTransparent 2
|
|
34
|
+
|
|
35
|
+
//
|
|
36
|
+
|
|
37
|
+
#define PI 3.14159265
|
|
38
|
+
#define RECIPROCAL_PI 0.31830988618
|
|
39
|
+
#define EPSILON 1e-6
|
|
40
|
+
|
|
41
|
+
#define saturate(a) clamp(a, 0.0, 1.0)
|
|
42
|
+
|
|
43
|
+
#if __VERSION__ == 100
|
|
44
|
+
#define round(x) floor((x) + 0.5)
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
float intDiv(const in float a, const in float b) { return float(int(a) / int(b)); }
|
|
48
|
+
vec2 ivec2Div(const in vec2 a, const in vec2 b) { return vec2(ivec2(a) / ivec2(b)); }
|
|
49
|
+
float intMod(const in float a, const in float b) { return a - b * float(int(a) / int(b)); }
|
|
50
|
+
int imod(const in int a, const in int b) { return a - b * (a / b); }
|
|
51
|
+
|
|
52
|
+
float pow2(const in float x) { return x * x; }
|
|
53
|
+
|
|
54
|
+
vec3 packIntToRGB(in float value) {
|
|
55
|
+
value = clamp(round(value), 0.0, 16777216.0 - 1.0) + 1.0;
|
|
56
|
+
vec3 c = vec3(0.0);
|
|
57
|
+
c.b = mod(value, 256.0);
|
|
58
|
+
value = floor(value / 256.0);
|
|
59
|
+
c.g = mod(value, 256.0);
|
|
60
|
+
value = floor(value / 256.0);
|
|
61
|
+
c.r = mod(value, 256.0);
|
|
62
|
+
return c / 255.0;
|
|
63
|
+
}
|
|
64
|
+
float unpackRGBToInt(const in vec3 rgb) {
|
|
65
|
+
return (floor(rgb.r * 255.0 + 0.5) * 256.0 * 256.0 + floor(rgb.g * 255.0 + 0.5) * 256.0 + floor(rgb.b * 255.0 + 0.5)) - 1.0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
vec2 packUnitIntervalToRG(const in float v) {
|
|
69
|
+
vec2 enc;
|
|
70
|
+
enc.xy = vec2(fract(v * 256.0), v);
|
|
71
|
+
enc.y -= enc.x * (1.0 / 256.0);
|
|
72
|
+
enc.xy *= 256.0 / 255.0;
|
|
73
|
+
|
|
74
|
+
return enc;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
float unpackRGToUnitInterval(const in vec2 enc) {
|
|
78
|
+
return dot(enc, vec2(255.0 / (256.0 * 256.0), 255.0 / 256.0));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
vec3 screenSpaceToViewSpace(const in vec3 ssPos, const in mat4 invProjection) {
|
|
82
|
+
vec4 p = vec4(ssPos * 2.0 - 1.0, 1.0);
|
|
83
|
+
p = invProjection * p;
|
|
84
|
+
return p.xyz / p.w;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const float PackUpscale = 256.0 / 255.0; // fraction -> 0..1 (including 1)
|
|
88
|
+
const float UnpackDownscale = 255.0 / 256.0; // 0..1 -> fraction (excluding 1)
|
|
89
|
+
const vec3 PackFactors = vec3(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0);
|
|
90
|
+
const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.0);
|
|
91
|
+
const float ShiftRight8 = 1.0 / 256.0;
|
|
92
|
+
|
|
93
|
+
vec4 packDepthToRGBA(const in float v) {
|
|
94
|
+
vec4 r = vec4(fract(v * PackFactors), v);
|
|
95
|
+
r.yzw -= r.xyz * ShiftRight8; // tidy overflow
|
|
96
|
+
return r * PackUpscale;
|
|
97
|
+
}
|
|
98
|
+
float unpackRGBAToDepth(const in vec4 v) {
|
|
99
|
+
return dot(v, UnpackFactors);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
vec4 sRGBToLinear(const in vec4 c) {
|
|
103
|
+
return vec4(mix(pow(c.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), c.rgb * 0.0773993808, vec3(lessThanEqual(c.rgb, vec3(0.04045)))), c.a);
|
|
104
|
+
}
|
|
105
|
+
vec4 linearTosRGB(const in vec4 c) {
|
|
106
|
+
return vec4(mix(pow(c.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), c.rgb * 12.92, vec3(lessThanEqual(c.rgb, vec3(0.0031308)))), c.a);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
float linearizeDepth(const in float depth, const in float near, const in float far) {
|
|
110
|
+
return (2.0 * near) / (far + near - depth * (far - near));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
float perspectiveDepthToViewZ(const in float invClipZ, const in float near, const in float far) {
|
|
114
|
+
return (near * far) / ((far - near) * invClipZ - far);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
float orthographicDepthToViewZ(const in float linearClipZ, const in float near, const in float far) {
|
|
118
|
+
return linearClipZ * (near - far) - near;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
float depthToViewZ(const in float isOrtho, const in float linearClipZ, const in float near, const in float far) {
|
|
122
|
+
return isOrtho == 1.0 ? orthographicDepthToViewZ(linearClipZ, near, far) : perspectiveDepthToViewZ(linearClipZ, near, far);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
#if __VERSION__ == 100
|
|
126
|
+
// transpose
|
|
127
|
+
|
|
128
|
+
float transpose(const in float m) {
|
|
129
|
+
return m;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
mat2 transpose2(const in mat2 m) {
|
|
133
|
+
return mat2(
|
|
134
|
+
m[0][0], m[1][0],
|
|
135
|
+
m[0][1], m[1][1]
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
mat3 transpose3(const in mat3 m) {
|
|
140
|
+
return mat3(
|
|
141
|
+
m[0][0], m[1][0], m[2][0],
|
|
142
|
+
m[0][1], m[1][1], m[2][1],
|
|
143
|
+
m[0][2], m[1][2], m[2][2]
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
mat4 transpose4(const in mat4 m) {
|
|
148
|
+
return mat4(
|
|
149
|
+
m[0][0], m[1][0], m[2][0], m[3][0],
|
|
150
|
+
m[0][1], m[1][1], m[2][1], m[3][1],
|
|
151
|
+
m[0][2], m[1][2], m[2][2], m[3][2],
|
|
152
|
+
m[0][3], m[1][3], m[2][3], m[3][3]
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// inverse
|
|
157
|
+
|
|
158
|
+
float inverse(const in float m) {
|
|
159
|
+
return 1.0 / m;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
mat2 inverse2(const in mat2 m) {
|
|
163
|
+
return mat2(m[1][1],-m[0][1],
|
|
164
|
+
-m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
mat3 inverse3(const in mat3 m) {
|
|
168
|
+
float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];
|
|
169
|
+
float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];
|
|
170
|
+
float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];
|
|
171
|
+
|
|
172
|
+
float b01 = a22 * a11 - a12 * a21;
|
|
173
|
+
float b11 = -a22 * a10 + a12 * a20;
|
|
174
|
+
float b21 = a21 * a10 - a11 * a20;
|
|
175
|
+
|
|
176
|
+
float det = a00 * b01 + a01 * b11 + a02 * b21;
|
|
177
|
+
|
|
178
|
+
return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),
|
|
179
|
+
b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),
|
|
180
|
+
b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
mat4 inverse4(const in mat4 m) {
|
|
184
|
+
float
|
|
185
|
+
a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],
|
|
186
|
+
a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],
|
|
187
|
+
a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],
|
|
188
|
+
a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],
|
|
189
|
+
|
|
190
|
+
b00 = a00 * a11 - a01 * a10,
|
|
191
|
+
b01 = a00 * a12 - a02 * a10,
|
|
192
|
+
b02 = a00 * a13 - a03 * a10,
|
|
193
|
+
b03 = a01 * a12 - a02 * a11,
|
|
194
|
+
b04 = a01 * a13 - a03 * a11,
|
|
195
|
+
b05 = a02 * a13 - a03 * a12,
|
|
196
|
+
b06 = a20 * a31 - a21 * a30,
|
|
197
|
+
b07 = a20 * a32 - a22 * a30,
|
|
198
|
+
b08 = a20 * a33 - a23 * a30,
|
|
199
|
+
b09 = a21 * a32 - a22 * a31,
|
|
200
|
+
b10 = a21 * a33 - a23 * a31,
|
|
201
|
+
b11 = a22 * a33 - a23 * a32,
|
|
202
|
+
|
|
203
|
+
det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
|
|
204
|
+
|
|
205
|
+
return mat4(
|
|
206
|
+
a11 * b11 - a12 * b10 + a13 * b09,
|
|
207
|
+
a02 * b10 - a01 * b11 - a03 * b09,
|
|
208
|
+
a31 * b05 - a32 * b04 + a33 * b03,
|
|
209
|
+
a22 * b04 - a21 * b05 - a23 * b03,
|
|
210
|
+
a12 * b08 - a10 * b11 - a13 * b07,
|
|
211
|
+
a00 * b11 - a02 * b08 + a03 * b07,
|
|
212
|
+
a32 * b02 - a30 * b05 - a33 * b01,
|
|
213
|
+
a20 * b05 - a22 * b02 + a23 * b01,
|
|
214
|
+
a10 * b10 - a11 * b08 + a13 * b06,
|
|
215
|
+
a01 * b08 - a00 * b10 - a03 * b06,
|
|
216
|
+
a30 * b04 - a31 * b02 + a33 * b00,
|
|
217
|
+
a21 * b02 - a20 * b04 - a23 * b00,
|
|
218
|
+
a11 * b07 - a10 * b09 - a12 * b06,
|
|
219
|
+
a00 * b09 - a01 * b07 + a02 * b06,
|
|
220
|
+
a31 * b01 - a30 * b03 - a32 * b00,
|
|
221
|
+
a20 * b03 - a21 * b01 + a22 * b00) / det;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
#define isNaN(x) ((x) != (x))
|
|
225
|
+
#define isInf(x) ((x) == (x) + 1.0)
|
|
226
|
+
#else
|
|
227
|
+
#define transpose2(m) transpose(m)
|
|
228
|
+
#define transpose3(m) transpose(m)
|
|
229
|
+
#define transpose4(m) transpose(m)
|
|
230
|
+
|
|
231
|
+
#define inverse2(m) inverse(m)
|
|
232
|
+
#define inverse3(m) inverse(m)
|
|
233
|
+
#define inverse4(m) inverse(m)
|
|
234
|
+
|
|
235
|
+
#define isNaN isnan
|
|
236
|
+
#define isInf isinf
|
|
237
|
+
#endif
|
|
238
238
|
`;
|
|
@@ -6,66 +6,66 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.dpoit_write = void 0;
|
|
9
|
-
exports.dpoit_write = `
|
|
10
|
-
#if defined(dRenderVariant_colorDpoit)
|
|
11
|
-
if (uRenderMask == MaskOpaque) {
|
|
12
|
-
if (preFogAlpha < 1.0) {
|
|
13
|
-
discard;
|
|
14
|
-
}
|
|
15
|
-
} else if (uRenderMask == MaskTransparent) {
|
|
16
|
-
vec2 coords = gl_FragCoord.xy / uDrawingBufferSize;
|
|
17
|
-
if (preFogAlpha != 1.0 && fragmentDepth < getDepth(coords)) {
|
|
18
|
-
#ifdef dTransparentBackfaces_off
|
|
19
|
-
if (interior) discard;
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
// adapted from https://github.com/tsherif/webgl2examples
|
|
23
|
-
// The MIT License, Copyright 2017 Tarek Sherif, Shuai Shao
|
|
24
|
-
|
|
25
|
-
vec2 lastDepth = texture2D(tDpoitDepth, coords).rg;
|
|
26
|
-
vec4 lastFrontColor = texture2D(tDpoitFrontColor, coords);
|
|
27
|
-
|
|
28
|
-
vec4 fragColor = gl_FragColor;
|
|
29
|
-
|
|
30
|
-
// depth value always increases
|
|
31
|
-
// so we can use MAX blend equation
|
|
32
|
-
gl_FragData[2].rg = vec2(-MAX_DPOIT_DEPTH);
|
|
33
|
-
|
|
34
|
-
// front color always increases
|
|
35
|
-
// so we can use MAX blend equation
|
|
36
|
-
gl_FragColor = lastFrontColor;
|
|
37
|
-
|
|
38
|
-
// back color is separately blend afterwards each pass
|
|
39
|
-
gl_FragData[1] = vec4(0.0);
|
|
40
|
-
|
|
41
|
-
float nearestDepth = -lastDepth.x;
|
|
42
|
-
float furthestDepth = lastDepth.y;
|
|
43
|
-
float alphaMultiplier = 1.0 - lastFrontColor.a;
|
|
44
|
-
|
|
45
|
-
if (fragmentDepth < nearestDepth || fragmentDepth > furthestDepth) {
|
|
46
|
-
// Skip this depth since it's been peeled.
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (fragmentDepth > nearestDepth && fragmentDepth < furthestDepth) {
|
|
51
|
-
// This needs to be peeled.
|
|
52
|
-
// The ones remaining after MAX blended for
|
|
53
|
-
// all need-to-peel will be peeled next pass.
|
|
54
|
-
gl_FragData[2].rg = vec2(-fragmentDepth, fragmentDepth);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// write to back and front color buffer
|
|
59
|
-
if (fragmentDepth == nearestDepth) {
|
|
60
|
-
gl_FragColor.rgb += fragColor.rgb * fragColor.a * alphaMultiplier;
|
|
61
|
-
gl_FragColor.a = 1.0 - alphaMultiplier * (1.0 - fragColor.a);
|
|
62
|
-
} else {
|
|
63
|
-
gl_FragData[1] += fragColor;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
} else {
|
|
67
|
-
discard;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
#endif
|
|
9
|
+
exports.dpoit_write = `
|
|
10
|
+
#if defined(dRenderVariant_colorDpoit)
|
|
11
|
+
if (uRenderMask == MaskOpaque) {
|
|
12
|
+
if (preFogAlpha < 1.0) {
|
|
13
|
+
discard;
|
|
14
|
+
}
|
|
15
|
+
} else if (uRenderMask == MaskTransparent) {
|
|
16
|
+
vec2 coords = gl_FragCoord.xy / uDrawingBufferSize;
|
|
17
|
+
if (preFogAlpha != 1.0 && fragmentDepth < getDepth(coords)) {
|
|
18
|
+
#ifdef dTransparentBackfaces_off
|
|
19
|
+
if (interior) discard;
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
// adapted from https://github.com/tsherif/webgl2examples
|
|
23
|
+
// The MIT License, Copyright 2017 Tarek Sherif, Shuai Shao
|
|
24
|
+
|
|
25
|
+
vec2 lastDepth = texture2D(tDpoitDepth, coords).rg;
|
|
26
|
+
vec4 lastFrontColor = texture2D(tDpoitFrontColor, coords);
|
|
27
|
+
|
|
28
|
+
vec4 fragColor = gl_FragColor;
|
|
29
|
+
|
|
30
|
+
// depth value always increases
|
|
31
|
+
// so we can use MAX blend equation
|
|
32
|
+
gl_FragData[2].rg = vec2(-MAX_DPOIT_DEPTH);
|
|
33
|
+
|
|
34
|
+
// front color always increases
|
|
35
|
+
// so we can use MAX blend equation
|
|
36
|
+
gl_FragColor = lastFrontColor;
|
|
37
|
+
|
|
38
|
+
// back color is separately blend afterwards each pass
|
|
39
|
+
gl_FragData[1] = vec4(0.0);
|
|
40
|
+
|
|
41
|
+
float nearestDepth = -lastDepth.x;
|
|
42
|
+
float furthestDepth = lastDepth.y;
|
|
43
|
+
float alphaMultiplier = 1.0 - lastFrontColor.a;
|
|
44
|
+
|
|
45
|
+
if (fragmentDepth < nearestDepth || fragmentDepth > furthestDepth) {
|
|
46
|
+
// Skip this depth since it's been peeled.
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (fragmentDepth > nearestDepth && fragmentDepth < furthestDepth) {
|
|
51
|
+
// This needs to be peeled.
|
|
52
|
+
// The ones remaining after MAX blended for
|
|
53
|
+
// all need-to-peel will be peeled next pass.
|
|
54
|
+
gl_FragData[2].rg = vec2(-fragmentDepth, fragmentDepth);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// write to back and front color buffer
|
|
59
|
+
if (fragmentDepth == nearestDepth) {
|
|
60
|
+
gl_FragColor.rgb += fragColor.rgb * fragColor.a * alphaMultiplier;
|
|
61
|
+
gl_FragColor.a = 1.0 - alphaMultiplier * (1.0 - fragColor.a);
|
|
62
|
+
} else {
|
|
63
|
+
gl_FragData[1] += fragColor;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
} else {
|
|
67
|
+
discard;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
#endif
|
|
71
71
|
`;
|