@arcgis/core 4.33.0-next.20250428 → 4.33.0-next.20250430
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/analysis/AreaMeasurementAnalysis.js +1 -1
- package/applications/Components/baUtils.js +5 -0
- package/assets/components/assets/icon/mosaicMethodBlend16.json +1 -1
- package/assets/components/assets/icon/mosaicMethodBlend24.json +1 -1
- package/assets/components/assets/icon/mosaicMethodBlend32.json +1 -1
- package/assets/components/assets/icon/mosaicMethodNorthWest32.json +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{9a1c058d3ecd1db0e996.js → 0c338364cb55afdbd580.js} +1 -1
- package/assets/esri/core/workers/chunks/{4351b3e54b309935faed.js → 173737c60fa54f7d82bb.js} +1 -1
- package/assets/esri/core/workers/chunks/{90dc783a617ff053e862.js → 181ad3cee0b30a72e7c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{6d230c55cde66ee905b3.js → 1a0d4b7de2f98ff9cc01.js} +1 -1
- package/assets/esri/core/workers/chunks/210e057fe5e66abea984.js +1 -0
- package/assets/esri/core/workers/chunks/{9850ff14bd9c7da81c65.js → 23c76963481e38f39653.js} +1 -1
- package/assets/esri/core/workers/chunks/2433b22749a088735262.js +1 -0
- package/assets/esri/core/workers/chunks/278280121528fa1059de.js +1 -0
- package/assets/esri/core/workers/chunks/2ad47c0ba1680f7d5e03.js +1 -0
- package/assets/esri/core/workers/chunks/2c3920ad82b9d86c3f05.js +1 -0
- package/assets/esri/core/workers/chunks/{4da99f058cca83937e9b.js → 2c92f6f268aa2de5432c.js} +1 -1
- package/assets/esri/core/workers/chunks/37619d28b0441199c320.js +1 -0
- package/assets/esri/core/workers/chunks/{92836e3a2c5226296fec.js → 3a205f87f100832ef9f5.js} +1 -1
- package/assets/esri/core/workers/chunks/543eb46b55cacd6e1dbc.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{2fd5b48976cefe7cc0ab.js → 581180668e0229dcdc14.js} +1 -1
- package/assets/esri/core/workers/chunks/{c054198c6438cb57f188.js → 5c2299f22a69e58cc4dd.js} +1 -1
- package/assets/esri/core/workers/chunks/60eb6dd09080da5653a1.js +1 -0
- package/assets/esri/core/workers/chunks/6210346dc9d064ac90af.js +1 -0
- package/assets/esri/core/workers/chunks/{3cf001abca8ad933bccf.js → 670a66617249f2d15a62.js} +2 -2
- package/assets/esri/core/workers/chunks/{3cf001abca8ad933bccf.js.LICENSE.txt → 670a66617249f2d15a62.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/6b9110ec7da0fef1be31.js +1 -0
- package/assets/esri/core/workers/chunks/710e03feaa25e357f17a.js +1 -0
- package/assets/esri/core/workers/chunks/{a6de903f22f76d875005.js → 7496c4c33c2d8f60a434.js} +1 -1
- package/assets/esri/core/workers/chunks/7b4523ab392966624d97.js +2 -0
- package/assets/esri/core/workers/chunks/{30551c1d3e4fa7be86c1.js.LICENSE.txt → 7b4523ab392966624d97.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{50ffb2620cdbcfd75723.js → 81b3351ea9627bb631d4.js} +1 -1
- package/assets/esri/core/workers/chunks/84d7ed2cf5fe23a0888f.js +1 -0
- package/assets/esri/core/workers/chunks/84f972d7851d982701a0.js +319 -0
- package/assets/esri/core/workers/chunks/{f52e597dca4b32a81881.js → 867c6c5b2ee1db977c99.js} +1 -1
- package/assets/esri/core/workers/chunks/{c5d786166a5609b85276.js → 8a87c181b85d0b86b9bb.js} +2 -2
- package/assets/esri/core/workers/chunks/{c5d786166a5609b85276.js.LICENSE.txt → 8a87c181b85d0b86b9bb.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{a0c51c4c30a5f749dfc6.js → 8bf2e2fe5e3e8b4a1fa0.js} +1 -1
- package/assets/esri/core/workers/chunks/8c8d812a7f2d29c29676.js +1 -0
- package/assets/esri/core/workers/chunks/{213adc87c843d627c5d6.js → 8f2e0277c66247bd40b4.js} +1 -1
- package/assets/esri/core/workers/chunks/8fc5b1c17e841362dd15.js +1 -0
- package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +1 -0
- package/assets/esri/core/workers/chunks/{a600194cfe26aedc21dd.js → 9d32f41f8f69b8a507c3.js} +1 -1
- package/assets/esri/core/workers/chunks/ac9c6779771ec855da79.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{899f197556b6ced6eddf.js → ad9b4e0164706c53b872.js} +2 -2
- package/assets/esri/core/workers/chunks/{9661ee8569ee208e6237.js → ada9694498549f56dff1.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a6d2d090b643a87408a.js → b780c7062b1b18a5ae19.js} +1 -1
- package/assets/esri/core/workers/chunks/{72097a8247101018dcdf.js → ba4aafa8dfa76006c3e7.js} +1 -1
- package/assets/esri/core/workers/chunks/c2594024d72133d3ed7b.js +2 -0
- package/assets/esri/core/workers/chunks/{e524462c63834fae7e01.js.LICENSE.txt → c2594024d72133d3ed7b.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{360c8cff7c3b25d2b2d2.js → c607d618b64d3accecc4.js} +1 -1
- package/assets/esri/core/workers/chunks/{b8b8425e8b1246cdc86d.js → c6b0dda0540c9db12d0e.js} +1 -1
- package/assets/esri/core/workers/chunks/c819535525e9a27bae1f.js +39 -0
- package/assets/esri/core/workers/chunks/{87dcfbbcf290e0fa5c0f.js → cb25b45a6b385e60c68d.js} +315 -378
- package/assets/esri/core/workers/chunks/{577f24923fa4d08360e4.js → ce9de24cb96b56d20562.js} +2 -2
- package/assets/esri/core/workers/chunks/{577f24923fa4d08360e4.js.LICENSE.txt → ce9de24cb96b56d20562.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/d30fae6233d3426615ed.js +1 -0
- package/assets/esri/core/workers/chunks/d8dc922f7466300b668f.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/d92ea6b0674f34206ab6.js +1 -0
- package/assets/esri/core/workers/chunks/{345993291540433d3d92.js → e93222c65bd28203ddf7.js} +1 -1
- package/assets/esri/core/workers/chunks/f1222bf7232c4a168312.js +1 -0
- package/assets/esri/themes/base/widgets/_Legend.scss +2 -1
- package/assets/esri/themes/base/widgets/_SelectionList.scss +5 -17
- 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/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/chunks/BloomBlur.glsl.js +1 -1
- package/chunks/BloomComposition.glsl.js +2 -2
- package/chunks/ChapmanAtmosphere.glsl.js +1 -1
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ComponentShader.glsl.js +43 -39
- package/chunks/DefaultMaterial.glsl.js +22 -22
- package/chunks/Fog.glsl.js +3 -3
- package/chunks/Haze.glsl.js +1 -1
- package/chunks/Path.glsl.js +22 -18
- package/chunks/RealisticTree.glsl.js +9 -9
- package/chunks/RibbonLine.glsl.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +5 -5
- package/chunks/ShadowHighlight.glsl.js +4 -4
- package/chunks/Terrain.glsl.js +1 -1
- package/chunks/Viewshed.glsl.js +1 -1
- package/core/Collection.js +1 -1
- package/core/CollectionFlattener.js +1 -1
- package/core/MemCache.js +1 -1
- package/geometry/support/PolylineBuilder.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +5 -0
- package/geometry/support/curves/circleUtils.js +5 -0
- package/geometry/support/curves/circularArcUtils.js +5 -0
- package/geometry/support/curves/closestPointOnCurve.js +5 -0
- package/geometry/support/curves/curveUtils.js +5 -0
- package/geometry/support/curves/densifyCurvedGeometry.js +5 -0
- package/geometry/support/curves/ellipticArc4Utils.js +5 -0
- package/geometry/support/curves/ellipticArc7Utils.js +5 -0
- package/geometry/support/curves/mathUtils.js +5 -0
- package/geometry/support/curves/splitCurveAtPoint.js +5 -0
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +485 -20
- package/layers/LinkChartLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/package.json +3 -3
- package/portal/schemas/definitions.js +1 -1
- package/request.js +1 -1
- package/rest/knowledgeGraph/GraphAddNamedTypesResult.js +5 -0
- package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.js +5 -0
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +5 -0
- package/rest/knowledgeGraph/wasmInterface/wasmUtils.js +1 -1
- package/rest/knowledgeGraphService.js +1 -1
- package/rest/networks/circuits/alterCircuit.js +5 -0
- package/rest/networks/circuits/createCircuit.js +5 -0
- package/rest/networks/circuits/deleteCircuits.js +5 -0
- package/rest/networks/circuits/queryCircuits.js +5 -0
- package/rest/networks/circuits/support/CircuitVerifyResult.js +5 -0
- package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +5 -0
- package/rest/networks/circuits/support/DeleteCircuitsParameters.js +5 -0
- package/rest/networks/circuits/support/QueryCircuitsParameters.js +5 -0
- package/rest/networks/circuits/support/QueryCircuitsResult.js +5 -0
- package/rest/networks/circuits/support/VerifyCircuitsParameters.js +5 -0
- package/rest/networks/circuits/support/VerifyCircuitsResult.js +5 -0
- package/rest/networks/circuits/verifyCircuits.js +5 -0
- package/smartMapping/renderers/support/spikeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMOperators.js +1 -1
- package/symbols/cim/effects/EffectSuppress.js +5 -0
- package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +1 -1
- package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/FeatureProcessingContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/Point3DSymbolRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/SimpleFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/UniqueValueFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/factoryUtils.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +20 -19
- package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +30 -125
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +27 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +28 -0
- package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/effects/weather/SnowCover.glsl.js +12 -0
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.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/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +9 -9
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ReadShadowMapConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +2 -20
- package/views/VideoView.js +1 -1
- package/views/support/LayerViewManager.js +1 -1
- package/webscene/support/FeatureReference.d.ts +4 -0
- package/webscene/support/FeatureReference.js +5 -0
- package/webscene/support/FeatureReferenceGlobalId.d.ts +4 -0
- package/webscene/support/FeatureReferenceGlobalId.js +5 -0
- package/webscene/support/FeatureReferenceId.d.ts +4 -0
- package/webscene/support/FeatureReferenceId.js +5 -0
- package/webscene/support/FeatureReferenceObjectId.d.ts +4 -0
- package/webscene/support/FeatureReferenceObjectId.js +5 -0
- package/webscene/support/LayerReference.d.ts +4 -0
- package/webscene/support/LayerReference.js +5 -0
- package/webscene/support/SlideElements.js +1 -1
- package/webscene/support/SlidePopupInfo.d.ts +4 -0
- package/webscene/support/SlidePopupInfo.js +5 -0
- package/webscene/support/featureReferenceUtils.js +5 -0
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/FeatureForm/EditableInput.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/VideoPlayer.js +1 -1
- package/widgets/support/SelectionList/FeatureItem.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/assets/esri/core/workers/chunks/27482132abb939a1cdb7.js +0 -1
- package/assets/esri/core/workers/chunks/2e3019ce49e972a815ca.js +0 -1
- package/assets/esri/core/workers/chunks/30551c1d3e4fa7be86c1.js +0 -2
- package/assets/esri/core/workers/chunks/3293b4041c222299428f.js +0 -1
- package/assets/esri/core/workers/chunks/335b539893569e3d7b82.js +0 -1
- package/assets/esri/core/workers/chunks/53eaad20c4f55dae21e0.js +0 -1
- package/assets/esri/core/workers/chunks/5ac3096139e3eafd0e1d.js +0 -1
- package/assets/esri/core/workers/chunks/626ba3a7dee952308566.js +0 -1
- package/assets/esri/core/workers/chunks/76575d2c1c56e37c1315.js +0 -319
- package/assets/esri/core/workers/chunks/7c4746f60332620f75c5.js +0 -1
- package/assets/esri/core/workers/chunks/8221f2e540abe1e0f048.js +0 -1
- package/assets/esri/core/workers/chunks/ae156b99e60a2bf940e4.js +0 -1
- package/assets/esri/core/workers/chunks/bf4947fe446dcb477031.js +0 -1
- package/assets/esri/core/workers/chunks/c6b08fdc0421258efcf5.js +0 -1
- package/assets/esri/core/workers/chunks/cd2927b922444880566d.js +0 -1
- package/assets/esri/core/workers/chunks/d3a74087e076a3ae76ca.js +0 -1
- package/assets/esri/core/workers/chunks/d44e99b4bb1cec6a922b.js +0 -1
- package/assets/esri/core/workers/chunks/e524462c63834fae7e01.js +0 -2
- package/assets/esri/core/workers/chunks/e64bc4533405af8554ae.js +0 -1
- package/assets/esri/core/workers/chunks/e64e0c3240f8e577a61c.js +0 -39
- package/assets/esri/core/workers/chunks/fd36b7aaf0d8e0c84471.js +0 -1
- package/geometry/support/curveUtils.js +0 -5
- package/geometry/support/densifyUtils.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/Factory.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/TestObjectSymbol.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/TestSymbol.js +0 -5
- package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechniqueConfiguration.js +0 -5
- package/widgets/support/InteractiveAnalysisViewModel.js +0 -5
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as d,isColorOrColorEmission as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as g}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as
|
|
5
|
+
import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as d,isColorOrColorEmission as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as g}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L,addMainLightDirection as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as N,PhysicallyBasedRenderingParameters as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as M,getIMColorTexture as A}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{EllipsoidMode as W}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{If as P,glsl as B}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as z}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as E}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as I}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as V}from"../webscene/support/AlphaCutoff.js";function H(H){const _=new I,{vertex:G,fragment:k}=_;_.include(u,H),_.include(v,H),_.include(c,H),_.include(m,H),_.include(n,H),_.include(i,H),_.include(D,H),k.include(g,H),_.include(O,H),_.include(T,H);const{output:U,pbrMode:q,hasNormalTexture:J,snowCover:K,receiveShadows:Q,shadeNormals:X,spherical:Y,ellipsoidMode:Z,overlayEnabled:ee,componentData:oe,vertexDiscardMode:re,hasBloom:ae}=H,ie=q===N.Normal||q===N.Schematic;ie&&(_.include(S,H),J&&_.include(f,H));const le=U===d.Shadow||U===d.ShadowHighlight||U===d.ShadowExcludeHighlight,te=le&&oe===l.Varying;if(ee){_.include(y,H),_.include(M,H);const a=Z===W.Earth,i=Z===W.Earth,l=a?e.radius:i?o.radius:r.radius;G.code.add(`\n ${P(Y,`const float invRadius = ${B.float(1/l)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${P(Y,"/ (1.0 + invRadius * pos.z);")}; }`)}const ne=ee&&s(U)&&q===N.WaterOnIntegratedMesh;ne&&(_.varyings.add("tbnTangent","vec3"),_.varyings.add("tbnBiTangent","vec3"),_.varyings.add("groundNormal","vec3"));const de=re===t.None,se=re===t.Opaque,ge=1-1/255;if(G.main.add(B`
|
|
6
6
|
bool castShadows;
|
|
7
7
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
8
|
-
${
|
|
8
|
+
${P(te,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
|
|
9
9
|
|
|
10
|
-
${
|
|
10
|
+
${P(!de,`{ if (externalColor.a ${se?">":"<="} ${B.float(ge)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
|
|
11
11
|
|
|
12
|
-
${
|
|
12
|
+
${P(U===d.ObjectAndLayerIdColor,"externalColor.a = 1.0;")}
|
|
13
13
|
|
|
14
14
|
forwardPosition(readElevationOffset());
|
|
15
15
|
forwardViewPosDepth(vPosition_view);
|
|
@@ -18,24 +18,24 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
18
18
|
forwardVertexColor();
|
|
19
19
|
forwardLinearDepth();
|
|
20
20
|
forwardObjectAndLayerIdColor();
|
|
21
|
-
${
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
${
|
|
21
|
+
${P(ne,Y?B`
|
|
22
|
+
groundNormal = normalize(positionWorld());
|
|
23
|
+
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
|
|
24
|
+
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:B`
|
|
25
|
+
groundNormal = vec3(0.0, 0.0, 1.0);
|
|
26
|
+
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
27
|
+
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
28
|
+
${P(ee,"setOverlayVTC(projectOverlay(position));")}
|
|
29
29
|
|
|
30
|
-
if (externalColor.a < ${
|
|
30
|
+
if (externalColor.a < ${B.float(V)}) {
|
|
31
31
|
// Discard this vertex
|
|
32
32
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
`),s(
|
|
35
|
+
`),s(U))return _.include(C,H),_.include(b,H),_.include(y,H),_.include(E,H),k.include(z,H),Q&&_.include($,H),k.code.add(B`
|
|
36
36
|
float evaluateShadow() {
|
|
37
|
-
return ${
|
|
38
|
-
}`),
|
|
37
|
+
return ${Q?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
|
|
38
|
+
}`),ee&&k.uniforms.add(new R("ovColorTex",((e,o)=>A(e,o)))),k.main.add(B`
|
|
39
39
|
discardBySlice(vPositionWorldCameraRelative);
|
|
40
40
|
discardByTerrainDepth();
|
|
41
41
|
|
|
@@ -47,45 +47,49 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
47
47
|
readExternalColor(externalColor, externalColorMixMode);
|
|
48
48
|
|
|
49
49
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
50
|
-
${
|
|
51
|
-
`),
|
|
50
|
+
${P(ee,B`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`)}
|
|
51
|
+
`),ie?(L(k),Y&&x(k),k.main.add(B`
|
|
52
52
|
applyPBRFactors();
|
|
53
|
-
${
|
|
53
|
+
${P(q===N.Normal,B`if (externalColorMixMode == 3) {
|
|
54
54
|
mrr = vec3(0.0, 0.6, 0.2);
|
|
55
55
|
}`)}
|
|
56
56
|
float additionalIrradiance = 0.02 * mainLightIntensity[2];
|
|
57
|
-
${
|
|
58
|
-
vec3 shadingNormal = ${
|
|
59
|
-
vec3
|
|
57
|
+
${P(J,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
|
|
58
|
+
vec3 shadingNormal = ${J?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
|
|
59
|
+
vec3 groundNormal = ${Y?B`normalize(positionWorld())`:B`vec3(0.0, 0.0, 1.0)`};
|
|
60
60
|
|
|
61
61
|
vec3 viewDir = normalize(vPositionWorldCameraRelative);
|
|
62
62
|
float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
|
|
63
|
-
${
|
|
63
|
+
${P(K,B`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
64
64
|
materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
|
|
65
65
|
ssao = mix(ssao, 0.5 * ssao, snow);
|
|
66
66
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
67
|
-
${
|
|
67
|
+
${P(ee,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
68
68
|
|
|
69
69
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
70
|
-
vec4 emission = ${
|
|
71
|
-
${
|
|
72
|
-
${
|
|
73
|
-
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir,
|
|
74
|
-
`)):(
|
|
75
|
-
${
|
|
76
|
-
float shadow = ${
|
|
70
|
+
vec4 emission = ${ae?"vec4(0.0)":"getEmissions(materialColor.rgb)"};
|
|
71
|
+
${P(Y,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
72
|
+
${Y?B`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
|
|
73
|
+
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, emission, additionalIrradiance), materialColor.a);
|
|
74
|
+
`)):(j(k),Y&&x(k),ne&&k.uniforms.add(new F("ovNormalTex",(e=>e.overlay?.getTexture(a.WaterNormal)))),k.main.add(B`
|
|
75
|
+
${P(Y,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
76
|
+
float shadow = ${Q?Y?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":Y?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
|
|
77
77
|
|
|
78
|
-
${
|
|
78
|
+
${P(Q&&!X,B`
|
|
79
|
+
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
80
|
+
if( dotFL <= 0.0) shadow = 1.0;
|
|
81
|
+
`)}
|
|
82
|
+
${P(K,B`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
79
83
|
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
|
|
80
84
|
|
|
81
85
|
// At global scale we create some additional ambient light based on the main light to simulate global illumination
|
|
82
86
|
float ssao = evaluateAmbientOcclusion();
|
|
83
87
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
84
88
|
|
|
85
|
-
${
|
|
89
|
+
${P(ee,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
86
90
|
|
|
87
91
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
|
|
88
|
-
${
|
|
92
|
+
${P(ne,B`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
|
|
89
93
|
float waterNormalLength = length(overlayWaterMask);
|
|
90
94
|
if (waterNormalLength > 0.95) {
|
|
91
95
|
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
|
|
@@ -94,13 +98,13 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
94
98
|
// un-gamma the ground color to mix in linear space
|
|
95
99
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
96
100
|
}`)}
|
|
97
|
-
`)),
|
|
101
|
+
`)),k.main.add(`outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative, materialColor.rgb ${P(K,", snow")});`),_;const me=U===d.Normal,ce=U===d.ObjectAndLayerIdColor,ve=U===d.Highlight,ue=le||U===d.ViewshedShadow;return ue&&_.include(h,H),me&&_.include(b,H),ee&&_.include(p,H),_.include(w,H),k.main.add(B`
|
|
98
102
|
discardBySlice(vPositionWorldCameraRelative);
|
|
99
103
|
|
|
100
104
|
vec4 textureColor = readBaseColorTexture();
|
|
101
105
|
discardOrAdjustAlpha(textureColor);
|
|
102
106
|
|
|
103
|
-
${
|
|
104
|
-
${
|
|
105
|
-
${
|
|
106
|
-
${
|
|
107
|
+
${P(ue,"outputDepth(linearDepth);")}
|
|
108
|
+
${P(me,B`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
|
|
109
|
+
${P(ce,ee?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
|
|
110
|
+
${P(ve,P(ee,B`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,B`calculateOcclusionAndOutputHighlight();`))}`),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:H},Symbol.toStringTag,{value:"Module"}));export{_ as C,H as b};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ForwardLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as n,NormalType as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as b}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as
|
|
5
|
+
import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ForwardLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as n,NormalType as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as b}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as h,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as P,ReadShadowMapDraw as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as T,normalTextureUV as N,emissiveTextureUV as M,occlusionTextureUV as V,metallicRoughnessTextureUV as A}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as I,addCameraPosition as B}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as U}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as R,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as G}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as W}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{VertexAttribute as k}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as H}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as q}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as J}from"../webscene/support/AlphaCutoff.js";function K(K){const Q=new q,{attributes:X,vertex:Y,fragment:Z,varyings:ee}=Q,{output:re,normalType:oe,offsetBackfaces:ie,instancedColor:ae,spherical:le,receiveShadows:se,snowCover:ne,pbrMode:te,textureAlphaPremultiplied:de,instancedDoublePrecision:ce,hasVertexColors:me,hasVertexTangents:ge,hasColorTexture:ve,hasNormalTexture:be,hasNormalTextureTransform:ue,hasColorTextureTransform:we,hasBloom:pe}=K;if(I(Y,K),X.add(k.POSITION,"vec3"),ee.add("vpos","vec3",{invariant:!0}),Q.include($,K),Q.include(s,K),Q.include(v,K),Q.include(T,K),!i(re))return Q.include(b,K),Q;Q.include(N,K),Q.include(M,K),Q.include(V,K),Q.include(A,K),B(Y,K),Q.include(n,K),Q.include(l,K);const he=oe===t.Attribute||oe===t.Compressed;return he&&ie&&Q.include(o),Q.include(u,K),Q.include(g,K),ae&&Q.attributes.add(k.INSTANCECOLOR,"vec4"),ee.add("vPositionLocal","vec3"),Q.include(c,K),Q.include(r,K),Q.include(d,K),Q.include(m,K),Y.uniforms.add(new F("externalColor",(r=>"ignore"===r.colorMixMode?e:r.externalColor))),ee.add("vcolorExt","vec4"),Q.include(O,K),Y.main.add(R`
|
|
6
6
|
forwardNormalizedVertexColor();
|
|
7
7
|
vcolorExt = externalColor;
|
|
8
|
-
${z(
|
|
8
|
+
${z(ae,"vcolorExt *= instanceColor * 0.003921568627451;")}
|
|
9
9
|
vcolorExt *= vvColor();
|
|
10
10
|
vcolorExt *= getSymbolColor();
|
|
11
11
|
forwardColorMixMode();
|
|
@@ -15,9 +15,9 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
|
|
|
15
15
|
vpos = subtractOrigin(vpos);
|
|
16
16
|
${z(he,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
|
|
17
17
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
18
|
-
${z(
|
|
18
|
+
${z(ge,"vTangent = dpTransformVertexTangent(tangent);")}
|
|
19
19
|
gl_Position = transformPosition(proj, view, vpos);
|
|
20
|
-
${z(he&&
|
|
20
|
+
${z(he&&ie,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
|
|
21
21
|
|
|
22
22
|
forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
|
|
23
23
|
forwardLinearDepth();
|
|
@@ -28,18 +28,18 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
|
|
|
28
28
|
forwardOcclusionUV();
|
|
29
29
|
forwardMetallicRoughnessUV();
|
|
30
30
|
|
|
31
|
-
if (vcolorExt.a < ${R.float(
|
|
31
|
+
if (vcolorExt.a < ${R.float(J)}) {
|
|
32
32
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
33
33
|
}
|
|
34
|
-
`),
|
|
34
|
+
`),Q.include(p,K),Z.include(w,K),Q.include(D,K),Q.include(ce?P:S,K),Z.include(a,K),Q.include(H,K),B(Z,K),Z.uniforms.add(Y.uniforms.get("localOrigin"),new U("ambient",(e=>e.ambient)),new U("diffuse",(e=>e.diffuse)),new _("opacity",(e=>e.opacity)),new _("layerOpacity",(e=>e.layerOpacity))),ve&&Z.uniforms.add(new G("tex",(e=>e.texture))),Q.include(L,K),Z.include(C,K),Z.include(E),Q.include(y,K),Z.include(W,K),h(Z),f(Z),x(Z),Z.main.add(R`
|
|
35
35
|
discardBySlice(vpos);
|
|
36
36
|
discardByTerrainDepth();
|
|
37
|
-
${
|
|
38
|
-
vec4 texColor = texture(tex, ${
|
|
39
|
-
${z(
|
|
37
|
+
${ve?R`
|
|
38
|
+
vec4 texColor = texture(tex, ${we?"colorUV":"vuv0"});
|
|
39
|
+
${z(de,"texColor.rgb /= texColor.a;")}
|
|
40
40
|
discardOrAdjustAlpha(texColor);`:R`vec4 texColor = vec4(1.0);`}
|
|
41
41
|
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
42
|
-
${
|
|
42
|
+
${oe===t.ScreenDerivative?R`vec3 normal = screenDerivativeNormal(vPositionLocal);`:R`shadingParams.normalView = vNormalWorld;
|
|
43
43
|
vec3 normal = shadingNormal(shadingParams);`}
|
|
44
44
|
applyPBRFactors();
|
|
45
45
|
float ssao = evaluateAmbientOcclusionInverse() * getBakedOcclusion();
|
|
@@ -47,27 +47,27 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
|
|
|
47
47
|
vec3 posWorld = vpos + localOrigin;
|
|
48
48
|
|
|
49
49
|
float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
|
|
50
|
-
float shadow = ${
|
|
50
|
+
float shadow = ${se?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth))":z(le,"lightingGlobalFactor * (1.0 - additionalAmbientScale)","0.0")};
|
|
51
51
|
|
|
52
52
|
vec3 matColor = max(ambient, diffuse);
|
|
53
|
-
vec3 albedo = mixExternalColor(${z(
|
|
54
|
-
float opacity_ = layerOpacity * mixExternalOpacity(${z(
|
|
55
|
-
${
|
|
56
|
-
vec3 normalGround = ${
|
|
53
|
+
vec3 albedo = mixExternalColor(${z(me,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
54
|
+
float opacity_ = layerOpacity * mixExternalOpacity(${z(me,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
55
|
+
${be?`mat3 tangentSpace = computeTangentSpace(${ge?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${ue?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
|
|
56
|
+
vec3 normalGround = ${le?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
|
|
57
57
|
|
|
58
|
-
${z(
|
|
59
|
-
float snow =
|
|
58
|
+
${z(ne,R`
|
|
59
|
+
float snow = getSnow(normal, normalGround);
|
|
60
60
|
albedo = mix(albedo, vec3(1), snow);
|
|
61
61
|
shadingNormal = mix(shadingNormal, normal, snow);
|
|
62
62
|
ssao = mix(ssao, 1.0, snow);`)}
|
|
63
63
|
|
|
64
64
|
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
65
65
|
|
|
66
|
-
${
|
|
66
|
+
${te===j.Normal||te===j.Schematic?R`
|
|
67
67
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
|
|
68
|
-
vec4 emission = ${
|
|
69
|
-
${z(
|
|
68
|
+
vec4 emission = ${pe?"vec4(0.0)":"getEmissions(albedo)"};
|
|
69
|
+
${z(ne,"mrr = applySnowToMRR(mrr, snow);\n emission = snowCoverForEmissions(emission, snow);")}
|
|
70
70
|
vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:R`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
|
|
71
71
|
vec4 finalColor = vec4(shadedColor, opacity_);
|
|
72
|
-
outputColorHighlightOID(finalColor, vpos, albedo);
|
|
73
|
-
`),
|
|
72
|
+
outputColorHighlightOID(finalColor, vpos, albedo ${z(ne,", snow")});
|
|
73
|
+
`),Q}const Q=Object.freeze(Object.defineProperty({__proto__:null,build:K},Symbol.toStringTag,{value:"Module"}));export{Q as D,K as b};
|
package/chunks/Fog.glsl.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as l}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as d
|
|
5
|
+
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as l}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as g}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class c extends g{constructor(){super(...arguments),this.color=e(),this.strength=4e-6,this.atmosphereC=1,this.amount=0}}function f(){const e=new p;e.include(m,{needUVs:!0,needEyeDirection:!0});const g=e.fragment;return g.uniforms.add(new s("atmosphereC",(e=>e.atmosphereC)),new a("cameraPosition",(e=>e.camera.eye)),new n("depthTexture",(e=>e.mainDepth)),new s("fogStrength",(e=>e.strength)),new s("fogAmount",(e=>e.amount)),new t("fogColor",(e=>e.color))),g.include(o),g.include(l),g.include(d),g.include(r),g.code.add(i`float getFogAmount(float dist, vec3 rayDir) {
|
|
6
6
|
if(dist == -1.0){
|
|
7
7
|
dist = 0.055 * sphereIntersect(cameraPosition, rayDir, atmosphereC).y;
|
|
8
8
|
}
|
|
9
9
|
return fogAmount * (1.0 - exp(-dist * fogStrength));
|
|
10
|
-
}`),
|
|
10
|
+
}`),g.main.add(i`vec3 rayDir = normalize(worldRay);
|
|
11
11
|
float terrainDepth = -1.0;
|
|
12
12
|
float depthSample = depthFromTexture(depthTexture, uv);
|
|
13
13
|
if(depthSample < 1.0 && depthSample > 0.0){
|
|
@@ -18,4 +18,4 @@ terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
|
18
18
|
}
|
|
19
19
|
float fogAmount = getFogAmount(terrainDepth, rayDir);
|
|
20
20
|
vec4 fog = vec4(fogColor, 1.0) * fogAmount;
|
|
21
|
-
fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),e}const
|
|
21
|
+
fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),e}const h=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:c,build:f},Symbol.toStringTag,{value:"Module"}));export{c as F,h as a,f as b};
|
package/chunks/Haze.glsl.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as s}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function h(h){const m=new c,{fragment:g}=m;m.include(d),a(g),
|
|
5
|
+
import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as s}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function h(h){const m=new c,{fragment:g}=m;m.include(d),a(g),g.include(t),g.include(r),g.include(s),g.include(p),g.include(e,!0),g.uniforms.add(new l("depthTexture",(e=>e.mainDepth)),new i("hazeStrength",(e=>e.hazeStrength)));const{reduced:u}=h;return u&&g.code.add(n`float getDepth(vec2 uv){
|
|
6
6
|
return linearDepthFromTexture(depthTexture, uv);
|
|
7
7
|
}
|
|
8
8
|
float textureBilinear(vec2 uv) {
|
package/chunks/Path.glsl.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as
|
|
5
|
+
import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as o,ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as n}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as m,addAmbientBoostFactor as g,addLightingGlobalFactor as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as L,addViewNormal as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as I}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as B}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as F}from"../views/webgl/ShaderBuilder.js";function x(x){const V=new F,{vertex:_,fragment:M,varyings:$}=V;L(_,x),$.add("vpos","vec3",{invariant:!0}),V.include(s,x);const{output:z,spherical:H,pbrMode:N,receiveShadows:E,hasBloom:G,snowCover:T}=x,k=o(z);switch((k||z===a.ObjectAndLayerIdColor)&&(V.include(n,x),V.include(f,x),V.include(e,x),V.include(l,x),V.include(y,x),$.add("vnormal","vec3"),$.add("vcolor","vec4"),_.main.add(A`
|
|
6
6
|
vpos = calculateVPos();
|
|
7
7
|
vnormal = normalize(localNormal());
|
|
8
8
|
forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
|
|
9
9
|
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
11
|
|
|
12
|
-
${
|
|
12
|
+
${k?"forwardLinearDepth();":""}
|
|
13
13
|
forwardObjectAndLayerIdColor();
|
|
14
14
|
|
|
15
|
-
vcolor = getColor();`)),
|
|
15
|
+
vcolor = getColor();`)),z){case a.ColorEmission:case a.Color:V.include(b,x),V.include(m,x),M.include(c,x),V.include(f,x),V.include(p,x),M.include(r,x),V.include(B,x),S(M,x),g(M),v(M),M.uniforms.add(_.uniforms.get("localOrigin"),new O("ambient",(e=>e.ambient)),new O("diffuse",(e=>e.diffuse)),new C("opacity",(e=>e.opacity))),M.include(j),M.include(I,x),h(M),M.main.add(A`
|
|
16
16
|
discardBySlice(vpos);
|
|
17
17
|
discardByTerrainDepth();
|
|
18
18
|
|
|
@@ -24,26 +24,30 @@ import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/cor
|
|
|
24
24
|
vec3 posWorld = vpos + localOrigin;
|
|
25
25
|
vec3 normalGround = ${H?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
|
|
26
26
|
|
|
27
|
-
float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
|
|
28
|
-
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
29
|
-
float shadow = ${$?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":H?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
|
|
30
27
|
vec3 albedo = vcolor.rgb * max(ambient, diffuse); // combine the old material parameters into a single one
|
|
31
28
|
float combinedOpacity = vcolor.a * opacity;
|
|
32
|
-
albedo += 0.25 * specular; // don't completely ignore specular for now
|
|
33
29
|
|
|
34
|
-
${D(
|
|
30
|
+
${D(T,A`float snow = getSnow(normal, normalGround);
|
|
31
|
+
albedo = mix(albedo, vec3(1), snow);
|
|
32
|
+
ssao = mix(ssao, 1.0, snow);`)}
|
|
33
|
+
|
|
34
|
+
float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
|
|
35
|
+
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
36
|
+
float shadow = ${E?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":H?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
|
|
37
|
+
|
|
38
|
+
${D(N===u.Schematic,`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n vec4 emission = ${G?"vec4(0.0)":"getEmissions(albedo)"};\n ${D(T,"mrr = applySnowToMRR(mrr, snow);\n emission = snowCoverForEmissions(emission, snow);")}`)}
|
|
35
39
|
|
|
36
|
-
vec3 shadedColor = ${N===
|
|
40
|
+
vec3 shadedColor = ${N===u.Schematic?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
|
|
37
41
|
vec4 finalColor = vec4(shadedColor, combinedOpacity);
|
|
38
|
-
outputColorHighlightOID(finalColor, vpos, albedo);`);break;case
|
|
39
|
-
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,
|
|
40
|
-
gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),V.fragment.include(r,
|
|
41
|
-
outputDepth(depth);`);break;case
|
|
42
|
-
outputObjectAndLayerIdColor();`);break;case
|
|
42
|
+
outputColorHighlightOID(finalColor, vpos, albedo ${D(T,", snow")});`);break;case a.Depth:V.include(n,x),_.main.add(A`vpos = calculateVPos();
|
|
43
|
+
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,x),M.main.add(A`discardBySlice(vpos);`);break;case a.Shadow:case a.ShadowHighlight:case a.ShadowExcludeHighlight:case a.ViewshedShadow:V.include(n,x),i(V),$.add("depth","float"),_.main.add(A`vpos = calculateVPos();
|
|
44
|
+
gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),V.fragment.include(r,x),V.include(d,x),M.main.add(A`discardBySlice(vpos);
|
|
45
|
+
outputDepth(depth);`);break;case a.ObjectAndLayerIdColor:V.fragment.include(r,x),M.main.add(A`discardBySlice(vpos);
|
|
46
|
+
outputObjectAndLayerIdColor();`);break;case a.Normal:V.include(n,x),V.include(w,x),P(_),$.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
|
|
43
47
|
vnormal = normalize((viewNormal * vec4(localNormal(), 1.0)).xyz);
|
|
44
|
-
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,
|
|
48
|
+
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,x),M.main.add(A`discardBySlice(vpos);
|
|
45
49
|
vec3 normal = normalize(vnormal);
|
|
46
50
|
if (gl_FrontFacing == false) normal = -normal;
|
|
47
|
-
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case
|
|
48
|
-
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,
|
|
49
|
-
calculateOcclusionAndOutputHighlight();`)}return V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:
|
|
51
|
+
fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case a.Highlight:V.include(n,x),V.include(w,x),$.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
|
|
52
|
+
gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,x),V.include(t,x),M.main.add(A`discardBySlice(vpos);
|
|
53
|
+
calculateOcclusionAndOutputHighlight();`)}return V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:x},Symbol.toStringTag,{value:"Module"}));export{V as P,x as b};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}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{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as v,addAmbientBoostFactor as b,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as
|
|
5
|
+
import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}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{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as v,addAmbientBoostFactor as b,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as p,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PBRMode as f,PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as y,ReadShadowMapDraw as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as $}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as N}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as I}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as V}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function R(R){const _=new V,{attributes:z,vertex:k,fragment:G,varyings:U}=_,{output:W,offsetBackfaces:H,instancedColor:q,pbrMode:J,snowCover:K,spherical:Q,hasBloom:X}=R,Y=J===f.Normal||J===f.Schematic;if(P(k,R),z.add(I.POSITION,"vec3"),U.add("vpos","vec3",{invariant:!0}),_.include(j,R),_.include(l,R),_.include(c,R),_.include(L,R),r(W)&&(S(_.vertex,R),_.include(t,R),_.include(a,R),H&&_.include(o),q&&_.attributes.add(I.INSTANCECOLOR,"vec4"),U.add("vNormalWorld","vec3"),U.add("localvpos","vec3",{invariant:!0}),_.include(n,R),_.include(e,R),_.include(s,R),_.include(d,R),k.uniforms.add(new E("externalColor",(e=>e.externalColor))),U.add("vcolorExt","vec4"),k.main.add(F`
|
|
6
6
|
forwardNormalizedVertexColor();
|
|
7
7
|
vcolorExt = externalColor;
|
|
8
|
-
${
|
|
8
|
+
${$(q,"vcolorExt *= instanceColor * 0.003921568627451;")}
|
|
9
9
|
vcolorExt *= vvColor();
|
|
10
10
|
vcolorExt *= getSymbolColor();
|
|
11
11
|
forwardColorMixMode();
|
|
@@ -23,12 +23,12 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
|
23
23
|
forwardTextureCoordinates();
|
|
24
24
|
|
|
25
25
|
gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
|
|
26
|
-
${
|
|
27
|
-
`)),r(W)){const{hasColorTexture:e,hasColorTextureTransform:o,receiveShadows:r}=R;_.include(v,R),
|
|
26
|
+
${$(H,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
|
|
27
|
+
`)),r(W)){const{hasColorTexture:e,hasColorTextureTransform:o,receiveShadows:r}=R;_.include(v,R),G.include(m,R),_.include(O,R),_.include(R.instancedDoublePrecision?y:C,R),G.include(i,R),_.include(T,R),S(G,R),p(G),b(G),w(G),G.uniforms.add(k.uniforms.get("localOrigin"),k.uniforms.get("view"),new A("ambient",(e=>e.ambient)),new A("diffuse",(e=>e.diffuse)),new D("opacity",(e=>e.opacity)),new D("layerOpacity",(e=>e.layerOpacity))),e&&G.uniforms.add(new N("tex",(e=>e.texture))),_.include(x,R),G.include(u,R),G.include(M),h(G),G.main.add(F`
|
|
28
28
|
discardBySlice(vpos);
|
|
29
29
|
discardByTerrainDepth();
|
|
30
30
|
vec4 texColor = ${e?`texture(tex, ${o?"colorUV":"vuv0"})`:" vec4(1.0)"};
|
|
31
|
-
${
|
|
31
|
+
${$(e,`${$(R.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
|
|
32
32
|
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
33
33
|
applyPBRFactors();
|
|
34
34
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
@@ -41,7 +41,7 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
|
41
41
|
${R.hasVertexColors?F`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
42
42
|
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:F`vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
43
43
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));`}
|
|
44
|
-
${
|
|
44
|
+
${$(K,"albedo = mix(albedo, vec3(1), 0.9);")}
|
|
45
45
|
${F`vec3 shadingNormal = normalize(vNormalWorld);
|
|
46
46
|
albedo *= 1.2;
|
|
47
47
|
vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
|
|
@@ -50,10 +50,10 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
|
50
50
|
float treeRadialFalloff = vColor.r;
|
|
51
51
|
float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
|
|
52
52
|
additionalLight += backLightFactor * mainLightIntensity;`}
|
|
53
|
-
${
|
|
53
|
+
${$(Y,`vec3 normalGround = ${Q?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};`)}
|
|
54
54
|
${Y?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
|
|
55
|
-
${
|
|
55
|
+
${$(K,F`mrr = applySnowToMRR(mrr, 1.0)`)}
|
|
56
56
|
vec4 emission = ${K||X?"vec4(0.0)":"getEmissions(albedo)"};
|
|
57
57
|
vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:F`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
|
|
58
58
|
vec4 finalColor = vec4(shadedColor, opacity_);
|
|
59
|
-
outputColorHighlightOID(finalColor, vpos, albedo);`)}return _.include(g,R),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{_ as R,R as b};
|
|
59
|
+
outputColorHighlightOID(finalColor, vpos, albedo ${$(K,", 1.0")});`)}return _.include(g,R),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{_ as R,R as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as L}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as w}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as y}from"../webscene/support/AlphaCutoff.js";const j=1;function P(P){const C=new b,{attributes:F,varyings:A,vertex:R,fragment:z}=C,{applyMarkerOffset:T,draped:V,output:W,capType:E,stippleEnabled:O,falloffEnabled:M,roundJoins:N,wireframe:_,innerColorEnabled:I}=P;
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as L}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as w}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as y}from"../webscene/support/AlphaCutoff.js";const j=1;function P(P){const C=new b,{attributes:F,varyings:A,vertex:R,fragment:z}=C,{applyMarkerOffset:T,draped:V,output:W,capType:E,stippleEnabled:O,falloffEnabled:M,roundJoins:N,wireframe:_,innerColorEnabled:I}=P;z.include(s),C.include(n,P),C.include(r,P),C.include(t,P),C.include(l,P);const k=T&&!V;k&&(R.uniforms.add(new h("markerScale",(e=>e.markerScale))),C.include(a,{space:x.World})),p(R,P),R.uniforms.add(new S("inverseProjectionMatrix",(e=>e.camera.inverseProjectionMatrix)),new m("nearFar",(e=>e.camera.nearFar)),new h("miterLimit",(e=>"miter"!==e.join?0:e.miterLimit)),new v("viewport",(e=>e.camera.fullViewport))),R.constants.add("LARGE_HALF_FLOAT","float",65500),F.add(u.POSITION,"vec3"),F.add(u.PREVIOUSDELTA,"vec4"),F.add(u.NEXTDELTA,"vec4"),F.add(u.LINEPARAMETERS,"vec2"),F.add(u.U0,"float"),A.add("vColor","vec4"),A.add("vpos","vec3",{invariant:!0}),A.add("vLineDistance","float"),A.add("vLineWidth","float");const U=O;U&&A.add("vLineSizeInv","float");const B=E===w.ROUND,$=O&&B,H=M||$;H&&A.add("vLineDistanceNorm","float"),B&&(A.add("vSegmentSDF","float"),A.add("vReverseSegmentSDF","float")),R.code.add(D`vec2 perpendicular(vec2 v) {
|
|
6
6
|
return vec2(v.y, -v.x);
|
|
7
7
|
}
|
|
8
8
|
float interp(float ncp, vec4 a, vec4 b) {
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{
|
|
6
|
-
sampleCount = ${
|
|
5
|
+
import{ScreenSpacePass as e}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{ReadShadowMapPass as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ReadShadowMapConfiguration as r}from"../views/3d/webgl-engine/shaders/ReadShadowMapConfiguration.js";import{ShadowCastAccumulateIndex as t}from"../views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js";import{ShaderBuilder as n}from"../views/webgl/ShaderBuilder.js";const i=255,l=1/i;function u(r){const i=new n,{fragment:u}=i;i.include(e),i.include(a),i.include(o,w),u.uniforms.add(new d("shadowMap",(e=>e.shadowMap.depthTexture)),new d("depthMap",(e=>e.depth?.attachment))),u.constants.add("sampleValue","float",l);const h=r.index===t.CONTEXT?"vec2":"float";return i.outputs.add("sampleCount",h),u.main.add(s`
|
|
6
|
+
sampleCount = ${h}(0.0);
|
|
7
7
|
|
|
8
|
-
vec3 uvzShadow =
|
|
8
|
+
vec3 uvzShadow = calculateUVZShadowFromDepth(uv, textureSize(shadowMap,0), depthMap);
|
|
9
9
|
if (uvzShadow.z < 0.0) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
bool shadow = posIsInShadowF(uvzShadow, shadowMap);
|
|
14
14
|
if (shadow) {
|
|
15
|
-
sampleCount = ${
|
|
15
|
+
sampleCount = ${h}(sampleValue); // Add 1 to the sample count
|
|
16
16
|
}
|
|
17
|
-
`),
|
|
17
|
+
`),i}const w=new r,h=Object.freeze(Object.defineProperty({__proto__:null,ShadowCastMaxSamples:i,build:u},Symbol.toStringTag,{value:"Module"}));export{i as S,h as a,u as b};
|