@arcgis/core 5.1.0-next.43 → 5.1.0-next.45
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/applications/Components/featureUtils.d.ts +11 -7
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/AttributeFilter.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/actions/Top.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/OrderbyClause.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{eff198e0c21c9767ffaa.js → 0155e5679ded9de5c327.js} +1 -1
- package/assets/esri/core/workers/chunks/128799741dd3c6fc69b9.js +1 -0
- package/assets/esri/core/workers/chunks/13eb0162d95b4d27389c.js +1 -0
- package/assets/esri/core/workers/chunks/{0836964a65f76da35b5c.js → 1a3f874700f86b750390.js} +23 -23
- package/assets/esri/core/workers/chunks/1a481f3ae3146682eb00.js +1 -0
- package/assets/esri/core/workers/chunks/1cce2f8837ad765acf44.js +1 -0
- package/assets/esri/core/workers/chunks/2379c64b0ca30814a815.js +1 -0
- package/assets/esri/core/workers/chunks/23a9070e9362b8439770.js +1 -0
- package/assets/esri/core/workers/chunks/25e4568a3ff76f48ac5e.js +1 -0
- package/assets/esri/core/workers/chunks/{dbedd246f4b584583f95.js → 288bd32831e94e81653e.js} +1 -1
- package/assets/esri/core/workers/chunks/2b3a8a53cd68f666676b.js +1 -0
- package/assets/esri/core/workers/chunks/{4d16b6ac52e25bd7e6aa.js → 32a51ce8e1a362115c89.js} +1 -1
- package/assets/esri/core/workers/chunks/{392941013107bbd96503.js → 365ad1ffd496ed86637b.js} +1 -1
- package/assets/esri/core/workers/chunks/375eac59c9f88c7572db.js +2 -0
- package/assets/esri/core/workers/chunks/{eab74d830c2eaa9d133b.js → 4869e2f35aaf6b058281.js} +1 -1
- package/assets/esri/core/workers/chunks/{10941b50f5933d168df6.js → 521a671182b0f79e3624.js} +1 -1
- package/assets/esri/core/workers/chunks/{c2f3fc1b34a6782b431f.js → 5351e71ce7839636d06d.js} +1 -1
- package/assets/esri/core/workers/chunks/5b515b5741733bcb4645.js +1 -0
- package/assets/esri/core/workers/chunks/{1669f1bf959c4e3083da.js → 5c0b3c76a7bc971c61dc.js} +1 -1
- package/assets/esri/core/workers/chunks/5c830cce32710d70dfa6.js +1 -0
- package/assets/esri/core/workers/chunks/5e9bd5ed6ecee5b15127.js +1 -0
- package/assets/esri/core/workers/chunks/5f2e246ffcbdedea4de5.js +1 -0
- package/assets/esri/core/workers/chunks/617328964d480d4a3a45.js +1 -0
- package/assets/esri/core/workers/chunks/64da1ad9df9094ef5c12.js +1 -0
- package/assets/esri/core/workers/chunks/650614a9e4871714c42e.js +1 -0
- package/assets/esri/core/workers/chunks/66baacbef23291eab853.js +1 -0
- package/assets/esri/core/workers/chunks/7278cc37e85f0242f19b.js +1 -0
- package/assets/esri/core/workers/chunks/{3c597d8ef898627b8f93.js → 768bbc910be6c65ac107.js} +1 -1
- package/assets/esri/core/workers/chunks/{a1f36240a31057f998da.js → 79dc7045d9a2d43ba8df.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9da5c81535eaffc8b9c.js → 7f07f490c6fcc794c8d9.js} +1 -1
- package/assets/esri/core/workers/chunks/{2b386374330d96387aec.js → 851fc5290497991ba001.js} +1 -1
- package/assets/esri/core/workers/chunks/{7132420980f77b6a871b.js → 8cafdd4addd366795600.js} +1 -1
- package/assets/esri/core/workers/chunks/{30cdb2d1d9f018f1642d.js → 9032c040b214b5af775b.js} +1 -1
- package/assets/esri/core/workers/chunks/{ff8ec6369c8a1bee9bb4.js → 908f171b9c512d738dea.js} +1 -1
- package/assets/esri/core/workers/chunks/{c7799ba861ac5af08e6a.js → 92d4e962284e13ba2fc5.js} +1 -1
- package/assets/esri/core/workers/chunks/970d971551e42f7ae08d.js +1 -0
- package/assets/esri/core/workers/chunks/9802770413ad814dab29.js +1 -0
- package/assets/esri/core/workers/chunks/{6e8cfe69617876ee0dac.js → a69f1879735a031f62e9.js} +1 -1
- package/assets/esri/core/workers/chunks/{af804beb43d4d10c54d9.js → a9f35127c3f5bf42036b.js} +1 -1
- package/assets/esri/core/workers/chunks/b5ced451d331ca1ffb68.js +1 -0
- package/assets/esri/core/workers/chunks/beb53b372d356800f333.js +1 -0
- package/assets/esri/core/workers/chunks/{8f12a559dbf284c21e2f.js → bf4d2f42d31861ea1046.js} +1 -1
- package/assets/esri/core/workers/chunks/c2aa3b1344b42a904234.js +1 -0
- package/assets/esri/core/workers/chunks/{9a9b1250be3e20499d75.js → ca88a364ef911526102e.js} +1 -1
- package/assets/esri/core/workers/chunks/cdeb6aec578a1c07d663.js +1 -0
- package/assets/esri/core/workers/chunks/cf5e4cf9b1aa37eeb6b0.js +1 -0
- package/assets/esri/core/workers/chunks/d0adf059085ddf7151dd.js +1 -0
- package/assets/esri/core/workers/chunks/d2af5342fbe80e2d8c60.js +1 -0
- package/assets/esri/core/workers/chunks/d3d024b3d2bb8fbbf760.js +1 -0
- package/assets/esri/core/workers/chunks/{80bfb5e5d613d2c412bf.js → dbafe96ce37bb82d0584.js} +1 -1
- package/assets/esri/core/workers/chunks/e4e0c5a45cf32973d5d5.js +1 -0
- package/assets/esri/core/workers/chunks/{093aa05fbde548bf9040.js → e5927f9d0e757ec4c22a.js} +1 -1
- package/assets/esri/core/workers/chunks/{b15a02bdcd78a1a51bd6.js → e72ca52d930afb5650af.js} +1 -1
- package/assets/esri/core/workers/chunks/{465cc0e00f03cdb640b2.js → e7402dfd683f82878360.js} +1 -1
- package/assets/esri/core/workers/chunks/{8838ff9668b472af16a1.js → ef0eae13408cbf83a64f.js} +1 -1
- package/assets/esri/core/workers/chunks/f1767b8ba82fdd9bd947.js +1 -0
- package/assets/esri/core/workers/chunks/{f835eea9f617556c7276.js → f6e3954ddbb5993d56df.js} +1 -1
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/assets/esri/themes/base/widgets/_Grid.scss +5 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
- package/chunks/ComponentShader.glsl.js +11 -11
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/HUDMaterial.glsl.js +28 -36
- package/chunks/ImageMaterial.glsl.js +1 -1
- package/chunks/Jpg.js +1 -1
- package/chunks/Path.glsl.js +7 -7
- package/chunks/Pattern.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +2 -2
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +5 -5
- package/chunks/Water.glsl.js +5 -5
- package/chunks/Zlib.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +1 -1
- package/chunks/vxlLayer.js +1 -1
- package/config.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/geometry/support/zscale.js +1 -1
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/SceneLayer.d.ts +16 -10
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/JpgPlus.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/formats/TiffDecoder.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/save/groupLayerUtils.js +1 -1
- package/layers/save/mapImageLayerUtils.js +1 -1
- package/layers/support/Sublayer.d.ts +6 -0
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/package.json +3 -3
- package/rest/query/operations/pbfFeatureSetUtils.js +1 -1
- package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
- package/rest/query/operations/pbfOptimizedFeatureSet.js +1 -1
- package/support/revision.js +1 -1
- package/third-party-notices.txt +2 -2
- package/views/2d/engine/ManagedCanvas.js +1 -1
- package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/GlyphSource.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
- package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/terrain/OverlayRenderTargets.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentDrawParameters.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
- package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +1 -1
- package/widgets/Editor.d.ts +2 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/assets/esri/core/workers/chunks/02a0a58ca5916db1db19.js +0 -1
- package/assets/esri/core/workers/chunks/03c8453ae72a4e190252.js +0 -1
- package/assets/esri/core/workers/chunks/04981ae9d7728208ffce.js +0 -1
- package/assets/esri/core/workers/chunks/0e669a04999feb9f98c9.js +0 -1
- package/assets/esri/core/workers/chunks/23af269e88f9ac101ffb.js +0 -1
- package/assets/esri/core/workers/chunks/244dd7a948ca8a7dc6ef.js +0 -1
- package/assets/esri/core/workers/chunks/26cafd20c8d03c274389.js +0 -1
- package/assets/esri/core/workers/chunks/2fa86dacc8a12a6a6c43.js +0 -1
- package/assets/esri/core/workers/chunks/3e26f9af6b8c75bad97a.js +0 -1
- package/assets/esri/core/workers/chunks/42b556d56013350c9d80.js +0 -1
- package/assets/esri/core/workers/chunks/5a6a6e7151085a3cd3dd.js +0 -1
- package/assets/esri/core/workers/chunks/5eb9fdb076488de9cd83.js +0 -1
- package/assets/esri/core/workers/chunks/65865c25487d23dd2e31.js +0 -1
- package/assets/esri/core/workers/chunks/65ea5028eb12457a3aeb.js +0 -1
- package/assets/esri/core/workers/chunks/73a008b48e29eb6f2064.js +0 -2
- package/assets/esri/core/workers/chunks/80a1ccabd4257cc61e0d.js +0 -1
- package/assets/esri/core/workers/chunks/8333561a938bcdf6c2e6.js +0 -1
- package/assets/esri/core/workers/chunks/91718795fc4ca6516ac7.js +0 -1
- package/assets/esri/core/workers/chunks/93846f8b77fc802069a7.js +0 -1
- package/assets/esri/core/workers/chunks/9b80569819cd1c72a9ff.js +0 -1
- package/assets/esri/core/workers/chunks/b056b4c79bcd542dd1d2.js +0 -1
- package/assets/esri/core/workers/chunks/b553264db0f10bb8c5f7.js +0 -1
- package/assets/esri/core/workers/chunks/b6e63d8ce3c9ac9762f4.js +0 -1
- package/assets/esri/core/workers/chunks/c1cae45a159a5373ac00.js +0 -1
- package/assets/esri/core/workers/chunks/c4f64195e44986644993.js +0 -1
- package/assets/esri/core/workers/chunks/ca6012135929b028ea1b.js +0 -1
- package/assets/esri/core/workers/chunks/de79645e559a2d1ffa67.js +0 -1
- package/assets/esri/core/workers/chunks/ea356a5b90ea44b5cbe1.js +0 -1
- package/assets/esri/core/workers/chunks/f0e6a26a3625068b08ab.js +0 -1
- package/assets/esri/core/workers/chunks/f36a234ef35faf8ca04d.js +0 -1
- package/views/2d/engine/vectorTiles/GlyphMosaic.js +0 -2
- package/views/2d/engine/vectorTiles/GlyphSource.js +0 -2
- package/views/2d/engine/vectorTiles/RectangleBinPack.js +0 -2
- /package/assets/esri/core/workers/chunks/{73a008b48e29eb6f2064.js.LICENSE.txt → 375eac59c9f88c7572db.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
|
|
1
|
+
{"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"Click to place the first control point.","curveBezierControlPoint2":"Click to place the second control point.","curvePlaceEndPoint":"Click to place the curve endpoint.","curveInteriorPoint":"Click to place the arc's interior point.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"","curveBezierControlPoint2":"","curvePlaceEndPoint":"","curveInteriorPoint":"","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
|
|
1
|
+
{"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"Click to place the first control point.","curveBezierControlPoint2":"Click to place the second control point.","curvePlaceEndPoint":"Click to place the curve endpoint.","curveInteriorPoint":"Click to place the arc's interior point.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"","curveBezierControlPoint2":"","curvePlaceEndPoint":"","curveInteriorPoint":"","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as $,glsl as T}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as R}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as F}from"../webscene/support/AlphaCutoff.js";function U(U){const V=new A,{vertex:z,fragment:B}=V;V.include(s,U),V.include(n,U),V.include(t,U),V.include(i,U),V.include(e,U),V.include(j,U),B.include(l,U),V.include(x,U),V.include(S,U);const{output:E,pbrMode:_,hasNormalTexture:I,snowCover:G,receiveShadows:H,shadeNormals:k,spherical:q,sphericalSR:J,overlayEnabled:K,componentDataType:Q,vertexDiscardMode:X,renderOccluded:Y,isGroundSlice:Z}=U,ee=1===_||2===_;ee&&(V.include(y,U),I&&V.include(h,U));const oe=a(E),re=oe&&1===Q,
|
|
2
|
+
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as $,glsl as T}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as R}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as F}from"../webscene/support/AlphaCutoff.js";function U(U){const V=new A,{vertex:z,fragment:B}=V;V.include(s,U),V.include(n,U),V.include(t,U),V.include(i,U),V.include(e,U),V.include(j,U),B.include(l,U),V.include(x,U),V.include(S,U);const{output:E,pbrMode:_,hasNormalTexture:I,snowCover:G,receiveShadows:H,shadeNormals:k,spherical:q,sphericalSR:J,overlayEnabled:K,componentDataType:Q,vertexDiscardMode:X,renderOccluded:Y,isGroundSlice:Z}=U,ee=1===_||2===_;ee&&(V.include(y,U),I&&V.include(h,U));const oe=a(E),re=11===E,ae=oe&&1===Q,le=P(U);K&&(B.include(w,U),V.include(O,U),z.include(C),z.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),B.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),z.constants.add("invRadius","float",1/le).code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy ${$(q,"/ (1.0 + invRadius * pos.z)")}; }`));const ie=K&&r(E)&&4===_;ie&&(V.varyings.add("tbnTangent","vec3"),V.varyings.add("tbnBiTangent","vec3"),V.varyings.add("groundNormal","vec3"));const te=0===X,ne=2===X,se=1-1/255;if(V.include(L,U),V.include(o,U),z.main.add(T`
|
|
3
3
|
bool castShadows;
|
|
4
4
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
5
|
-
${$(
|
|
6
|
-
${$(!
|
|
7
|
-
${$(
|
|
5
|
+
${$(ae,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
|
|
6
|
+
${$(!te,`{ if (externalColor.a ${ne?">":"<="} ${T.float(se)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
|
|
7
|
+
${$(re,"externalColor.a = 1.0;")}
|
|
8
8
|
|
|
9
9
|
forwardPosition(readElevationOffset());
|
|
10
10
|
forwardViewPosDepth(vPosition_view);
|
|
@@ -15,7 +15,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
15
15
|
forwardLinearDepthToWriteShadowMap();
|
|
16
16
|
forwardEmissiveStrength();
|
|
17
17
|
forwardObjectAndLayerIdColor();
|
|
18
|
-
${$(
|
|
18
|
+
${$(ie,q?T`
|
|
19
19
|
groundNormal = normalize(positionWorld());
|
|
20
20
|
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
|
|
21
21
|
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:T`
|
|
@@ -29,7 +29,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
29
29
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
`),r(E))return V.include(u,U),V.include(v,U),B.include(w,U),V.include(M,U),B.include(R,U),B.constants.add("pRadius","float",
|
|
32
|
+
`),r(E))return V.include(u,U),V.include(v,U),B.include(w,U),V.include(M,U),B.include(R,U),B.constants.add("pRadius","float",le).code.add(T`
|
|
33
33
|
float evaluateShadow() {
|
|
34
34
|
return ${H?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
|
|
35
35
|
}
|
|
@@ -109,7 +109,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
109
109
|
${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
110
110
|
${q?T`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
|
|
111
111
|
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
|
|
112
|
-
`)):(f(B),q&&p(B),
|
|
112
|
+
`)):(f(B),q&&p(B),ie&&B.uniforms.add(new D("ovNormalTex",e=>e.overlay?.getTexture(3))),B.main.add(T`
|
|
113
113
|
${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
114
114
|
float shadow = ${H?q?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":q?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
|
|
115
115
|
|
|
@@ -127,7 +127,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
127
127
|
${$(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
128
128
|
|
|
129
129
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
|
|
130
|
-
${$(
|
|
130
|
+
${$(ie,T`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
|
|
131
131
|
float waterNormalLength = length(overlayWaterMask);
|
|
132
132
|
if (waterNormalLength > 0.95) {
|
|
133
133
|
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
|
|
@@ -142,13 +142,13 @@ vec3 viewRay = normalize(vPosition_view);
|
|
|
142
142
|
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));
|
|
143
143
|
} else {
|
|
144
144
|
gl_FragDepth = gl_FragCoord.z;
|
|
145
|
-
}`)),V;const
|
|
145
|
+
}`)),V;const de=4===E,ge=10===E,ce=oe||8===E||9===E;return ce&&V.include(d,U),de&&V.include(v,U),K&&V.include(c,U),V.include(g,U),B.main.add(T`
|
|
146
146
|
${$(!Z,"discardBySlice(vPositionWorldCameraRelative);")}
|
|
147
147
|
|
|
148
148
|
vec4 textureColor = readBaseColorTexture();
|
|
149
149
|
discardOrAdjustAlpha(textureColor);
|
|
150
150
|
|
|
151
151
|
${$(ce,"outputDepth(linearDepth);")}
|
|
152
|
-
${$(
|
|
153
|
-
${$(
|
|
152
|
+
${$(de,T`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
|
|
153
|
+
${$(re,K?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
|
|
154
154
|
${$(ge,$(K,T`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,T`calculateOcclusionAndOutputHighlight();`))}`),V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:U},Symbol.toStringTag,{value:"Module"}));export{V as C,U as b};
|
|
@@ -51,7 +51,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
51
51
|
vec3 albedo = mixExternalColor(${_(te,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
|
|
52
52
|
float opacity_ = layerOpacity * mixExternalOpacity(${_(te,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, opacityMixMode);
|
|
53
53
|
|
|
54
|
-
${ge?`mat3 tangentSpace = computeTangentSpace(${de?"normal":"normal, vpos, vuv0"});\n
|
|
54
|
+
${ge?`mat3 tangentSpace = computeTangentSpace(${de?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${me?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
|
|
55
55
|
vec3 normalGround = ${ie?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
|
|
56
56
|
|
|
57
57
|
${_(ae,R`
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as i}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{RejectBySlice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as
|
|
2
|
+
import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as i}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RejectBySlice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as n}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{OutputHighlight as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{positionOutsideClipSpace as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{VisualVariables as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{ScreenSizePerspective as g,addScreenSizePerspective as m,addScreenSizePerspectiveAlignment as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{styleToEffect as A}from"../views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js";import{alphaCutoff as O}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as F}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";const B=e=>e?A[e]:0;function $(e){const r=new D;r.include(n,e),r.vertex.include(t,e);const{output:A,hasOcclusionTexture:$,signedDistanceFieldEnabled:T,pixelSnappingEnabled:_,hasEmission:q,hasScreenSizePerspective:R,debugDrawLabelBorder:k,hasVVSize:H,hasVVColor:I,hasRotation:E,occludedFragmentFade:G,sampleSignedDistanceFieldTexelCenter:N,hasVertexColor:J,hasVertexSize:K,hasVertexRotation:Q,hasVertexUVi:W}=e;r.include(g),r.include(f,e),r.include(l,e),r.include(F,e);const{vertex:X,fragment:Y}=r;Y.include(p),Y.code.add(S`
|
|
3
3
|
vec4 applyFocusAreaStyle(vec4 color, int style) {
|
|
4
4
|
const float factor = 0.46;
|
|
5
5
|
const float factorBright = 0.32;
|
|
6
6
|
|
|
7
|
-
if (style == ${
|
|
7
|
+
if (style == ${S.int(0)}) {
|
|
8
8
|
float luma = (color.r + color.g + color.b) / 3.0;
|
|
9
9
|
float bright = luma * (1.0 - 0.6 * factorBright) + 0.6 * factorBright * color.a;
|
|
10
10
|
float brightScaled = bright * factorBright;
|
|
@@ -14,39 +14,39 @@ import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
|
|
|
14
14
|
float darkScaled = factor * factor;
|
|
15
15
|
return vec4(color.rgb * darkScaled, color.a * factor);
|
|
16
16
|
}
|
|
17
|
-
`),r.varyings.add("vcolor","vec4"),r.varyings.add("vtc","vec2"),r.varyings.add("vsize","vec2");const Z=
|
|
17
|
+
`),r.varyings.add("vcolor","vec4"),r.varyings.add("vtc","vec2"),r.varyings.add("vsize","vec2");const Z=10===A;X.uniforms.add(new b("viewport",e=>e.camera.fullViewport),new h("screenOffset",(e,r)=>o(M,2*e.screenOffset[0]*r.camera.pixelRatio,2*e.screenOffset[1]*r.camera.pixelRatio)),new h("anchorPosition",e=>V(e)),new C("materialColor",({color:e})=>e),new w("materialRotation",e=>e.rotation),new h("materialSize",e=>e.size),new j("tex",e=>e.texture)),x(X),T&&(X.uniforms.add(new C("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new C("outlineColor",e=>L(e)?e.outlineColor:i),new w("outlineSize",e=>L(e)?e.outlineSize:0))),_&&X.include(s),R&&(m(X),v(X)),k&&r.varyings.add("debugBorderCoords","vec4"),r.attributes.add("uv0","vec2"),W&&r.attributes.add("uvi","vec4"),J&&r.attributes.add("color","vec4"),K&&r.attributes.add("size","vec2"),Q&&r.attributes.add("rotation","float"),(H||I)&&r.attributes.add("featureAttribute","vec4"),X.main.add(S`
|
|
18
18
|
ProjectHUDAux projectAux;
|
|
19
19
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
20
20
|
forwardObjectAndLayerIdColor();
|
|
21
21
|
|
|
22
22
|
if (rejectBySlice(projectAux.posModel)) {
|
|
23
|
-
gl_Position = ${
|
|
23
|
+
gl_Position = ${u};
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
vec2 vertexSize = materialSize${
|
|
27
|
+
vec2 vertexSize = materialSize${z(K," * size")};
|
|
28
28
|
vec2 inputSize;
|
|
29
|
-
${
|
|
29
|
+
${z(R,S`
|
|
30
30
|
inputSize = screenSizePerspectiveScaleVec2(vertexSize, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
31
|
-
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,
|
|
31
|
+
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,S`
|
|
32
32
|
inputSize = vertexSize;
|
|
33
33
|
vec2 screenOffsetScaled = screenOffset;`)}
|
|
34
|
-
${
|
|
34
|
+
${z(H,S`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
35
35
|
|
|
36
36
|
vec2 combinedSize = inputSize * pixelRatio;
|
|
37
37
|
vec4 quadOffset = vec4(0.0);
|
|
38
|
-
`);const ee=
|
|
39
|
-
${
|
|
38
|
+
`);const ee=S`
|
|
39
|
+
${z(W,S`
|
|
40
40
|
vec2 texSize = vec2(textureSize(tex, 0));
|
|
41
41
|
vec2 uv = mix(uvi.xy, uvi.zw, bvec2(uv0)) / texSize;
|
|
42
|
-
`,
|
|
42
|
+
`,S`
|
|
43
43
|
vec2 uv = mix(vec2(0.), vec2(1.), bvec2(uv0));
|
|
44
44
|
`)}
|
|
45
45
|
|
|
46
46
|
quadOffset.xy = (uv0 - anchorPosition) * 2.0 * combinedSize;
|
|
47
47
|
|
|
48
|
-
${
|
|
49
|
-
float angle = radians(materialRotation${
|
|
48
|
+
${z(E,S`
|
|
49
|
+
float angle = radians(materialRotation${z(Q," + rotation")});
|
|
50
50
|
float cosAngle = cos(angle);
|
|
51
51
|
float sinAngle = sin(angle);
|
|
52
52
|
mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
|
|
@@ -55,17 +55,17 @@ import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
|
|
|
55
55
|
`)}
|
|
56
56
|
|
|
57
57
|
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
58
|
-
`,oe=_?
|
|
58
|
+
`,oe=_?T?S`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:S`posProj += quadOffset;
|
|
59
59
|
if (inputSize.x == vertexSize.x) {
|
|
60
60
|
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
61
|
-
}`:
|
|
61
|
+
}`:S`posProj += quadOffset;`;X.include(O),X.main.add(S`
|
|
62
62
|
${ee}
|
|
63
63
|
${I?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":J?"vcolor = color * materialColor;":"vcolor = materialColor;"}
|
|
64
64
|
|
|
65
|
-
${
|
|
65
|
+
${z(11===A,S`vcolor.a = 1.0;`)}
|
|
66
66
|
|
|
67
67
|
bool alphaDiscard = vcolor.a < alphaCutoff;
|
|
68
|
-
${
|
|
68
|
+
${z(T,"alphaDiscard = alphaDiscard && outlineColor.a < alphaCutoff;")}
|
|
69
69
|
if (alphaDiscard) {
|
|
70
70
|
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
|
|
71
71
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
@@ -77,12 +77,12 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
77
77
|
|
|
78
78
|
vtc = uv;
|
|
79
79
|
|
|
80
|
-
${
|
|
80
|
+
${z(k,S`debugBorderCoords = vec4(uv0, 1.5 / combinedSize);`)}
|
|
81
81
|
vsize = inputSize;
|
|
82
|
-
`);const re=
|
|
82
|
+
`);const re=a(A)&&e.hasFocusAreaStyle&&!e.draped;switch(Y.uniforms.add(new j("tex",e=>e.texture)),re&&Y.uniforms.add(new P("focusAreaStyle",e=>B(e.focusAreaStyle))),G&&!Z&&(Y.include(d),Y.uniforms.add(new y("depthMap",e=>e.mainDepth),new w("occludedOpacity",e=>e.occludedFragmentOpacity?.value??1))),$&&Y.uniforms.add(new y("texOcclusion",e=>e.hudOcclusion?.attachment)),k?Y.main.add("\n float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));\n // don't discard fragments on debug border\n float textureAlphaCutoff = isBorder > 0.0 ? 0.0 : alphaCutoff;\n "):Y.main.add("float textureAlphaCutoff = alphaCutoff;"),Y.main.add("vec2 samplePos = vtc;"),N&&Y.main.add(S`float txSize = float(textureSize(tex, 0).x);
|
|
83
83
|
float texelSize = 1.0 / txSize;
|
|
84
84
|
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
85
|
-
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),
|
|
85
|
+
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),T?Y.main.add(S`
|
|
86
86
|
vec4 fillPixelColor = vcolor;
|
|
87
87
|
|
|
88
88
|
// Get distance in output units (i.e. pixels)
|
|
@@ -114,37 +114,29 @@ samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),U?Y.main.add(w`
|
|
|
114
114
|
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
|
|
115
115
|
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
116
116
|
|
|
117
|
-
${
|
|
117
|
+
${z(!Z,S`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
118
118
|
} else {
|
|
119
119
|
if (fillAlphaFactor < textureAlphaCutoff) {
|
|
120
120
|
discard;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
${
|
|
123
|
+
${z(!Z,S`fragColor = premultiplyAlpha(fillPixelColor);`)}
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
// visualize SDF:
|
|
127
127
|
// fragColor = vec4(clamp(-pixelDistance/vsize.x*2.0, 0.0, 1.0), clamp(pixelDistance/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
|
|
128
|
-
`):Y.main.add(
|
|
128
|
+
`):Y.main.add(S`
|
|
129
129
|
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
130
130
|
if (texColor.a < textureAlphaCutoff) {
|
|
131
131
|
discard;
|
|
132
132
|
}
|
|
133
|
-
${
|
|
134
|
-
`),G&&!Z&&Y.main.add(
|
|
133
|
+
${z(!Z,S`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
134
|
+
`),G&&!Z&&Y.main.add(S`
|
|
135
135
|
float zSample = -linearizeDepth(texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x);
|
|
136
136
|
float zFragment = -linearizeDepth(gl_FragCoord.z);
|
|
137
|
-
if (zSample < ${
|
|
137
|
+
if (zSample < ${S.float(1-U)} * zFragment) {
|
|
138
138
|
fragColor *= occludedOpacity;
|
|
139
139
|
}
|
|
140
|
-
`)
|
|
140
|
+
`),$&&Y.main.add("fragColor *= texelFetch(texOcclusion, ivec2(gl_FragCoord.xy), 0).r;"),!Z&&k&&Y.main.add("fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);"),2===A&&Y.main.add(S`if (fragColor.a < alphaCutoff) {
|
|
141
141
|
discard;
|
|
142
|
-
}`),re&&Y.main.add(
|
|
143
|
-
// Unlike other materials, the fragment shader outputs premultiplied colors.
|
|
144
|
-
// Disable this for front face rendering for correct OIT compositing.
|
|
145
|
-
${S(2===B,w`fragColor.rgb /= fragColor.a;`)}
|
|
146
|
-
${S(q,w`fragEmission = vec4(0.0);`)}
|
|
147
|
-
${S(1===B,w`
|
|
148
|
-
fragColor = vec4(fragColor.rgb * oitOutputScale, fragColor.a);
|
|
149
|
-
fragAlpha = fragColor.a * oitOutputScale;
|
|
150
|
-
`)}`);break;case 9:Y.main.add(w`outputObjectAndLayerIdColor();`);break;case 8:r.include(n,e),Y.main.add(w`outputHighlight(false);`)}return r}function $(e){return e.outlineColor[3]>0&&e.outlineSize>0}function V(o){return o.textureIsSignedDistanceField?M(o.anchorPosition,o.distanceFieldBoundingBox,L):e(L,o.anchorPosition),L}const L=r();function M(e,r,i){o(i,e[0]*(r[2]-r[0])+r[0],e[1]*(r[3]-r[1])+r[1])}const T=.08,U=Object.freeze(Object.defineProperty({__proto__:null,build:B,calculateAnchorPosition:V},Symbol.toStringTag,{value:"Module"}));export{U as H,B as b,V as c};
|
|
142
|
+
}`),re&&Y.main.add(S`fragColor = applyFocusAreaStyle(fragColor, focusAreaStyle);`),a(A)&&q&&Y.main.add("fragEmission = vec4(0.0);"),A){case 1:Y.main.add("\n fragColor = vec4(fragColor.rgb * oitOutputScale, fragColor.a);\n fragAlpha = fragColor.a * oitOutputScale;\n ");break;case 2:Y.main.add("fragColor.rgb /= fragColor.a;");break;case 11:Y.main.add("outputObjectAndLayerIdColor();");break;case 10:r.include(c,e),Y.main.add("outputHighlight(false);")}return r}function L(e){return e.outlineColor[3]>0&&e.outlineSize>0}function V(o){return o.textureIsSignedDistanceField?T(o.anchorPosition,o.distanceFieldBoundingBox,M):e(M,o.anchorPosition),M}const M=r();function T(e,r,i){o(i,e[0]*(r[2]-r[0])+r[0],e[1]*(r[3]-r[1])+r[1])}const U=.08,_=Object.freeze(Object.defineProperty({__proto__:null,anchorPosition:V,build:$},Symbol.toStringTag,{value:"Module"}));export{_ as H,V as a,$ as b};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
2
|
import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{terrainDepthTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{FloatPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as a,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOLID as n}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{NoParameters as g}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class v extends g{}function c(g){const v=new p,{vertex:c,fragment:m,varyings:u}=v,{output:w,perspectiveInterpolation:f}=g;return s(c,g),v.include(r),v.include(o,g),v.fragment.include(e,g),v.fragment.code.add(l`void outputObjectAndLayerIdColor() {
|
|
3
|
-
${a(
|
|
3
|
+
${a(11===w,"fragColor = vec4(0, 0, 0, 1);")}
|
|
4
4
|
}`),v.include(n,g),v.attributes.add("position","vec3"),v.attributes.add("uv0","vec2"),f&&v.attributes.add("perspectiveDivide","float"),c.main.add(l`
|
|
5
5
|
vpos = position;
|
|
6
6
|
forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
|
package/chunks/Jpg.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{g as e}from"./_commonjsHelpers.js";var n,r={exports:{}};function o(){return n||(n=1,e=r,o=function(){var e=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}();return function(){if(!self||!self.Uint8ClampedArray)return null;var n=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,a=3406,t=2276,i=1567,s=3784,c=5793,f=2896;function l(){this.decodeTransform=null,this.colorTransform=-1}function u(e,n){for(var r,o,a=0,t=[],i=16;i>0&&!e[i-1];)i--;t.push({children:[],index:0});var s,c=t[0];for(r=0;r<i;r++){for(o=0;o<e[r];o++){for((c=t.pop()).children[c.index]=n[a];c.index>0;)c=t.pop();for(c.index++,t.push(c);t.length<=r;)t.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s;a++}r+1<i&&(t.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s)}return t[0].children}function h(e,n,r){return 64*((e.blocksPerLine+1)*n+r)}function v(r,o,a,t,i,s,c,f,l){var u=a.mcusPerLine,v=a.progressive,m=o,d=0,b=0;function k(){if(b>0)return b--,d>>b&1;if(255===(d=r[o++])){var n=r[o++];if(n)throw new e("unexpected marker "+(d<<8|n).toString(16))}return b=7,d>>>7}function g(n){for(var r=n;;){if("number"==typeof(r=r[k()]))return r;if("object"!=typeof r)throw new e("invalid huffman sequence")}}function C(e){for(var n=0;e>0;)n=n<<1|k(),e--;return n}function w(e){if(1===e)return 1===k()?1:-1;var n=C(e);return n>=1<<e-1?n:n+(-1<<e)+1}function x(e,r){var o=g(e.huffmanTableDC),a=0===o?0:w(o);e.blockData[r]=e.pred+=a;for(var t=1;t<64;){var i=g(e.huffmanTableAC),s=15&i,c=i>>4;if(0!==s){var f=n[t+=c];e.blockData[r+f]=w(s),t++}else{if(c<15)break;t+=16}}}function y(e,n){var r=g(e.huffmanTableDC),o=0===r?0:w(r)<<l;e.blockData[n]=e.pred+=o}function D(e,n){e.blockData[n]|=k()<<l}var T=0;function P(e,r){if(T>0)T--;else for(var o=s,a=c;o<=a;){var t=g(e.huffmanTableAC),i=15&t,f=t>>4;if(0!==i){var u=n[o+=f];e.blockData[r+u]=w(i)*(1<<l),o++}else{if(f<15){T=C(f)+(1<<f)-1;break}o+=16}}}var L,A=0;function _(r,o){for(var a,t,i=s,f=c,u=0;i<=f;){var h=n[i];switch(A){case 0:if(u=(t=g(r.huffmanTableAC))>>4,0==(a=15&t))u<15?(T=C(u)+(1<<u),A=4):(u=16,A=1);else{if(1!==a)throw new e("invalid ACn encoding");L=w(a),A=u?2:3}continue;case 1:case 2:r.blockData[o+h]?r.blockData[o+h]+=k()<<l:0===--u&&(A=2===A?3:0);break;case 3:r.blockData[o+h]?r.blockData[o+h]+=k()<<l:(r.blockData[o+h]=L<<l,A=0);break;case 4:r.blockData[o+h]&&(r.blockData[o+h]+=k()<<l)}i++}4===A&&0===--T&&(A=0)}function U(e,n,r,o,a){var t=r%u;n(e,h(e,(r/u|0)*e.v+o,t*e.h+a))}function z(e,n,r){n(e,h(e,r/e.blocksPerLine|0,r%e.blocksPerLine))}var I,M,Y,q,S,H,R=t.length;H=v?0===s?0===f?y:D:0===f?P:_:x;var j,E,J,V,B=0;for(E=1===R?t[0].blocksPerLine*t[0].blocksPerColumn:u*a.mcusPerColumn;B<E;){var N=i?Math.min(E-B,i):E;for(M=0;M<R;M++)t[M].pred=0;if(T=0,1===R)for(I=t[0],S=0;S<N;S++)z(I,H,B),B++;else for(S=0;S<N;S++){for(M=0;M<R;M++)for(J=(I=t[M]).h,V=I.v,Y=0;Y<V;Y++)for(q=0;q<J;q++)U(I,H,B,Y,q);B++}b=0,(j=p(r,o))&&j.invalid&&(console.log("decodeScan - unexpected MCU data, next marker is: "+j.invalid),o=j.offset);var G=j&&j.marker;if(!G||G<=65280)throw new e("marker was not found");if(!(G>=65488&&G<=65495))break;o+=2}return(j=p(r,o))&&j.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+j.invalid),o=j.offset),o-m}function m(n,l,u){var h,v,m,d,p,b,k,g,C,w,x,y,D,T,P,L,A,_=n.quantizationTable,U=n.blockData;if(!_)throw new e("missing required Quantization Table.");for(var z=0;z<64;z+=8)C=U[l+z],w=U[l+z+1],x=U[l+z+2],y=U[l+z+3],D=U[l+z+4],T=U[l+z+5],P=U[l+z+6],L=U[l+z+7],C*=_[z],0!==(w|x|y|D|T|P|L)?(w*=_[z+1],x*=_[z+2],y*=_[z+3],D*=_[z+4],T*=_[z+5],P*=_[z+6],L*=_[z+7],v=(h=(h=c*C+128>>8)+(v=c*D+128>>8)+1>>1)-v,A=(m=x)*s+(d=P)*i+128>>8,m=m*i-d*s+128>>8,k=(p=(p=f*(w-L)+128>>8)+(k=T<<4)+1>>1)-k,b=(g=(g=f*(w+L)+128>>8)+(b=y<<4)+1>>1)-b,d=(h=h+(d=A)+1>>1)-d,m=(v=v+m+1>>1)-m,A=p*t+g*a+2048>>12,p=p*a-g*t+2048>>12,g=A,A=b*o+k*r+2048>>12,b=b*r-k*o+2048>>12,k=A,u[z]=h+g,u[z+7]=h-g,u[z+1]=v+k,u[z+6]=v-k,u[z+2]=m+b,u[z+5]=m-b,u[z+3]=d+p,u[z+4]=d-p):(A=c*C+512>>10,u[z]=A,u[z+1]=A,u[z+2]=A,u[z+3]=A,u[z+4]=A,u[z+5]=A,u[z+6]=A,u[z+7]=A);for(var I=0;I<8;++I)C=u[I],0!==((w=u[I+8])|(x=u[I+16])|(y=u[I+24])|(D=u[I+32])|(T=u[I+40])|(P=u[I+48])|(L=u[I+56]))?(v=(h=4112+((h=c*C+2048>>12)+(v=c*D+2048>>12)+1>>1))-v,A=(m=x)*s+(d=P)*i+2048>>12,m=m*i-d*s+2048>>12,d=A,k=(p=(p=f*(w-L)+2048>>12)+(k=T)+1>>1)-k,b=(g=(g=f*(w+L)+2048>>12)+(b=y)+1>>1)-b,A=p*t+g*a+2048>>12,p=p*a-g*t+2048>>12,g=A,A=b*o+k*r+2048>>12,b=b*r-k*o+2048>>12,C=(C=(h=h+d+1>>1)+g)<16?0:C>=4080?255:C>>4,w=(w=(v=v+m+1>>1)+(k=A))<16?0:w>=4080?255:w>>4,x=(x=(m=v-m)+b)<16?0:x>=4080?255:x>>4,y=(y=(d=h-d)+p)<16?0:y>=4080?255:y>>4,D=(D=d-p)<16?0:D>=4080?255:D>>4,T=(T=m-b)<16?0:T>=4080?255:T>>4,P=(P=v-k)<16?0:P>=4080?255:P>>4,L=(L=h-g)<16?0:L>=4080?255:L>>4,U[l+I]=C,U[l+I+8]=w,U[l+I+16]=x,U[l+I+24]=y,U[l+I+32]=D,U[l+I+40]=T,U[l+I+48]=P,U[l+I+56]=L):(A=(A=c*C+8192>>14)<-2040?0:A>=2024?255:A+2056>>4,U[l+I]=A,U[l+I+8]=A,U[l+I+16]=A,U[l+I+24]=A,U[l+I+32]=A,U[l+I+40]=A,U[l+I+48]=A,U[l+I+56]=A)}function d(e,n){for(var r=n.blocksPerLine,o=n.blocksPerColumn,a=new Int16Array(64),t=0;t<o;t++)for(var i=0;i<r;i++)m(n,h(n,t,i),a);return n.blockData}function p(e,n,r){function o(n){return e[n]<<8|e[n+1]}var a=e.length-1,t=r<n?r:n;if(n>=a)return null;var i=o(n);if(i>=65472&&i<=65534)return{invalid:null,marker:i,offset:n};for(var s=o(t);!(s>=65472&&s<=65534);){if(++t>=a)return null;s=o(t)}return{invalid:i.toString(16),marker:s,offset:t}}return l.prototype={parse:function(r){function o(){var e=r[c]<<8|r[c+1];return c+=2,e}function a(){var e=o(),n=c+e-2,a=p(r,n,c);a&&a.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+a.invalid),n=a.offset);var t=r.subarray(c,n);return c+=t.length,t}function t(e){for(var n=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),o=0;o<e.components.length;o++){R=e.components[o];var a=Math.ceil(Math.ceil(e.samplesPerLine/8)*R.h/e.maxH),t=Math.ceil(Math.ceil(e.scanLines/8)*R.v/e.maxV),i=n*R.h,s=r*R.v*64*(i+1);R.blockData=new Int16Array(s),R.blocksPerLine=a,R.blocksPerColumn=t}e.mcusPerLine=n,e.mcusPerColumn=r}var i,s,c=0,f=null,l=null,h=[],m=[],b=[],k=o();if(65496!==k)throw new e("SOI not found");for(k=o();65497!==k;){var g,C,w;switch(k){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var x=a();65504===k&&74===x[0]&&70===x[1]&&73===x[2]&&70===x[3]&&0===x[4]&&(f={version:{major:x[5],minor:x[6]},densityUnits:x[7],xDensity:x[8]<<8|x[9],yDensity:x[10]<<8|x[11],thumbWidth:x[12],thumbHeight:x[13],thumbData:x.subarray(14,14+3*x[12]*x[13])}),65518===k&&65===x[0]&&100===x[1]&&111===x[2]&&98===x[3]&&101===x[4]&&(l={version:x[5]<<8|x[6],flags0:x[7]<<8|x[8],flags1:x[9]<<8|x[10],transformCode:x[11]});break;case 65499:for(var y=o()+c-2;c<y;){var D=r[c++],T=new Uint16Array(64);if(D>>4){if(D>>4!=1)throw new e("DQT - invalid table spec");for(C=0;C<64;C++)T[n[C]]=o()}else for(C=0;C<64;C++)T[n[C]]=r[c++];h[15&D]=T}break;case 65472:case 65473:case 65474:if(i)throw new e("Only single frame JPEGs supported");o(),(i={}).extended=65473===k,i.progressive=65474===k,i.precision=r[c++],i.scanLines=o(),i.samplesPerLine=o(),i.components=[],i.componentIds={};var P,L=r[c++],A=0,_=0;for(g=0;g<L;g++){P=r[c];var U=r[c+1]>>4,z=15&r[c+1];A<U&&(A=U),_<z&&(_=z);var I=r[c+2];w=i.components.push({h:U,v:z,quantizationId:I,quantizationTable:null}),i.componentIds[P]=w-1,c+=3}i.maxH=A,i.maxV=_,t(i);break;case 65476:var M=o();for(g=2;g<M;){var Y=r[c++],q=new Uint8Array(16),S=0;for(C=0;C<16;C++,c++)S+=q[C]=r[c];var H=new Uint8Array(S);for(C=0;C<S;C++,c++)H[C]=r[c];g+=17+S,(Y>>4?m:b)[15&Y]=u(q,H)}break;case 65501:o(),s=o();break;case 65498:o();var R,j=r[c++],E=[];for(g=0;g<j;g++){var J=i.componentIds[r[c++]];R=i.components[J];var V=r[c++];R.huffmanTableDC=b[V>>4],R.huffmanTableAC=m[15&V],E.push(R)}var B=r[c++],N=r[c++],G=r[c++],O=v(r,c,i,E,s,B,N,G>>4,15&G);c+=O;break;case 65535:255!==r[c]&&c--;break;default:if(255===r[c-3]&&r[c-2]>=192&&r[c-2]<=254){c-=3;break}throw new e("unknown marker "+k.toString(16))}k=o()}for(this.width=i.samplesPerLine,this.height=i.scanLines,this.jfif=f,this.eof=c,this.adobe=l,this.components=[],g=0;g<i.components.length;g++){var Q=h[(R=i.components[g]).quantizationId];Q&&(R.quantizationTable=Q),this.components.push({output:d(i,R),scaleX:R.h/i.maxH,scaleY:R.v/i.maxV,blocksPerLine:R.blocksPerLine,blocksPerColumn:R.blocksPerColumn})}this.numComponents=this.components.length},_getLinearizedBlockData:function(e,n){var r,o,a,t,i,s,c,f,l,u,h,v=this.width/e,m=this.height/n,d=0,p=this.components.length,b=e*n*p,k=new Uint8ClampedArray(b),g=new Uint32Array(e),C=4294967288;for(c=0;c<p;c++){for(o=(r=this.components[c]).scaleX*v,a=r.scaleY*m,d=c,h=r.output,t=r.blocksPerLine+1<<3,i=0;i<e;i++)f=0|i*o,g[i]=(f&C)<<3|7&f;for(s=0;s<n;s++)for(u=t*((f=0|s*a)&C)|(7&f)<<3,i=0;i<e;i++)k[d]=h[u+g[i]],d+=p}var w=this.decodeTransform;if(w)for(c=0;c<b;)for(f=0,l=0;f<p;f++,c++,l+=2)k[c]=(k[c]*w[l]>>8)+w[l+1];return k},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this.colorTransform:1===this.colorTransform},_convertYccToRgb:function(e){for(var n,r,o,a=0,t=e.length;a<t;a+=3)n=e[a],r=e[a+1],o=e[a+2],e[a]=n-179.456+1.402*o,e[a+1]=n+135.459-.344*r-.714*o,e[a+2]=n-226.816+1.772*r;return e},_convertYcckToRgb:function(e){for(var n,r,o,a,t=0,i=0,s=e.length;i<s;i+=4)n=e[i],r=e[i+1],o=e[i+2],a=e[i+3],e[t++]=r*(-660635669420364e-19*r+.000437130475926232*o-54080610064599e-18*n+.00048449797120281*a-.154362151871126)-122.67195406894+o*(-.000957964378445773*o+.000817076911346625*n-.00477271405408747*a+1.53380253221734)+n*(.000961250184130688*n-.00266257332283933*a+.48357088451265)+a*(-.000336197177618394*a+.484791561490776),e[t++]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*o+.000659397001245577*n+.000426105652938837*a-.176491792462875)+o*(-.000778269941513683*o+.00130872261408275*n+.000770482631801132*a-.151051492775562)+n*(.00126935368114843*n-.00265090189010898*a+.25802910206845)+a*(-.000318913117588328*a-.213742400323665),e[t++]=r*(-.000570115196973677*r-263409051004589e-19*o+.0020741088115012*n-.00288260236853442*a+.814272968359295)-20.810012546947+o*(-153496057440975e-19*o-.000132689043961446*n+.000560833691242812*a-.195152027534049)+n*(.00174418132927582*n-.00255243321439347*a+.116935020465145)+a*(-.000343531996510555*a+.24165260232407);return e},_convertYcckToCmyk:function(e){for(var n,r,o,a=0,t=e.length;a<t;a+=4)n=e[a],r=e[a+1],o=e[a+2],e[a]=434.456-n-1.402*o,e[a+1]=119.541-n+.344*r+.714*o,e[a+2]=481.816-n-1.772*r;return e},_convertCmykToRgb:function(e){for(var n,r,o,a,t=0,i=1/255,s=0,c=e.length;s<c;s+=4)n=e[s]*i,r=e[s+1]*i,o=e[s+2]*i,a=e[s+3]*i,e[t++]=255+n*(-4.387332384609988*n+54.48615194189176*r+18.82290502165302*o+212.25662451639585*a-285.2331026137004)+r*(1.7149763477362134*r-5.6096736904047315*o-17.873870861415444*a-5.497006427196366)+o*(-2.5217340131683033*o-21.248923337353073*a+17.5119270841813)-a*(21.86122147463605*a+189.48180835922747),e[t++]=255+n*(8.841041422036149*n+60.118027045597366*r+6.871425592049007*o+31.159100130055922*a-79.2970844816548)+r*(-15.310361306967817*r+17.575251261109482*o+131.35250912493976*a-190.9453302588951)+o*(4.444339102852739*o+9.8632861493405*a-24.86741582555878)-a*(20.737325471181034*a+187.80453709719578),e[t++]=255+n*(.8842522430003296*n+8.078677503112928*r+30.89978309703729*o-.23883238689178934*a-14.183576799673286)+r*(10.49593273432072*r+63.02378494754052*o+50.606957656360734*a-112.23884253719248)+o*(.03296041114873217*o+115.60384449646641*a-193.58209356861505)-a*(22.33816807309886*a+180.12613974708367);return e},getData:function(n,r,o){if(this.numComponents>4)throw new e("Unsupported color mode");var a=this._getLinearizedBlockData(n,r);if(1===this.numComponents&&o){for(var t=a.length,i=new Uint8ClampedArray(3*t),s=0,c=0;c<t;c++){var f=a[c];i[s++]=f,i[s++]=f,i[s++]=f}return i}if(3===this.numComponents&&this._isColorConversionNeeded())return this._convertYccToRgb(a);if(4===this.numComponents){if(this._isColorConversionNeeded())return o?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(o)return this._convertCmykToRgb(a)}return a}},l}()},void 0!==(a=o())&&(e.exports=a)),r.exports;var e,o,a}const a=e(o());export{a as J};
|
|
2
|
+
var e=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}(),n=function(){if(!self||!self.Uint8ClampedArray)return null;var n=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,a=3406,t=2276,i=1567,s=3784,c=5793,f=2896;function l(){this.decodeTransform=null,this.colorTransform=-1}function u(e,n){for(var r,o,a=0,t=[],i=16;i>0&&!e[i-1];)i--;t.push({children:[],index:0});var s,c=t[0];for(r=0;r<i;r++){for(o=0;o<e[r];o++){for((c=t.pop()).children[c.index]=n[a];c.index>0;)c=t.pop();for(c.index++,t.push(c);t.length<=r;)t.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s;a++}r+1<i&&(t.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s)}return t[0].children}function h(e,n,r){return 64*((e.blocksPerLine+1)*n+r)}function v(r,o,a,t,i,s,c,f,l){var u=a.mcusPerLine,v=a.progressive,m=o,d=0,p=0;function k(){if(p>0)return p--,d>>p&1;if(255===(d=r[o++])){var n=r[o++];if(n)throw new e("unexpected marker "+(d<<8|n).toString(16))}return p=7,d>>>7}function g(n){for(var r=n;;){if("number"==typeof(r=r[k()]))return r;if("object"!=typeof r)throw new e("invalid huffman sequence")}}function C(e){for(var n=0;e>0;)n=n<<1|k(),e--;return n}function w(e){if(1===e)return 1===k()?1:-1;var n=C(e);return n>=1<<e-1?n:n+(-1<<e)+1}function y(e,r){var o=g(e.huffmanTableDC),a=0===o?0:w(o);e.blockData[r]=e.pred+=a;for(var t=1;t<64;){var i=g(e.huffmanTableAC),s=15&i,c=i>>4;if(0!==s){var f=n[t+=c];e.blockData[r+f]=w(s),t++}else{if(c<15)break;t+=16}}}function D(e,n){var r=g(e.huffmanTableDC),o=0===r?0:w(r)<<l;e.blockData[n]=e.pred+=o}function x(e,n){e.blockData[n]|=k()<<l}var T=0;function P(e,r){if(T>0)T--;else for(var o=s,a=c;o<=a;){var t=g(e.huffmanTableAC),i=15&t,f=t>>4;if(0!==i){var u=n[o+=f];e.blockData[r+u]=w(i)*(1<<l),o++}else{if(f<15){T=C(f)+(1<<f)-1;break}o+=16}}}var L,A=0;function _(r,o){for(var a,t,i=s,f=c,u=0;i<=f;){var h=n[i];switch(A){case 0:if(u=(t=g(r.huffmanTableAC))>>4,0===(a=15&t))u<15?(T=C(u)+(1<<u),A=4):(u=16,A=1);else{if(1!==a)throw new e("invalid ACn encoding");L=w(a),A=u?2:3}continue;case 1:case 2:r.blockData[o+h]?r.blockData[o+h]+=k()<<l:0===--u&&(A=2===A?3:0);break;case 3:r.blockData[o+h]?r.blockData[o+h]+=k()<<l:(r.blockData[o+h]=L<<l,A=0);break;case 4:r.blockData[o+h]&&(r.blockData[o+h]+=k()<<l)}i++}4===A&&0===--T&&(A=0)}function U(e,n,r,o,a){var t=r%u;n(e,h(e,(r/u|0)*e.v+o,t*e.h+a))}function z(e,n,r){n(e,h(e,r/e.blocksPerLine|0,r%e.blocksPerLine))}var I,M,Y,q,S,R,H=t.length;R=v?0===s?0===f?D:x:0===f?P:_:y;var E,J,V,j,B=0;for(J=1===H?t[0].blocksPerLine*t[0].blocksPerColumn:u*a.mcusPerColumn;B<J;){var N=i?Math.min(J-B,i):J;for(M=0;M<H;M++)t[M].pred=0;if(T=0,1===H)for(I=t[0],S=0;S<N;S++)z(I,R,B),B++;else for(S=0;S<N;S++){for(M=0;M<H;M++)for(V=(I=t[M]).h,j=I.v,Y=0;Y<j;Y++)for(q=0;q<V;q++)U(I,R,B,Y,q);B++}p=0,(E=b(r,o))&&E.invalid&&(console.log("decodeScan - unexpected MCU data, next marker is: "+E.invalid),o=E.offset);var G=E&&E.marker;if(!G||G<=65280)throw new e("marker was not found");if(!(G>=65488&&G<=65495))break;o+=2}return(E=b(r,o))&&E.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+E.invalid),o=E.offset),o-m}function m(n,l,u){var h,v,m,d,b,p,k,g,C,w,y,D,x,T,P,L,A,_=n.quantizationTable,U=n.blockData;if(!_)throw new e("missing required Quantization Table.");for(var z=0;z<64;z+=8)C=U[l+z],w=U[l+z+1],y=U[l+z+2],D=U[l+z+3],x=U[l+z+4],T=U[l+z+5],P=U[l+z+6],L=U[l+z+7],C*=_[z],0!==(w|y|D|x|T|P|L)?(w*=_[z+1],y*=_[z+2],D*=_[z+3],x*=_[z+4],T*=_[z+5],P*=_[z+6],L*=_[z+7],v=(h=(h=c*C+128>>8)+(v=c*x+128>>8)+1>>1)-v,A=(m=y)*s+(d=P)*i+128>>8,m=m*i-d*s+128>>8,k=(b=(b=f*(w-L)+128>>8)+(k=T<<4)+1>>1)-k,p=(g=(g=f*(w+L)+128>>8)+(p=D<<4)+1>>1)-p,d=(h=h+(d=A)+1>>1)-d,m=(v=v+m+1>>1)-m,A=b*t+g*a+2048>>12,b=b*a-g*t+2048>>12,g=A,A=p*o+k*r+2048>>12,p=p*r-k*o+2048>>12,k=A,u[z]=h+g,u[z+7]=h-g,u[z+1]=v+k,u[z+6]=v-k,u[z+2]=m+p,u[z+5]=m-p,u[z+3]=d+b,u[z+4]=d-b):(A=c*C+512>>10,u[z]=A,u[z+1]=A,u[z+2]=A,u[z+3]=A,u[z+4]=A,u[z+5]=A,u[z+6]=A,u[z+7]=A);for(var I=0;I<8;++I)C=u[I],0!==((w=u[I+8])|(y=u[I+16])|(D=u[I+24])|(x=u[I+32])|(T=u[I+40])|(P=u[I+48])|(L=u[I+56]))?(v=(h=4112+((h=c*C+2048>>12)+(v=c*x+2048>>12)+1>>1))-v,A=(m=y)*s+(d=P)*i+2048>>12,m=m*i-d*s+2048>>12,d=A,k=(b=(b=f*(w-L)+2048>>12)+(k=T)+1>>1)-k,p=(g=(g=f*(w+L)+2048>>12)+(p=D)+1>>1)-p,A=b*t+g*a+2048>>12,b=b*a-g*t+2048>>12,g=A,A=p*o+k*r+2048>>12,p=p*r-k*o+2048>>12,C=(C=(h=h+d+1>>1)+g)<16?0:C>=4080?255:C>>4,w=(w=(v=v+m+1>>1)+(k=A))<16?0:w>=4080?255:w>>4,y=(y=(m=v-m)+p)<16?0:y>=4080?255:y>>4,D=(D=(d=h-d)+b)<16?0:D>=4080?255:D>>4,x=(x=d-b)<16?0:x>=4080?255:x>>4,T=(T=m-p)<16?0:T>=4080?255:T>>4,P=(P=v-k)<16?0:P>=4080?255:P>>4,L=(L=h-g)<16?0:L>=4080?255:L>>4,U[l+I]=C,U[l+I+8]=w,U[l+I+16]=y,U[l+I+24]=D,U[l+I+32]=x,U[l+I+40]=T,U[l+I+48]=P,U[l+I+56]=L):(A=(A=c*C+8192>>14)<-2040?0:A>=2024?255:A+2056>>4,U[l+I]=A,U[l+I+8]=A,U[l+I+16]=A,U[l+I+24]=A,U[l+I+32]=A,U[l+I+40]=A,U[l+I+48]=A,U[l+I+56]=A)}function d(e,n){for(var r=n.blocksPerLine,o=n.blocksPerColumn,a=new Int16Array(64),t=0;t<o;t++)for(var i=0;i<r;i++){m(n,h(n,t,i),a)}return n.blockData}function b(e,n,r){function o(n){return e[n]<<8|e[n+1]}var a=e.length-1,t=r<n?r:n;if(n>=a)return null;var i=o(n);if(i>=65472&&i<=65534)return{invalid:null,marker:i,offset:n};for(var s=o(t);!(s>=65472&&s<=65534);){if(++t>=a)return null;s=o(t)}return{invalid:i.toString(16),marker:s,offset:t}}return l.prototype={parse:function(r){function o(){var e=r[c]<<8|r[c+1];return c+=2,e}function a(){var e=o(),n=c+e-2,a=b(r,n,c);a&&a.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+a.invalid),n=a.offset);var t=r.subarray(c,n);return c+=t.length,t}function t(e){for(var n=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),o=0;o<e.components.length;o++){H=e.components[o];var a=Math.ceil(Math.ceil(e.samplesPerLine/8)*H.h/e.maxH),t=Math.ceil(Math.ceil(e.scanLines/8)*H.v/e.maxV),i=n*H.h,s=64*(r*H.v)*(i+1);H.blockData=new Int16Array(s),H.blocksPerLine=a,H.blocksPerColumn=t}e.mcusPerLine=n,e.mcusPerColumn=r}var i,s,c=0,f=null,l=null,h=[],m=[],p=[],k=o();if(65496!==k)throw new e("SOI not found");for(k=o();65497!==k;){var g,C,w;switch(k){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var y=a();65504===k&&74===y[0]&&70===y[1]&&73===y[2]&&70===y[3]&&0===y[4]&&(f={version:{major:y[5],minor:y[6]},densityUnits:y[7],xDensity:y[8]<<8|y[9],yDensity:y[10]<<8|y[11],thumbWidth:y[12],thumbHeight:y[13],thumbData:y.subarray(14,14+3*y[12]*y[13])}),65518===k&&65===y[0]&&100===y[1]&&111===y[2]&&98===y[3]&&101===y[4]&&(l={version:y[5]<<8|y[6],flags0:y[7]<<8|y[8],flags1:y[9]<<8|y[10],transformCode:y[11]});break;case 65499:for(var D=o()+c-2;c<D;){var x=r[c++],T=new Uint16Array(64);if(x>>4){if(x>>4!=1)throw new e("DQT - invalid table spec");for(C=0;C<64;C++)T[n[C]]=o()}else for(C=0;C<64;C++)T[n[C]]=r[c++];h[15&x]=T}break;case 65472:case 65473:case 65474:if(i)throw new e("Only single frame JPEGs supported");o(),(i={}).extended=65473===k,i.progressive=65474===k,i.precision=r[c++],i.scanLines=o(),i.samplesPerLine=o(),i.components=[],i.componentIds={};var P,L=r[c++],A=0,_=0;for(g=0;g<L;g++){P=r[c];var U=r[c+1]>>4,z=15&r[c+1];A<U&&(A=U),_<z&&(_=z);var I=r[c+2];w=i.components.push({h:U,v:z,quantizationId:I,quantizationTable:null}),i.componentIds[P]=w-1,c+=3}i.maxH=A,i.maxV=_,t(i);break;case 65476:var M=o();for(g=2;g<M;){var Y=r[c++],q=new Uint8Array(16),S=0;for(C=0;C<16;C++,c++)S+=q[C]=r[c];var R=new Uint8Array(S);for(C=0;C<S;C++,c++)R[C]=r[c];g+=17+S,(Y>>4?m:p)[15&Y]=u(q,R)}break;case 65501:o(),s=o();break;case 65498:o();var H,E=r[c++],J=[];for(g=0;g<E;g++){var V=i.componentIds[r[c++]];H=i.components[V];var j=r[c++];H.huffmanTableDC=p[j>>4],H.huffmanTableAC=m[15&j],J.push(H)}var B=r[c++],N=r[c++],G=r[c++],O=v(r,c,i,J,s,B,N,G>>4,15&G);c+=O;break;case 65535:255!==r[c]&&c--;break;default:if(255===r[c-3]&&r[c-2]>=192&&r[c-2]<=254){c-=3;break}throw new e("unknown marker "+k.toString(16))}k=o()}for(this.width=i.samplesPerLine,this.height=i.scanLines,this.jfif=f,this.eof=c,this.adobe=l,this.components=[],g=0;g<i.components.length;g++){var Q=h[(H=i.components[g]).quantizationId];Q&&(H.quantizationTable=Q),this.components.push({output:d(i,H),scaleX:H.h/i.maxH,scaleY:H.v/i.maxV,blocksPerLine:H.blocksPerLine,blocksPerColumn:H.blocksPerColumn})}this.numComponents=this.components.length},_getLinearizedBlockData:function(e,n){var r,o,a,t,i,s,c,f,l,u,h,v=this.width/e,m=this.height/n,d=0,b=this.components.length,p=e*n*b,k=new Uint8ClampedArray(p),g=new Uint32Array(e),C=4294967288;for(c=0;c<b;c++){for(o=(r=this.components[c]).scaleX*v,a=r.scaleY*m,d=c,h=r.output,t=r.blocksPerLine+1<<3,i=0;i<e;i++)f=0|i*o,g[i]=(f&C)<<3|7&f;for(s=0;s<n;s++)for(u=t*((f=0|s*a)&C)|(7&f)<<3,i=0;i<e;i++)k[d]=h[u+g[i]],d+=b}var w=this.decodeTransform;if(w)for(c=0;c<p;)for(f=0,l=0;f<b;f++,c++,l+=2)k[c]=(k[c]*w[l]>>8)+w[l+1];return k},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this.colorTransform:1===this.colorTransform},_convertYccToRgb:function(e){for(var n,r,o,a=0,t=e.length;a<t;a+=3)n=e[a],r=e[a+1],o=e[a+2],e[a]=n-179.456+1.402*o,e[a+1]=n+135.459-.344*r-.714*o,e[a+2]=n-226.816+1.772*r;return e},_convertYcckToRgb:function(e){for(var n,r,o,a,t=0,i=0,s=e.length;i<s;i+=4)n=e[i],r=e[i+1],o=e[i+2],a=e[i+3],e[t++]=r*(-660635669420364e-19*r+.000437130475926232*o-54080610064599e-18*n+.00048449797120281*a-.154362151871126)-122.67195406894+o*(-.000957964378445773*o+.000817076911346625*n-.00477271405408747*a+1.53380253221734)+n*(.000961250184130688*n-.00266257332283933*a+.48357088451265)+a*(-.000336197177618394*a+.484791561490776),e[t++]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*o+.000659397001245577*n+.000426105652938837*a-.176491792462875)+o*(-.000778269941513683*o+.00130872261408275*n+.000770482631801132*a-.151051492775562)+n*(.00126935368114843*n-.00265090189010898*a+.25802910206845)+a*(-.000318913117588328*a-.213742400323665),e[t++]=r*(-.000570115196973677*r-263409051004589e-19*o+.0020741088115012*n-.00288260236853442*a+.814272968359295)-20.810012546947+o*(-153496057440975e-19*o-.000132689043961446*n+.000560833691242812*a-.195152027534049)+n*(.00174418132927582*n-.00255243321439347*a+.116935020465145)+a*(-.000343531996510555*a+.24165260232407);return e},_convertYcckToCmyk:function(e){for(var n,r,o,a=0,t=e.length;a<t;a+=4)n=e[a],r=e[a+1],o=e[a+2],e[a]=434.456-n-1.402*o,e[a+1]=119.541-n+.344*r+.714*o,e[a+2]=481.816-n-1.772*r;return e},_convertCmykToRgb:function(e){for(var n,r,o,a,t=0,i=1/255,s=0,c=e.length;s<c;s+=4)n=e[s]*i,r=e[s+1]*i,o=e[s+2]*i,a=e[s+3]*i,e[t++]=255+n*(-4.387332384609988*n+54.48615194189176*r+18.82290502165302*o+212.25662451639585*a-285.2331026137004)+r*(1.7149763477362134*r-5.6096736904047315*o-17.873870861415444*a-5.497006427196366)+o*(-2.5217340131683033*o-21.248923337353073*a+17.5119270841813)-a*(21.86122147463605*a+189.48180835922747),e[t++]=255+n*(8.841041422036149*n+60.118027045597366*r+6.871425592049007*o+31.159100130055922*a-79.2970844816548)+r*(-15.310361306967817*r+17.575251261109482*o+131.35250912493976*a-190.9453302588951)+o*(4.444339102852739*o+9.8632861493405*a-24.86741582555878)-a*(20.737325471181034*a+187.80453709719578),e[t++]=255+n*(.8842522430003296*n+8.078677503112928*r+30.89978309703729*o-.23883238689178934*a-14.183576799673286)+r*(10.49593273432072*r+63.02378494754052*o+50.606957656360734*a-112.23884253719248)+o*(.03296041114873217*o+115.60384449646641*a-193.58209356861505)-a*(22.33816807309886*a+180.12613974708367);return e},getData:function(n,r,o){if(this.numComponents>4)throw new e("Unsupported color mode");var a=this._getLinearizedBlockData(n,r);if(1===this.numComponents&&o){for(var t=a.length,i=new Uint8ClampedArray(3*t),s=0,c=0;c<t;c++){var f=a[c];i[s++]=f,i[s++]=f,i[s++]=f}return i}if(3===this.numComponents&&this._isColorConversionNeeded())return this._convertYccToRgb(a);if(4===this.numComponents){if(this._isColorConversionNeeded())return o?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(o)return this._convertCmykToRgb(a)}return a}},l}();export{n as J};
|
package/chunks/Path.glsl.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as c,addLightingGlobalFactor as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addViewNormal as y,addCameraPosition as L}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as C}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function B(B){const I=new D,{vertex:M,fragment:_,varyings:F}=I;f(M,B),F.add("vpos","vec3",{invariant:!0}),I.include(n,B);const{output:V,spherical:x,pbrMode:z,snowCover:T}=B;switch((i(V)||
|
|
2
|
+
import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as c,addLightingGlobalFactor as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addViewNormal as y,addCameraPosition as L}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as C}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function B(B){const I=new D,{vertex:M,fragment:_,varyings:F}=I;f(M,B),F.add("vpos","vec3",{invariant:!0}),I.include(n,B);const{output:V,spherical:x,pbrMode:z,snowCover:T}=B;switch((i(V)||11===V)&&(I.include(a),I.include(u,B),I.include(r,B),I.include(b,B),F.add("vnormal","vec3"),F.add("vcolor","vec4"),M.main.add(S`vpos = calculateVPos();
|
|
3
3
|
vnormal = normalize(localNormal());
|
|
4
4
|
forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
|
|
5
5
|
gl_Position = transformPosition(proj, view, vpos);
|
|
6
6
|
forwardObjectAndLayerIdColor();
|
|
7
7
|
vcolor = getColor();
|
|
8
|
-
forwardLinearDepthToReadShadowMap();`)),V){case 0:I.include(w,B),_.include(t,B),_.include(d,B),I.include(v,B),_.include(o,B),I.include(A,B),L(_,B),c(_),m(_),_.uniforms.add(M.uniforms.get("localOrigin"),new j("ambient",e=>e.ambient),new j("diffuse",e=>e.diffuse),new P("opacity",e=>e.opacity)),_.include(h),_.include(C,B),g(_),_.main.add(S`
|
|
8
|
+
forwardLinearDepthToReadShadowMap();`)),V){case 0:case 1:case 2:I.include(w,B),_.include(t,B),_.include(d,B),I.include(v,B),_.include(o,B),I.include(A,B),L(_,B),c(_),m(_),_.uniforms.add(M.uniforms.get("localOrigin"),new j("ambient",e=>e.ambient),new j("diffuse",e=>e.diffuse),new P("opacity",e=>e.opacity)),_.include(h),_.include(C,B),g(_),_.main.add(S`
|
|
9
9
|
discardBySlice(vpos);
|
|
10
10
|
discardByTerrainDepth();
|
|
11
11
|
|
|
@@ -32,15 +32,15 @@ forwardLinearDepthToReadShadowMap();`)),V){case 0:I.include(w,B),_.include(t,B),
|
|
|
32
32
|
|
|
33
33
|
vec3 shadedColor = ${2===z?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
|
|
34
34
|
vec4 finalColor = vec4(shadedColor, combinedOpacity);
|
|
35
|
-
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${O(T,", snow")});`);break;case
|
|
36
|
-
gl_Position = transformPosition(proj, view, vpos);`),I.fragment.include(o,B),_.main.add(S`discardBySlice(vpos);`);break;case
|
|
35
|
+
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${O(T,", snow")});`);break;case 3:I.include(a),M.main.add(S`vpos = calculateVPos();
|
|
36
|
+
gl_Position = transformPosition(proj, view, vpos);`),I.fragment.include(o,B),_.main.add(S`discardBySlice(vpos);`);break;case 5:case 6:case 7:case 8:I.include(a),e(I),F.add("depth","float"),M.main.add(S`vpos = calculateVPos();
|
|
37
37
|
gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),I.fragment.include(o,B),I.include(l,B),_.main.add(S`discardBySlice(vpos);
|
|
38
|
-
outputDepth(depth);`);break;case
|
|
39
|
-
outputObjectAndLayerIdColor();`);break;case
|
|
38
|
+
outputDepth(depth);`);break;case 11:I.fragment.include(o,B),_.main.add(S`discardBySlice(vpos);
|
|
39
|
+
outputObjectAndLayerIdColor();`);break;case 4:I.include(a),I.include(p,B),y(M),F.add("vnormal","vec3"),M.main.add(S`vpos = calculateVPos();
|
|
40
40
|
vnormal = normalize((viewNormal * vec4(localNormal(), 1.0)).xyz);
|
|
41
41
|
gl_Position = transformPosition(proj, view, vpos);`),I.fragment.include(o,B),_.main.add(S`discardBySlice(vpos);
|
|
42
42
|
vec3 normal = normalize(vnormal);
|
|
43
43
|
if (gl_FrontFacing == false) normal = -normal;
|
|
44
|
-
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case
|
|
44
|
+
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case 10:I.include(a),I.include(p,B),F.add("vnormal","vec3"),M.main.add(S`vpos = calculateVPos();
|
|
45
45
|
gl_Position = transformPosition(proj, view, vpos);`),I.fragment.include(o,B),I.include(s,B),_.main.add(S`discardBySlice(vpos);
|
|
46
46
|
calculateOcclusionAndOutputHighlight();`)}return I}const I=Object.freeze(Object.defineProperty({__proto__:null,build:B},Symbol.toStringTag,{value:"Module"}));export{I as P,B as b};
|
package/chunks/Pattern.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as n,addCameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as v,If as p}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as u}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as m}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";const g=.70710678118,w=g,h=.08715574274,b=10,x=1;function y(y){const j=m(y),C=null!=j,T=new f;C&&T.include(j.TextureBackedBufferModule,y);const{vertex:V,fragment:P,attributes:$,varyings:R}=T,A=
|
|
2
|
+
import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as n,addCameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as v,If as p}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as u}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as m}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";const g=.70710678118,w=g,h=.08715574274,b=10,x=1;function y(y){const j=m(y),C=null!=j,T=new f;C&&T.include(j.TextureBackedBufferModule,y);const{vertex:V,fragment:P,attributes:$,varyings:R}=T,A=10===y.output;n(V,y),T.include(o);let L="";C?(y.hasVVColor&&(L=j.getTextureAttribute("colorFeatureAttribute")),y.hasVertexColors?(T.varyings.add("vColor","vec4"),T.vertex.code.add(v`void forwardVertexColor() { vColor = ${j.getTextureAttribute("color")}; }`)):T.vertex.code.add(v`void forwardVertexColor() {}`),$.add("textureElementIndex","uint")):(T.include(t,y),y.hasVVColor&&($.add("colorFeatureAttribute","float"),L="colorFeatureAttribute")),T.include(i,y),T.include(r,y),T.fragment.include(e,y),T.include(u,y),T.include(a,y),y.draped&&V.uniforms.add(new s("worldToScreenRatio",e=>1/e.screenToPCSRatio)),$.add("position","vec3"),$.add("uvMapSpace","vec4"),y.hasVertexColors||R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vuv","vec2"),V.uniforms.add(new d("uColor",e=>e.color));const D=3===y.style||4===y.style||5===y.style;return D&&V.code.add(v`
|
|
3
3
|
const mat2 rotate45 = mat2(${v.float(g)}, ${v.float(-w)},
|
|
4
4
|
${v.float(w)}, ${v.float(g)});
|
|
5
5
|
`),!y.draped&&C&&(c(V,y),V.uniforms.add(new s("worldToScreenPerDistanceRatio",e=>1/e.camera.perScreenPixelRatio)),V.code.add(v`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
|
|
@@ -253,7 +253,7 @@ lineDistanceNorm
|
|
|
253
253
|
float stippleRadius = length(stipplePosition * lineWidth);
|
|
254
254
|
float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
|
|
255
255
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
256
|
-
float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(D`float stippleAlpha = getStippleAlpha(lineWidth);`),
|
|
256
|
+
float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(D`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==E&&A.main.add(D`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),C.include(c),A.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(D`vec4 color = intrinsicColor * vColor;
|
|
257
257
|
color.a = noPerspectiveRead(color.a);`),k&&A.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new S("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)).main.add(D`float distToInner = abs(lineDistance) - innerWidth;
|
|
258
258
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
259
259
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
@@ -263,7 +263,7 @@ float feather = (value - featherStartDistance) / (lineWidth - featherStartDistan
|
|
|
263
263
|
finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),I&&A.main.add(D`
|
|
264
264
|
finalColor = animate(finalColor);
|
|
265
265
|
|
|
266
|
-
${x(
|
|
266
|
+
${x(11!==E,D`
|
|
267
267
|
if (finalColor.a <= alphaCutoff) {
|
|
268
268
|
discard;
|
|
269
269
|
}`)}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{normalize as e,transformMat4 as i}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{NormalFromDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{calculateUVZShadowFromDepthPass as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import{ShadowmapFiltering as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js";import{Float3BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js";import{Texture2DUintPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{ShaderBuilder as w}from"../views/webgl/ShaderBuilder.js";const m=.025;function p(){const o=new w;o.include(a),o.include(l),o.include(t),o.include(r);const p=o.fragment;return p.uniforms.add(new c("shadowMapExcludingHighlight",({shadowMap:e})=>e.getOutput(
|
|
2
|
+
import{normalize as e,transformMat4 as i}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{NormalFromDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{calculateUVZShadowFromDepthPass as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import{ShadowmapFiltering as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js";import{Float3BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js";import{Texture2DUintPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{ShaderBuilder as w}from"../views/webgl/ShaderBuilder.js";const m=.025;function p(){const o=new w;o.include(a),o.include(l),o.include(t),o.include(r);const p=o.fragment;return p.uniforms.add(new c("shadowMapExcludingHighlight",({shadowMap:e})=>e.getOutput(7)),new c("shadowMapHighlight",({shadowMap:e})=>e.getOutput(6)),new s("depthMap",e=>e.depth?.attachment),new u("highlightTexture",e=>e.highlightTexture),new d("uColor",e=>e.shadowColor),new g("opacity",e=>e.shadowOpacity),new g("occludedOpacity",e=>e.occludedShadowOpacity),new g("terminationFactor",e=>e.opacityElevation*e.dayNightTerminator),new h("lightingMainDirectionView",({lighting:o,camera:r})=>e(f,i(f,o.mainLight.direction,r.viewInverseTransposeMatrix)))),p.main.add(n`
|
|
3
3
|
ivec2 highlightTextureSize = textureSize(highlightTexture, 0);
|
|
4
4
|
ivec2 highlightIUV = ivec2(uv * vec2(highlightTextureSize));
|
|
5
5
|
uvec2 highlightInfo = texelFetch(highlightTexture, highlightIUV, 0).rg;
|
package/chunks/Terrain.glsl.js
CHANGED
|
@@ -4,7 +4,7 @@ float z = 1.0 - abs(normalCompressed.x) - abs(normalCompressed.y);
|
|
|
4
4
|
vec3 n = vec3(normalCompressed + vec2(normalCompressed.x >= 0.0 ? 1.0 : -1.0,
|
|
5
5
|
normalCompressed.y >= 0.0 ? 1.0 : -1.0) * min(z, 0.0), z);
|
|
6
6
|
return normalize(n);
|
|
7
|
-
}`)};T(N,o),a.include(s),W.include(F);const{output:E,overlayMode:I,tileBorders:q,transparencyMode:R,overlayEnabled:G}=o,J=2===R||3===R,K=0!==o.pbrMode,Q=G&&J;switch(E){case 0:{a.include(x,o),W.include(w,o),G&&a.include(L,o);const l=2===I;l&&a.include(m,o),H.add("vnormal","vec3"),H.add("vpos","vec3",{invariant:!0}),H.add("vup","vec3"),U(),N.main.add(z`
|
|
7
|
+
}`)};T(N,o),a.include(s),W.include(F);const{output:E,overlayMode:I,tileBorders:q,transparencyMode:R,overlayEnabled:G}=o,J=2===R||3===R,K=0!==o.pbrMode,Q=G&&J;switch(E){case 0:case 1:case 2:{a.include(x,o),W.include(w,o),G&&a.include(L,o);const l=2===I;l&&a.include(m,o),H.add("vnormal","vec3"),H.add("vpos","vec3",{invariant:!0}),H.add("vup","vec3"),U(),N.main.add(z`
|
|
8
8
|
vpos = position;
|
|
9
9
|
vec3 positionWorld = position + localOrigin;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
@@ -61,9 +61,9 @@ return normalize(n);
|
|
|
61
61
|
vec2 edgeFactors = smoothstep(vec2(0.0), 1.5 * dVuv, min(vuv0, 1.0 - vuv0));
|
|
62
62
|
float edgeFactor = 1.0 - min(edgeFactors.x, edgeFactors.y);
|
|
63
63
|
finalColor = mix(finalColor, vec4(1.0, 0.0, 0.0, 1.0), edgeFactor);`)}
|
|
64
|
-
outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`)}break;case
|
|
64
|
+
outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`)}break;case 3:Q&&a.include(L,o),N.main.add(z`
|
|
65
65
|
${D(Q,"setOverlayVTC(uv0);")}
|
|
66
|
-
gl_Position = transformPosition(proj, view, position);`),W.main.add(`${D(Q,"if (getCombinedOverlayColor().a < alphaCutoff) discard;")}`);break;case
|
|
66
|
+
gl_Position = transformPosition(proj, view, position);`),W.main.add(`${D(Q,"if (getCombinedOverlayColor().a < alphaCutoff) discard;")}`);break;case 5:case 6:case 7:case 8:case 9:a.include(g,o),l(a),t(a),N.main.add(z`gl_Position = transformPositionWithDepth(proj, view, position, nearFar, linearDepth);`),W.main.add(z`outputDepth(linearDepth);`);break;case 4:Q&&a.include(L,o),H.add("vnormal","vec3"),M(N),U(),N.main.add(z`
|
|
67
67
|
${D(Q,"setOverlayVTC(uv0);")}
|
|
68
68
|
gl_Position = transformPosition(proj, view, position);
|
|
69
69
|
vnormal = normalize((viewNormal * vec4(getNormal(), 1.0)).xyz);`),W.main.add(z`
|
|
@@ -72,10 +72,10 @@ return normalize(n);
|
|
|
72
72
|
if (gl_FrontFacing == false) {
|
|
73
73
|
normal = -normal;
|
|
74
74
|
}
|
|
75
|
-
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case
|
|
75
|
+
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case 10:G&&(a.include(L,o),a.include(u,o)),N.main.add(z`
|
|
76
76
|
${D(G,"setOverlayVTC(uv0);")}
|
|
77
77
|
gl_Position = transformPosition(proj, view, position);`),a.include(v,o),W.main.add(z`
|
|
78
78
|
${D(G,z`
|
|
79
79
|
calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,"calculateOcclusionAndOutputHighlight();")}
|
|
80
|
-
`);break;case
|
|
80
|
+
`);break;case 11:if(G)a.include(L,o),N.main.add(z`gl_Position = transformPosition(proj, view, position);
|
|
81
81
|
setOverlayVTC(uv0);`),W.main.add(z`fragColor = getOverlayColorTexel();`);else{const e=0===R;N.main.add(z`${D(e,"gl_Position = transformPosition(proj, view, position);")}`),W.main.add(z`fragColor = vec4(0.0);`)}}return a}const k=o(),B=a(),H=Object.freeze(Object.defineProperty({__proto__:null,TerrainPassParameters:N,build:W},Symbol.toStringTag,{value:"Module"}));export{N as T,H as a,W as b};
|