@arcgis/core 4.34.0-next.67 → 4.34.0-next.69
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/analysisUtils.d.ts +1 -0
- package/applications/Components/analysisUtils.js +1 -1
- package/applications/MapViewer/mediaUtils.d.ts +1 -0
- package/applications/MapViewer/mediaUtils.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/functions/measures.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/097a5c333de28ec5e16f.js +1 -0
- package/assets/esri/core/workers/chunks/2f44848916051f5501eb.js +1 -0
- package/assets/esri/core/workers/chunks/{2cd27b06226e30aec5da.js → 3cef77453623bbb37ad2.js} +1 -1
- package/assets/esri/core/workers/chunks/3d2629357242492afcfa.js +1 -0
- package/assets/esri/core/workers/chunks/49486c2e12e768b347ed.js +1 -0
- package/assets/esri/core/workers/chunks/{cad03967e132a28512c2.js → 4aa98309081e6889ccbb.js} +1 -1
- package/assets/esri/core/workers/chunks/570b17a1a4ab405bbdcb.js +1 -0
- package/assets/esri/core/workers/chunks/5a6b487b70ca85a45f57.js +1 -0
- package/assets/esri/core/workers/chunks/5a95688651d7e8b7101d.js +1 -0
- package/assets/esri/core/workers/chunks/6433116597021a9af680.js +1 -0
- package/assets/esri/core/workers/chunks/{5d8c64693830506c8776.js → 643acb12ec6a1d4b4fbb.js} +1 -1
- package/assets/esri/core/workers/chunks/{90491262b6d6a126c32f.js → 7944c18b270c85ff2e41.js} +1 -1
- package/assets/esri/core/workers/chunks/{35df19d1eab3a694c3fa.js → 978fab0f0b10edde4ff8.js} +1 -1
- package/assets/esri/core/workers/chunks/{27027493a8dba8305693.js → a07321a901d6847d1a6b.js} +1 -1
- package/assets/esri/core/workers/chunks/a6f66492651646c18f10.js +1 -0
- package/assets/esri/core/workers/chunks/{a44f17397d8589433dae.js → b683b0fa7fc430b4d9c5.js} +1 -1
- package/assets/esri/core/workers/chunks/{2f7e192ee2066f863e1d.js → c908184d747d33366881.js} +1 -1
- package/assets/esri/core/workers/chunks/{997a2a1a51039ce7e4e3.js → dd84f630466a26722d57.js} +1 -1
- package/assets/esri/core/workers/chunks/e2486bf5546443408c85.js +1 -0
- package/assets/esri/core/workers/chunks/{96102a9296afd1bfe1a9.js → e956d437c0c2ea81db93.js} +1 -1
- package/assets/esri/core/workers/chunks/{d6f5297f7b323c340727.js → f060a52a9b69eb250d63.js} +1 -1
- package/assets/esri/core/workers/chunks/f1865b28f0f75cadd716.js +1 -0
- package/assets/esri/core/workers/chunks/{06ff5f34ad9bdf9705de.js → f47a0b9e500af2b9453b.js} +8 -2
- package/assets/esri/core/workers/chunks/f8adac87e48ea86bec21.js +1 -0
- package/assets/esri/core/workers/chunks/fe475b1ecdefecfcd541.js +1 -0
- package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
- 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/chunks/ComponentShader.glsl.js +42 -36
- package/chunks/LineSeries.js +1 -1
- package/config.js +1 -1
- package/core/MemCache.js +1 -1
- package/core/MemCachePool.js +1 -1
- package/editing/geometry/lineUtils.js +1 -1
- package/geometry/ellipsoidUtils.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/curveLength.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/interfaces.d.ts +72 -527
- package/kernel.js +1 -1
- package/layers/support/ElevationTileData.js +1 -1
- package/layers/support/gaussianSplatUtils.js +1 -1
- package/package.json +1 -1
- package/support/elevationInfoUtils.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/interactive/editingTools/MediaTransformToolsWrapper.js +5 -0
- package/views/3d/analysis/ElevationProfile/ElevationProfileSceneLineComputation.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +5 -0
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
- package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
- package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
- package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/ElevationContext.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/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
- package/views/3d/layers/graphics/QueryEngineCache.js +1 -1
- package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
- package/views/3d/layers/graphics/wosrLoader.js +1 -1
- package/views/3d/layers/i3s/CachedMeshData.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/PointCloudRendererNode.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/buffer/InterleavedLayout.js +1 -1
- package/views/3d/terrain/MapDataCacheItem.js +5 -0
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileTexture.js +1 -1
- package/views/3d/webgl/ManagedFBO.js +1 -1
- package/views/3d/webgl/ManagedFBOAttachment.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/FBOPool.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +8 -2
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +17 -0
- package/views/GroundView.js +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileChart.js +5 -0
- package/views/analysis/ElevationProfile/constants.js +1 -1
- package/views/analysis/ElevationProfile/elevationProfileChartBoundsUtils.js +5 -0
- package/views/analysis/ElevationProfile/elevationProfileChartTheme.js +5 -0
- package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/support/EditorItem.js +1 -1
- package/widgets/Editor/support/splitFeatureUtils.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/assets/esri/core/workers/chunks/047d6f7b1677cc7ab271.js +0 -1
- package/assets/esri/core/workers/chunks/0f20c0eec850a39620a1.js +0 -1
- package/assets/esri/core/workers/chunks/3212a476184be25d17f8.js +0 -1
- package/assets/esri/core/workers/chunks/39d69afc9da9db0c75ab.js +0 -1
- package/assets/esri/core/workers/chunks/548818df658b607a364e.js +0 -1
- package/assets/esri/core/workers/chunks/70dc7ec6474f0801bc04.js +0 -1
- package/assets/esri/core/workers/chunks/7597ef10d1699e7088e5.js +0 -1
- package/assets/esri/core/workers/chunks/8a104b35708a492bd614.js +0 -1
- package/assets/esri/core/workers/chunks/a634764dec5404f4a1d7.js +0 -1
- package/assets/esri/core/workers/chunks/bafd9b0f6e817252cb31.js +0 -1
- package/assets/esri/core/workers/chunks/bc9f54a6b577c43189fd.js +0 -1
- package/assets/esri/core/workers/chunks/de4da985c398c8bcf2e7.js +0 -1
- package/assets/esri/core/workers/chunks/f4d4c1f13522f20b00d1.js +0 -1
- package/graphic/BuildingGraphicOrigin.d.ts +0 -4
- package/graphic/CSVGraphicOrigin.d.ts +0 -4
- package/graphic/CatalogGraphicOrigin.d.ts +0 -4
- package/graphic/FeatureGraphicOrigin.d.ts +0 -4
- package/graphic/GeoJSONGraphicOrigin.d.ts +0 -4
- package/graphic/GeoRSSGraphicOrigin.d.ts +0 -4
- package/graphic/KnowledgeGraphGraphicOrigin.d.ts +0 -4
- package/graphic/MapImageGraphicOrigin.d.ts +0 -4
- package/graphic/MapNotesGraphicOrigin.d.ts +0 -4
- package/graphic/OGCFeatureGraphicOrigin.d.ts +0 -4
- package/graphic/OrientedImageryGraphicOrigin.d.ts +0 -4
- package/graphic/ParquetGraphicOrigin.d.ts +0 -4
- package/graphic/PointCloudGraphicOrigin.d.ts +0 -4
- package/graphic/SceneGraphicOrigin.d.ts +0 -4
- package/graphic/StreamGraphicOrigin.d.ts +0 -4
- package/graphic/SubtypeGroupGraphicOrigin.d.ts +0 -4
- package/graphic/TileGraphicOrigin.d.ts +0 -4
- package/graphic/VoxelGraphicOrigin.d.ts +0 -4
- package/graphic/WCSGraphicOrigin.d.ts +0 -4
- package/graphic/WFSGraphicOrigin.d.ts +0 -4
- package/graphic/graphicOrigins.d.ts +0 -22
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{earth as
|
|
5
|
+
import{radiusModifier as e}from"../geometry/ellipsoidUtils.js";import{earth as r,mars as o,moon as a}from"../geometry/support/Ellipsoid.js";import{ComponentData as i}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as l}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColorOrColorEmission as t}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as n}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as s}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{VertexPosition as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as u}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as f,addLightingGlobalFactor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y,addMainLightDirection as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as N}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{If as T,glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as M}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as A}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as W}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{sphereDepthInterpolate as P}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as R}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as z}from"../webscene/support/AlphaCutoff.js";function F(F){const B=new R,{vertex:_,fragment:I}=B;B.include(m,F),B.include(g,F),B.include(s,F),B.include(d,F),B.include(i,F),B.include(O,F),I.include(n,F),B.include(j,F),B.include($,F);const{output:E,pbrMode:H,hasNormalTexture:V,snowCover:G,receiveShadows:k,shadeNormals:U,spherical:q,ellipsoidMode:J,overlayEnabled:K,componentData:Q,vertexDiscardMode:X,hasGlow:Y,renderOccluded:Z}=F,ee=1===H||2===H;ee&&(B.include(L,F),V&&B.include(b,F));const re=4===E||5===E||6===E,oe=re&&1===Q,ae=1===J,ie=1===J?r.radius:ae?o.radius:a.radius;K&&(B.include(f,F),B.include(N,F),_.code.add(`\n ${T(q,`const float invRadius = ${D.float(1/ie)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${T(q,"/ (1.0 + invRadius * pos.z);")}; }`));const le=K&&t(E)&&4===H;le&&(B.varyings.add("tbnTangent","vec3"),B.varyings.add("tbnBiTangent","vec3"),B.varyings.add("groundNormal","vec3"));const te=0===X,ne=2===X,de=1-1/255;if(B.include(S,F),B.include(l,F),_.main.add(D`
|
|
6
6
|
bool castShadows;
|
|
7
7
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
8
|
-
${
|
|
8
|
+
${T(oe,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
|
|
9
9
|
|
|
10
|
-
${
|
|
10
|
+
${T(!te,`{ if (externalColor.a ${ne?">":"<="} ${D.float(de)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
|
|
11
11
|
|
|
12
|
-
${
|
|
12
|
+
${T(10===E,"externalColor.a = 1.0;")}
|
|
13
13
|
|
|
14
14
|
forwardPosition(readElevationOffset());
|
|
15
15
|
forwardViewPosDepth(vPosition_view);
|
|
@@ -20,24 +20,24 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
20
20
|
forwardLinearDepthToWriteShadowMap();
|
|
21
21
|
forwardEmissiveStrength();
|
|
22
22
|
forwardObjectAndLayerIdColor();
|
|
23
|
-
${
|
|
23
|
+
${T(le,q?D`
|
|
24
24
|
groundNormal = normalize(positionWorld());
|
|
25
25
|
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
|
|
26
|
-
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:
|
|
26
|
+
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:D`
|
|
27
27
|
groundNormal = vec3(0.0, 0.0, 1.0);
|
|
28
28
|
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
29
29
|
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
30
|
-
${
|
|
30
|
+
${T(K,"setOverlayVTC(projectOverlay(position));")}
|
|
31
31
|
|
|
32
|
-
if (externalColor.a < ${
|
|
32
|
+
if (externalColor.a < ${D.float(z)}) {
|
|
33
33
|
// Discard this vertex
|
|
34
34
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
`),t(
|
|
37
|
+
`),t(E))return B.include(p,F),B.include(w,F),B.include(f,F),B.include(W,F),I.include(A,F),I.code.add(D`
|
|
38
38
|
float evaluateShadow() {
|
|
39
|
-
return ${
|
|
40
|
-
}`),
|
|
39
|
+
return ${k?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
|
|
40
|
+
}`),I.main.add(D`
|
|
41
41
|
discardBySlice(vPositionWorldCameraRelative);
|
|
42
42
|
discardByTerrainDepth();
|
|
43
43
|
|
|
@@ -47,60 +47,60 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
47
47
|
/* When rendering the occluded overlay, we still need to read the base color texture
|
|
48
48
|
* because we need to use the same discard logic. However after that to render only the
|
|
49
49
|
* draped overlay, we simply set the base texture color to zero. */
|
|
50
|
-
${
|
|
50
|
+
${T(Z,D`textureColor = vec4(0);`)}
|
|
51
51
|
|
|
52
|
-
${
|
|
52
|
+
${T(K,D`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`)}
|
|
53
53
|
|
|
54
54
|
/* Early discard to only emit when we have overlay */
|
|
55
|
-
${
|
|
55
|
+
${T(K&&Z,D`if (overlayColor.a < ${D.float(z)}) { discard; }`)}
|
|
56
56
|
|
|
57
57
|
vec4 externalColor;
|
|
58
58
|
int externalColorMixMode;
|
|
59
59
|
readExternalColor(externalColor, externalColorMixMode);
|
|
60
60
|
|
|
61
61
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
62
|
-
`),
|
|
62
|
+
`),ee?(y(I),q&&C(I),I.main.add(D`
|
|
63
63
|
applyPBRFactors();
|
|
64
|
-
${
|
|
64
|
+
${T(1===H,D`if (externalColorMixMode == 3) {
|
|
65
65
|
mrr = vec3(0.0, 0.6, 0.2);
|
|
66
66
|
}`)}
|
|
67
67
|
float additionalIrradiance = 0.02 * mainLightIntensity[2];
|
|
68
|
-
${
|
|
69
|
-
vec3 shadingNormal = ${
|
|
70
|
-
vec3 groundNormal = ${
|
|
68
|
+
${T(V,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
|
|
69
|
+
vec3 shadingNormal = ${V?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
|
|
70
|
+
vec3 groundNormal = ${q?D`normalize(positionWorld())`:D`vec3(0.0, 0.0, 1.0)`};
|
|
71
71
|
|
|
72
72
|
vec3 viewDir = normalize(vPositionWorldCameraRelative);
|
|
73
73
|
float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
|
|
74
|
-
${
|
|
74
|
+
${T(G,D`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
75
75
|
materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
|
|
76
76
|
ssao = mix(ssao, 0.5 * ssao, snow);
|
|
77
77
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
78
|
-
${
|
|
78
|
+
${T(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
79
79
|
|
|
80
80
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
81
|
-
vec4 emission = ${
|
|
82
|
-
${
|
|
83
|
-
${
|
|
81
|
+
vec4 emission = ${Y?"vec4(0.0)":"getEmissions(materialColor.rgb)"};
|
|
82
|
+
${T(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
83
|
+
${q?D`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
|
|
84
84
|
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
|
|
85
|
-
`)):(
|
|
86
|
-
${
|
|
87
|
-
float shadow = ${
|
|
85
|
+
`)):(x(I),q&&C(I),le&&I.uniforms.add(new M("ovNormalTex",e=>e.overlay?.getTexture(3))),I.main.add(D`
|
|
86
|
+
${T(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
87
|
+
float shadow = ${k?q?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":q?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
|
|
88
88
|
|
|
89
|
-
${
|
|
89
|
+
${T(k&&!U,D`
|
|
90
90
|
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
91
91
|
if( dotFL <= 0.0) shadow = 1.0;
|
|
92
92
|
`)}
|
|
93
|
-
${
|
|
93
|
+
${T(G,D`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
94
94
|
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
|
|
95
95
|
|
|
96
96
|
// At global scale we create some additional ambient light based on the main light to simulate global illumination
|
|
97
97
|
float ssao = evaluateAmbientOcclusion();
|
|
98
98
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
99
99
|
|
|
100
|
-
${
|
|
100
|
+
${T(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
101
101
|
|
|
102
102
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
|
|
103
|
-
${
|
|
103
|
+
${T(le,D`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
|
|
104
104
|
float waterNormalLength = length(overlayWaterMask);
|
|
105
105
|
if (waterNormalLength > 0.95) {
|
|
106
106
|
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
|
|
@@ -109,13 +109,19 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
109
109
|
// un-gamma the ground color to mix in linear space
|
|
110
110
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
111
111
|
}`)}
|
|
112
|
-
`)),
|
|
112
|
+
`)),I.main.add(`outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative, materialColor.rgb ${T(G,", snow")});`),F.sphereDepthInterpolate&&(B.include(P,{radius:ie*e}),B.fragment.include(h),I.main.add(D`if (sphereFade()>0.0) {
|
|
113
|
+
vec3 worldRay = normalize(vPositionWorldCameraRelative);
|
|
114
|
+
vec3 viewRay = normalize(vPosition_view);
|
|
115
|
+
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));
|
|
116
|
+
} else {
|
|
117
|
+
gl_FragDepth = gl_FragCoord.z;
|
|
118
|
+
}`)),B;const se=3===E,ge=10===E,me=9===E,ce=re||7===E||8===E;return ce&&B.include(c,F),se&&B.include(w,F),K&&B.include(u,F),B.include(v,F),I.main.add(D`
|
|
113
119
|
discardBySlice(vPositionWorldCameraRelative);
|
|
114
120
|
|
|
115
121
|
vec4 textureColor = readBaseColorTexture();
|
|
116
122
|
discardOrAdjustAlpha(textureColor);
|
|
117
123
|
|
|
118
|
-
${
|
|
119
|
-
${
|
|
120
|
-
${
|
|
121
|
-
${
|
|
124
|
+
${T(ce,"outputDepth(linearDepth);")}
|
|
125
|
+
${T(se,D`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
|
|
126
|
+
${T(ge,K?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
|
|
127
|
+
${T(me,T(K,D`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,D`calculateOcclusionAndOutputHighlight();`))}`),B}const B=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{B as C,F as b};
|