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
|
@@ -6,81 +6,81 @@
|
|
|
6
6
|
* adapted from three.js (https://github.com/mrdoob/three.js/)
|
|
7
7
|
* which under the MIT License, Copyright © 2010-2021 three.js authors
|
|
8
8
|
*/
|
|
9
|
-
export const apply_light_color = `
|
|
10
|
-
#if defined(dIgnoreLight)
|
|
11
|
-
#ifdef bumpEnabled
|
|
12
|
-
if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0 && bumpiness > 0.0) {
|
|
13
|
-
material.rgb += fbm(vModelPosition * uBumpFrequency) * uBumpAmplitude * bumpiness;
|
|
14
|
-
material.rgb -= 0.5 * uBumpAmplitude * bumpiness;
|
|
15
|
-
}
|
|
16
|
-
#endif
|
|
17
|
-
|
|
18
|
-
#if defined(dRenderVariant_color)
|
|
19
|
-
material.rgb += material.rgb * emissive;
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
gl_FragColor = material;
|
|
23
|
-
#else
|
|
24
|
-
#ifdef bumpEnabled
|
|
25
|
-
if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0 && bumpiness > 0.0) {
|
|
26
|
-
normal = perturbNormal(-vViewPosition, normal, fbm(vModelPosition * uBumpFrequency), (uBumpAmplitude * bumpiness) / uBumpFrequency);
|
|
27
|
-
}
|
|
28
|
-
#endif
|
|
29
|
-
|
|
30
|
-
vec4 color = material;
|
|
31
|
-
|
|
32
|
-
ReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));
|
|
33
|
-
|
|
34
|
-
PhysicalMaterial physicalMaterial;
|
|
35
|
-
physicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);
|
|
36
|
-
#ifdef enabledFragDepth
|
|
37
|
-
physicalMaterial.roughness = min(max(roughness, 0.0525), 1.0);
|
|
38
|
-
#else
|
|
39
|
-
vec3 dxy = max(abs(dFdx(normal)), abs(dFdy(normal)));
|
|
40
|
-
float geometryRoughness = max(max(dxy.x, dxy.y), dxy.z);
|
|
41
|
-
physicalMaterial.roughness = min(max(roughness, 0.0525) + geometryRoughness, 1.0);
|
|
42
|
-
#endif
|
|
43
|
-
physicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);
|
|
44
|
-
physicalMaterial.specularF90 = 1.0;
|
|
45
|
-
|
|
46
|
-
GeometricContext geometry;
|
|
47
|
-
geometry.position = -vViewPosition;
|
|
48
|
-
geometry.normal = normal;
|
|
49
|
-
geometry.viewDir = normalize(vViewPosition);
|
|
50
|
-
|
|
51
|
-
IncidentLight directLight;
|
|
52
|
-
#pragma unroll_loop_start
|
|
53
|
-
for (int i = 0; i < dLightCount; ++i) {
|
|
54
|
-
directLight.direction = uLightDirection[i];
|
|
55
|
-
directLight.color = uLightColor[i] * PI; // * PI for punctual light
|
|
56
|
-
RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);
|
|
57
|
-
}
|
|
58
|
-
#pragma unroll_loop_end
|
|
59
|
-
|
|
60
|
-
vec3 irradiance = uAmbientColor * PI; // * PI for punctual light
|
|
61
|
-
RE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);
|
|
62
|
-
|
|
63
|
-
// indirect specular only metals
|
|
64
|
-
vec3 radiance = uAmbientColor * metalness;
|
|
65
|
-
vec3 iblIrradiance = uAmbientColor * metalness;
|
|
66
|
-
vec3 clearcoatRadiance = vec3(0.0);
|
|
67
|
-
RE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);
|
|
68
|
-
|
|
69
|
-
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;
|
|
70
|
-
outgoingLight = clamp(outgoingLight, 0.01, 0.99); // prevents black artifacts on specular highlight with transparent background
|
|
71
|
-
|
|
72
|
-
#if defined(dRenderVariant_color)
|
|
73
|
-
outgoingLight += color.rgb * emissive;
|
|
74
|
-
#endif
|
|
75
|
-
|
|
76
|
-
gl_FragColor = vec4(outgoingLight, color.a);
|
|
77
|
-
#endif
|
|
78
|
-
|
|
79
|
-
#if defined(dXrayShaded_on)
|
|
80
|
-
gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);
|
|
81
|
-
#elif defined(dXrayShaded_inverted)
|
|
82
|
-
gl_FragColor.a *= pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);
|
|
83
|
-
#endif
|
|
84
|
-
|
|
85
|
-
gl_FragColor.rgb *= uExposure;
|
|
9
|
+
export const apply_light_color = `
|
|
10
|
+
#if defined(dIgnoreLight)
|
|
11
|
+
#ifdef bumpEnabled
|
|
12
|
+
if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0 && bumpiness > 0.0) {
|
|
13
|
+
material.rgb += fbm(vModelPosition * uBumpFrequency) * uBumpAmplitude * bumpiness;
|
|
14
|
+
material.rgb -= 0.5 * uBumpAmplitude * bumpiness;
|
|
15
|
+
}
|
|
16
|
+
#endif
|
|
17
|
+
|
|
18
|
+
#if defined(dRenderVariant_color)
|
|
19
|
+
material.rgb += material.rgb * emissive;
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
gl_FragColor = material;
|
|
23
|
+
#else
|
|
24
|
+
#ifdef bumpEnabled
|
|
25
|
+
if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0 && bumpiness > 0.0) {
|
|
26
|
+
normal = perturbNormal(-vViewPosition, normal, fbm(vModelPosition * uBumpFrequency), (uBumpAmplitude * bumpiness) / uBumpFrequency);
|
|
27
|
+
}
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
vec4 color = material;
|
|
31
|
+
|
|
32
|
+
ReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));
|
|
33
|
+
|
|
34
|
+
PhysicalMaterial physicalMaterial;
|
|
35
|
+
physicalMaterial.diffuseColor = color.rgb * (1.0 - metalness);
|
|
36
|
+
#ifdef enabledFragDepth
|
|
37
|
+
physicalMaterial.roughness = min(max(roughness, 0.0525), 1.0);
|
|
38
|
+
#else
|
|
39
|
+
vec3 dxy = max(abs(dFdx(normal)), abs(dFdy(normal)));
|
|
40
|
+
float geometryRoughness = max(max(dxy.x, dxy.y), dxy.z);
|
|
41
|
+
physicalMaterial.roughness = min(max(roughness, 0.0525) + geometryRoughness, 1.0);
|
|
42
|
+
#endif
|
|
43
|
+
physicalMaterial.specularColor = mix(vec3(0.04), color.rgb, metalness);
|
|
44
|
+
physicalMaterial.specularF90 = 1.0;
|
|
45
|
+
|
|
46
|
+
GeometricContext geometry;
|
|
47
|
+
geometry.position = -vViewPosition;
|
|
48
|
+
geometry.normal = normal;
|
|
49
|
+
geometry.viewDir = normalize(vViewPosition);
|
|
50
|
+
|
|
51
|
+
IncidentLight directLight;
|
|
52
|
+
#pragma unroll_loop_start
|
|
53
|
+
for (int i = 0; i < dLightCount; ++i) {
|
|
54
|
+
directLight.direction = uLightDirection[i];
|
|
55
|
+
directLight.color = uLightColor[i] * PI; // * PI for punctual light
|
|
56
|
+
RE_Direct_Physical(directLight, geometry, physicalMaterial, reflectedLight);
|
|
57
|
+
}
|
|
58
|
+
#pragma unroll_loop_end
|
|
59
|
+
|
|
60
|
+
vec3 irradiance = uAmbientColor * PI; // * PI for punctual light
|
|
61
|
+
RE_IndirectDiffuse_Physical(irradiance, geometry, physicalMaterial, reflectedLight);
|
|
62
|
+
|
|
63
|
+
// indirect specular only metals
|
|
64
|
+
vec3 radiance = uAmbientColor * metalness;
|
|
65
|
+
vec3 iblIrradiance = uAmbientColor * metalness;
|
|
66
|
+
vec3 clearcoatRadiance = vec3(0.0);
|
|
67
|
+
RE_IndirectSpecular_Physical(radiance, iblIrradiance, clearcoatRadiance, geometry, physicalMaterial, reflectedLight);
|
|
68
|
+
|
|
69
|
+
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular;
|
|
70
|
+
outgoingLight = clamp(outgoingLight, 0.01, 0.99); // prevents black artifacts on specular highlight with transparent background
|
|
71
|
+
|
|
72
|
+
#if defined(dRenderVariant_color)
|
|
73
|
+
outgoingLight += color.rgb * emissive;
|
|
74
|
+
#endif
|
|
75
|
+
|
|
76
|
+
gl_FragColor = vec4(outgoingLight, color.a);
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
#if defined(dXrayShaded_on)
|
|
80
|
+
gl_FragColor.a *= 1.0 - pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);
|
|
81
|
+
#elif defined(dXrayShaded_inverted)
|
|
82
|
+
gl_FragColor.a *= pow(abs(dot(normal, vec3(0.0, 0.0, 1.0))), uXrayEdgeFalloff);
|
|
83
|
+
#endif
|
|
84
|
+
|
|
85
|
+
gl_FragColor.rgb *= uExposure;
|
|
86
86
|
`;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export const apply_marker_color = `
|
|
2
|
-
|
|
3
|
-
#if defined(dColorMarker)
|
|
4
|
-
if (marker > 0.0) {
|
|
5
|
-
if ((uMarkerPriority == 1 && marker != 2.0) || (uMarkerPriority != 1 && marker == 1.0)) {
|
|
6
|
-
gl_FragColor.rgb = mix(gl_FragColor.rgb, uHighlightColor, uHighlightStrength);
|
|
7
|
-
gl_FragColor.a = max(gl_FragColor.a, uHighlightStrength * 0.002); // for direct-volume rendering
|
|
8
|
-
} else {
|
|
9
|
-
gl_FragColor.rgb = mix(gl_FragColor.rgb, uSelectColor, uSelectStrength);
|
|
10
|
-
gl_FragColor.a = max(gl_FragColor.a, uSelectStrength * 0.002); // for direct-volume rendering
|
|
11
|
-
}
|
|
12
|
-
} else if (uMarkerAverage > 0.0) {
|
|
13
|
-
gl_FragColor.rgb = mix(gl_FragColor.rgb, uDimColor, uDimStrength);
|
|
14
|
-
gl_FragColor.a = max(gl_FragColor.a, uDimStrength * 0.002); // for direct-volume rendering
|
|
15
|
-
}
|
|
16
|
-
#endif
|
|
1
|
+
export const apply_marker_color = `
|
|
2
|
+
|
|
3
|
+
#if defined(dColorMarker)
|
|
4
|
+
if (marker > 0.0) {
|
|
5
|
+
if ((uMarkerPriority == 1 && marker != 2.0) || (uMarkerPriority != 1 && marker == 1.0)) {
|
|
6
|
+
gl_FragColor.rgb = mix(gl_FragColor.rgb, uHighlightColor, uHighlightStrength);
|
|
7
|
+
gl_FragColor.a = max(gl_FragColor.a, uHighlightStrength * 0.002); // for direct-volume rendering
|
|
8
|
+
} else {
|
|
9
|
+
gl_FragColor.rgb = mix(gl_FragColor.rgb, uSelectColor, uSelectStrength);
|
|
10
|
+
gl_FragColor.a = max(gl_FragColor.a, uSelectStrength * 0.002); // for direct-volume rendering
|
|
11
|
+
}
|
|
12
|
+
} else if (uMarkerAverage > 0.0) {
|
|
13
|
+
gl_FragColor.rgb = mix(gl_FragColor.rgb, uDimColor, uDimStrength);
|
|
14
|
+
gl_FragColor.a = max(gl_FragColor.a, uDimStrength * 0.002); // for direct-volume rendering
|
|
15
|
+
}
|
|
16
|
+
#endif
|
|
17
17
|
`;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export const assign_clipping_varying = `
|
|
2
|
-
#if dClipObjectCount != 0 && defined(dClipping)
|
|
3
|
-
#if defined(dClippingType_instance)
|
|
4
|
-
vClipping = readFromTexture(tClipping, aInstance, uClippingTexDim).a;
|
|
5
|
-
#elif defined(dMarkerType_groupInstance)
|
|
6
|
-
vClipping = readFromTexture(tClipping, aInstance * float(uGroupCount) + group, uClippingTexDim).a;
|
|
7
|
-
#endif
|
|
8
|
-
#endif
|
|
1
|
+
export const assign_clipping_varying = `
|
|
2
|
+
#if dClipObjectCount != 0 && defined(dClipping)
|
|
3
|
+
#if defined(dClippingType_instance)
|
|
4
|
+
vClipping = readFromTexture(tClipping, aInstance, uClippingTexDim).a;
|
|
5
|
+
#elif defined(dMarkerType_groupInstance)
|
|
6
|
+
vClipping = readFromTexture(tClipping, aInstance * float(uGroupCount) + group, uClippingTexDim).a;
|
|
7
|
+
#endif
|
|
8
|
+
#endif
|
|
9
9
|
`;
|
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
export const assign_color_varying = `
|
|
2
|
-
#if defined(dRenderVariant_color)
|
|
3
|
-
#if defined(dColorType_attribute)
|
|
4
|
-
vColor.rgb = aColor;
|
|
5
|
-
#elif defined(dColorType_instance)
|
|
6
|
-
vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;
|
|
7
|
-
#elif defined(dColorType_group)
|
|
8
|
-
#if defined(dDualColor)
|
|
9
|
-
vec4 color2;
|
|
10
|
-
if (aColorMode == 2.0) {
|
|
11
|
-
vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
|
|
12
|
-
} else {
|
|
13
|
-
vColor.rgb = readFromTexture(tColor, group * 2.0, uColorTexDim).rgb;
|
|
14
|
-
color2.rgb = readFromTexture(tColor, group * 2.0 + 1.0, uColorTexDim).rgb;
|
|
15
|
-
}
|
|
16
|
-
#else
|
|
17
|
-
vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
|
|
18
|
-
#endif
|
|
19
|
-
#elif defined(dColorType_groupInstance)
|
|
20
|
-
#if defined(dDualColor)
|
|
21
|
-
vec4 color2;
|
|
22
|
-
if (aColorMode == 2.0) {
|
|
23
|
-
vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
|
|
24
|
-
} else {
|
|
25
|
-
vColor.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0, uColorTexDim).rgb;
|
|
26
|
-
color2.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0 + 1.0, uColorTexDim).rgb;
|
|
27
|
-
}
|
|
28
|
-
#else
|
|
29
|
-
vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
|
|
30
|
-
#endif
|
|
31
|
-
#elif defined(dColorType_vertex)
|
|
32
|
-
vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;
|
|
33
|
-
#elif defined(dColorType_vertexInstance)
|
|
34
|
-
vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;
|
|
35
|
-
#elif defined(dColorType_volume)
|
|
36
|
-
vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;
|
|
37
|
-
vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
|
|
38
|
-
#elif defined(dColorType_volumeInstance)
|
|
39
|
-
vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;
|
|
40
|
-
vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
|
|
41
|
-
#endif
|
|
42
|
-
|
|
43
|
-
#ifdef dUsePalette
|
|
44
|
-
vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;
|
|
45
|
-
#endif
|
|
46
|
-
|
|
47
|
-
#ifdef dOverpaint
|
|
48
|
-
#if defined(dOverpaintType_instance)
|
|
49
|
-
vOverpaint = readFromTexture(tOverpaint, aInstance, uOverpaintTexDim);
|
|
50
|
-
#elif defined(dOverpaintType_groupInstance)
|
|
51
|
-
vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);
|
|
52
|
-
#elif defined(dOverpaintType_vertexInstance)
|
|
53
|
-
vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);
|
|
54
|
-
#elif defined(dOverpaintType_volumeInstance)
|
|
55
|
-
vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;
|
|
56
|
-
vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);
|
|
57
|
-
#endif
|
|
58
|
-
|
|
59
|
-
// pre-mix to avoid darkening due to empty overpaint
|
|
60
|
-
#ifdef dColorType_uniform
|
|
61
|
-
vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);
|
|
62
|
-
#else
|
|
63
|
-
vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);
|
|
64
|
-
#endif
|
|
65
|
-
vOverpaint *= uOverpaintStrength;
|
|
66
|
-
#endif
|
|
67
|
-
|
|
68
|
-
#ifdef dEmissive
|
|
69
|
-
#if defined(dEmissiveType_instance)
|
|
70
|
-
vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
|
|
71
|
-
#elif defined(dEmissiveType_groupInstance)
|
|
72
|
-
vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
|
|
73
|
-
#elif defined(dEmissiveType_vertexInstance)
|
|
74
|
-
vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
|
|
75
|
-
#elif defined(dEmissiveType_volumeInstance)
|
|
76
|
-
vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
|
|
77
|
-
vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
|
|
78
|
-
#endif
|
|
79
|
-
vEmissive *= uEmissiveStrength;
|
|
80
|
-
#endif
|
|
81
|
-
|
|
82
|
-
#ifdef dSubstance
|
|
83
|
-
#if defined(dSubstanceType_instance)
|
|
84
|
-
vSubstance = readFromTexture(tSubstance, aInstance, uSubstanceTexDim);
|
|
85
|
-
#elif defined(dSubstanceType_groupInstance)
|
|
86
|
-
vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);
|
|
87
|
-
#elif defined(dSubstanceType_vertexInstance)
|
|
88
|
-
vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);
|
|
89
|
-
#elif defined(dSubstanceType_volumeInstance)
|
|
90
|
-
vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;
|
|
91
|
-
vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);
|
|
92
|
-
#endif
|
|
93
|
-
|
|
94
|
-
// pre-mix to avoid artifacts due to empty substance
|
|
95
|
-
vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);
|
|
96
|
-
vSubstance *= uSubstanceStrength;
|
|
97
|
-
#endif
|
|
98
|
-
#elif defined(dRenderVariant_emissive)
|
|
99
|
-
#ifdef dEmissive
|
|
100
|
-
#if defined(dEmissiveType_instance)
|
|
101
|
-
vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
|
|
102
|
-
#elif defined(dEmissiveType_groupInstance)
|
|
103
|
-
vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
|
|
104
|
-
#elif defined(dEmissiveType_vertexInstance)
|
|
105
|
-
vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
|
|
106
|
-
#elif defined(dEmissiveType_volumeInstance)
|
|
107
|
-
vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
|
|
108
|
-
vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
|
|
109
|
-
#endif
|
|
110
|
-
vEmissive *= uEmissiveStrength;
|
|
111
|
-
#endif
|
|
112
|
-
#elif defined(dRenderVariant_pick)
|
|
113
|
-
#ifdef requiredDrawBuffers
|
|
114
|
-
vObject = vec4(packIntToRGB(float(uObjectId)), 1.0);
|
|
115
|
-
vInstance = vec4(packIntToRGB(aInstance), 1.0);
|
|
116
|
-
vGroup = vec4(packIntToRGB(group), 1.0);
|
|
117
|
-
#else
|
|
118
|
-
if (uPickType == 1) {
|
|
119
|
-
vColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
|
|
120
|
-
} else if (uPickType == 2) {
|
|
121
|
-
vColor = vec4(packIntToRGB(aInstance), 1.0);
|
|
122
|
-
} else {
|
|
123
|
-
vColor = vec4(packIntToRGB(group), 1.0);
|
|
124
|
-
}
|
|
125
|
-
#endif
|
|
126
|
-
#endif
|
|
127
|
-
|
|
128
|
-
#ifdef dTransparency
|
|
129
|
-
#if defined(dTransparencyType_instance)
|
|
130
|
-
vTransparency = readFromTexture(tTransparency, aInstance, uTransparencyTexDim).a;
|
|
131
|
-
#elif defined(dTransparencyType_groupInstance)
|
|
132
|
-
vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;
|
|
133
|
-
#elif defined(dTransparencyType_vertexInstance)
|
|
134
|
-
vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;
|
|
135
|
-
#elif defined(dTransparencyType_volumeInstance)
|
|
136
|
-
vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;
|
|
137
|
-
vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;
|
|
138
|
-
#endif
|
|
139
|
-
vTransparency *= uTransparencyStrength;
|
|
140
|
-
#endif
|
|
1
|
+
export const assign_color_varying = `
|
|
2
|
+
#if defined(dRenderVariant_color)
|
|
3
|
+
#if defined(dColorType_attribute)
|
|
4
|
+
vColor.rgb = aColor;
|
|
5
|
+
#elif defined(dColorType_instance)
|
|
6
|
+
vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;
|
|
7
|
+
#elif defined(dColorType_group)
|
|
8
|
+
#if defined(dDualColor)
|
|
9
|
+
vec4 color2;
|
|
10
|
+
if (aColorMode == 2.0) {
|
|
11
|
+
vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
|
|
12
|
+
} else {
|
|
13
|
+
vColor.rgb = readFromTexture(tColor, group * 2.0, uColorTexDim).rgb;
|
|
14
|
+
color2.rgb = readFromTexture(tColor, group * 2.0 + 1.0, uColorTexDim).rgb;
|
|
15
|
+
}
|
|
16
|
+
#else
|
|
17
|
+
vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
|
|
18
|
+
#endif
|
|
19
|
+
#elif defined(dColorType_groupInstance)
|
|
20
|
+
#if defined(dDualColor)
|
|
21
|
+
vec4 color2;
|
|
22
|
+
if (aColorMode == 2.0) {
|
|
23
|
+
vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
|
|
24
|
+
} else {
|
|
25
|
+
vColor.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0, uColorTexDim).rgb;
|
|
26
|
+
color2.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0 + 1.0, uColorTexDim).rgb;
|
|
27
|
+
}
|
|
28
|
+
#else
|
|
29
|
+
vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
|
|
30
|
+
#endif
|
|
31
|
+
#elif defined(dColorType_vertex)
|
|
32
|
+
vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;
|
|
33
|
+
#elif defined(dColorType_vertexInstance)
|
|
34
|
+
vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;
|
|
35
|
+
#elif defined(dColorType_volume)
|
|
36
|
+
vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;
|
|
37
|
+
vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
|
|
38
|
+
#elif defined(dColorType_volumeInstance)
|
|
39
|
+
vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;
|
|
40
|
+
vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
#ifdef dUsePalette
|
|
44
|
+
vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
#ifdef dOverpaint
|
|
48
|
+
#if defined(dOverpaintType_instance)
|
|
49
|
+
vOverpaint = readFromTexture(tOverpaint, aInstance, uOverpaintTexDim);
|
|
50
|
+
#elif defined(dOverpaintType_groupInstance)
|
|
51
|
+
vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);
|
|
52
|
+
#elif defined(dOverpaintType_vertexInstance)
|
|
53
|
+
vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);
|
|
54
|
+
#elif defined(dOverpaintType_volumeInstance)
|
|
55
|
+
vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;
|
|
56
|
+
vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);
|
|
57
|
+
#endif
|
|
58
|
+
|
|
59
|
+
// pre-mix to avoid darkening due to empty overpaint
|
|
60
|
+
#ifdef dColorType_uniform
|
|
61
|
+
vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);
|
|
62
|
+
#else
|
|
63
|
+
vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);
|
|
64
|
+
#endif
|
|
65
|
+
vOverpaint *= uOverpaintStrength;
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
#ifdef dEmissive
|
|
69
|
+
#if defined(dEmissiveType_instance)
|
|
70
|
+
vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
|
|
71
|
+
#elif defined(dEmissiveType_groupInstance)
|
|
72
|
+
vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
|
|
73
|
+
#elif defined(dEmissiveType_vertexInstance)
|
|
74
|
+
vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
|
|
75
|
+
#elif defined(dEmissiveType_volumeInstance)
|
|
76
|
+
vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
|
|
77
|
+
vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
|
|
78
|
+
#endif
|
|
79
|
+
vEmissive *= uEmissiveStrength;
|
|
80
|
+
#endif
|
|
81
|
+
|
|
82
|
+
#ifdef dSubstance
|
|
83
|
+
#if defined(dSubstanceType_instance)
|
|
84
|
+
vSubstance = readFromTexture(tSubstance, aInstance, uSubstanceTexDim);
|
|
85
|
+
#elif defined(dSubstanceType_groupInstance)
|
|
86
|
+
vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);
|
|
87
|
+
#elif defined(dSubstanceType_vertexInstance)
|
|
88
|
+
vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);
|
|
89
|
+
#elif defined(dSubstanceType_volumeInstance)
|
|
90
|
+
vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;
|
|
91
|
+
vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);
|
|
92
|
+
#endif
|
|
93
|
+
|
|
94
|
+
// pre-mix to avoid artifacts due to empty substance
|
|
95
|
+
vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);
|
|
96
|
+
vSubstance *= uSubstanceStrength;
|
|
97
|
+
#endif
|
|
98
|
+
#elif defined(dRenderVariant_emissive)
|
|
99
|
+
#ifdef dEmissive
|
|
100
|
+
#if defined(dEmissiveType_instance)
|
|
101
|
+
vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
|
|
102
|
+
#elif defined(dEmissiveType_groupInstance)
|
|
103
|
+
vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
|
|
104
|
+
#elif defined(dEmissiveType_vertexInstance)
|
|
105
|
+
vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
|
|
106
|
+
#elif defined(dEmissiveType_volumeInstance)
|
|
107
|
+
vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
|
|
108
|
+
vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
|
|
109
|
+
#endif
|
|
110
|
+
vEmissive *= uEmissiveStrength;
|
|
111
|
+
#endif
|
|
112
|
+
#elif defined(dRenderVariant_pick)
|
|
113
|
+
#ifdef requiredDrawBuffers
|
|
114
|
+
vObject = vec4(packIntToRGB(float(uObjectId)), 1.0);
|
|
115
|
+
vInstance = vec4(packIntToRGB(aInstance), 1.0);
|
|
116
|
+
vGroup = vec4(packIntToRGB(group), 1.0);
|
|
117
|
+
#else
|
|
118
|
+
if (uPickType == 1) {
|
|
119
|
+
vColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
|
|
120
|
+
} else if (uPickType == 2) {
|
|
121
|
+
vColor = vec4(packIntToRGB(aInstance), 1.0);
|
|
122
|
+
} else {
|
|
123
|
+
vColor = vec4(packIntToRGB(group), 1.0);
|
|
124
|
+
}
|
|
125
|
+
#endif
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
#ifdef dTransparency
|
|
129
|
+
#if defined(dTransparencyType_instance)
|
|
130
|
+
vTransparency = readFromTexture(tTransparency, aInstance, uTransparencyTexDim).a;
|
|
131
|
+
#elif defined(dTransparencyType_groupInstance)
|
|
132
|
+
vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;
|
|
133
|
+
#elif defined(dTransparencyType_vertexInstance)
|
|
134
|
+
vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;
|
|
135
|
+
#elif defined(dTransparencyType_volumeInstance)
|
|
136
|
+
vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;
|
|
137
|
+
vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;
|
|
138
|
+
#endif
|
|
139
|
+
vTransparency *= uTransparencyStrength;
|
|
140
|
+
#endif
|
|
141
141
|
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export const assign_group = `
|
|
2
|
-
#ifdef dGeometryType_textureMesh
|
|
3
|
-
float group = unpackRGBToInt(readFromTexture(tGroup, VertexID, uGeoTexDim).rgb);
|
|
4
|
-
#else
|
|
5
|
-
float group = aGroup;
|
|
6
|
-
#endif
|
|
1
|
+
export const assign_group = `
|
|
2
|
+
#ifdef dGeometryType_textureMesh
|
|
3
|
+
float group = unpackRGBToInt(readFromTexture(tGroup, VertexID, uGeoTexDim).rgb);
|
|
4
|
+
#else
|
|
5
|
+
float group = aGroup;
|
|
6
|
+
#endif
|
|
7
7
|
`;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export const assign_marker_varying = `
|
|
2
|
-
#if defined(dNeedsMarker)
|
|
3
|
-
#if defined(dMarkerType_instance)
|
|
4
|
-
vMarker = readFromTexture(tMarker, aInstance, uMarkerTexDim).a;
|
|
5
|
-
#elif defined(dMarkerType_groupInstance)
|
|
6
|
-
vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;
|
|
7
|
-
#endif
|
|
8
|
-
#endif
|
|
1
|
+
export const assign_marker_varying = `
|
|
2
|
+
#if defined(dNeedsMarker)
|
|
3
|
+
#if defined(dMarkerType_instance)
|
|
4
|
+
vMarker = readFromTexture(tMarker, aInstance, uMarkerTexDim).a;
|
|
5
|
+
#elif defined(dMarkerType_groupInstance)
|
|
6
|
+
vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;
|
|
7
|
+
#endif
|
|
8
|
+
#endif
|
|
9
9
|
`;
|