@arcgis/core 5.1.0-next.86 → 5.1.0-next.88
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/Graphic.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.d.ts +2 -2
- package/analysis/LineOfSightAnalysisTarget.d.ts +2 -2
- package/applications/Components/arcadeUtils.d.ts +23 -0
- package/applications/Components/arcadeUtils.js +2 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00e9e25269d5776f8645.js +1 -0
- package/assets/esri/core/workers/chunks/015fc0a17b17d69cc3bb.js +1 -0
- package/assets/esri/core/workers/chunks/0a6df243b18acae471be.js +1 -0
- package/assets/esri/core/workers/chunks/0cc4b3100a7a453bd058.js +1 -0
- package/assets/esri/core/workers/chunks/10cf6a70bf79f04a7208.js +1 -0
- package/assets/esri/core/workers/chunks/{e9a42f0262fc44a79d4b.js → 164ee62f2211987ad850.js} +1 -1
- package/assets/esri/core/workers/chunks/169ca3724053fc046d1b.js +1 -0
- package/assets/esri/core/workers/chunks/206bdfd868a9ef88f3a8.js +1 -0
- package/assets/esri/core/workers/chunks/2343b1105bc4c1b4a086.js +1 -0
- package/assets/esri/core/workers/chunks/{1bad4331a43169f3cc34.js → 2549a07f403447482f4e.js} +1 -1
- package/assets/esri/core/workers/chunks/{f89b7b0ccfbd1e5f9a0f.js → 3092184350d66c79f610.js} +1 -1
- package/assets/esri/core/workers/chunks/3469df5c4846b0cee012.js +1 -0
- package/assets/esri/core/workers/chunks/{26f804c92077c11c626d.js → 394812e19b6915d560b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{2f8b173d1dac73ba0d9e.js → 3cf77b7a61f78f9bcd62.js} +1 -1
- package/assets/esri/core/workers/chunks/{edbdee69440dbfc05644.js → 3e72bd6dbfc52d956c06.js} +1 -1
- package/assets/esri/core/workers/chunks/3feec3d08424b94e1bcf.js +1 -0
- package/assets/esri/core/workers/chunks/{ce4dfc3a470230ddc9e4.js → 43f58604ba4a94a9167c.js} +1 -1
- package/assets/esri/core/workers/chunks/{ff57a071156d8a7e47be.js → 456d269e3982c437010a.js} +1 -1
- package/assets/esri/core/workers/chunks/46b16501db6681dc467b.js +1 -0
- package/assets/esri/core/workers/chunks/48549d3d7bf0154c0afa.js +1 -0
- package/assets/esri/core/workers/chunks/{713ab619060bd5087479.js → 4baf66314f82cfa76beb.js} +182 -157
- package/assets/esri/core/workers/chunks/{1ab66600579fa4232d7b.js → 4dc91c2208201ba34c90.js} +1 -1
- package/assets/esri/core/workers/chunks/{b14c4c3f295970f731ab.js → 500be1fb7cc9efec875c.js} +1 -1
- package/assets/esri/core/workers/chunks/{fc6ca7ffb9f1b875059c.js → 51716e411fad624ac21c.js} +1 -1
- package/assets/esri/core/workers/chunks/54c035cdc171998d0776.js +1 -0
- package/assets/esri/core/workers/chunks/{b23e677c33db6f9bac8a.js → 566f6319ded0634769e0.js} +1 -1
- package/assets/esri/core/workers/chunks/{701b823763e941b71f4f.js → 7185486c6dc28fc367a1.js} +1 -1
- package/assets/esri/core/workers/chunks/752f4e0e2961fc315dca.js +1 -0
- package/assets/esri/core/workers/chunks/7ba67f1d7831a5576a5a.js +1 -0
- package/assets/esri/core/workers/chunks/{186bfde8c552e3b42302.js → 7ef51b0ebd560113ae7e.js} +1 -1
- package/assets/esri/core/workers/chunks/7f0f10946f05a09b5654.js +1 -0
- package/assets/esri/core/workers/chunks/{fce2306a1b31c6680f90.js → 7f34fa9f154f5101cb13.js} +1 -1
- package/assets/esri/core/workers/chunks/8178e9ba3c568d406a87.js +1 -0
- package/assets/esri/core/workers/chunks/83f1871d04c979fa23b7.js +1 -0
- package/assets/esri/core/workers/chunks/85da2987e17b6755a94e.js +1 -0
- package/assets/esri/core/workers/chunks/8a5a827ee557d9f9a66e.js +1 -0
- package/assets/esri/core/workers/chunks/9c09097e390985bbac58.js +1 -0
- package/assets/esri/core/workers/chunks/{618106f5fbdf88ef2278.js → a401d44a5b45c05072c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{d0aee7c80c5c7e23d216.js → a429355534bf6cbd8304.js} +1 -1
- package/assets/esri/core/workers/chunks/a432219de6a873f88776.js +1 -0
- package/assets/esri/core/workers/chunks/{455d08294e0f5c5509ff.js → a6b75576d598ec161cc4.js} +1 -1
- package/assets/esri/core/workers/chunks/{99c6bd2125f4eb6796fe.js → aae40d70eb01249c1bab.js} +1 -1
- package/assets/esri/core/workers/chunks/b2662bfdbd1e3623ceb9.js +1 -0
- package/assets/esri/core/workers/chunks/b4bac22467e96be7a974.js +1 -0
- package/assets/esri/core/workers/chunks/{5166f204fd078dced5db.js → baea6f86b2dbe067940e.js} +1 -1
- package/assets/esri/core/workers/chunks/c3e89c7c7b677bd18557.js +1 -0
- package/assets/esri/core/workers/chunks/cb81d524f12edcadb9bb.js +1 -0
- package/assets/esri/core/workers/chunks/cc0f3b9b153a0c232afe.js +1 -0
- package/assets/esri/core/workers/chunks/cd0c232f4e3868d91a05.js +1 -0
- package/assets/esri/core/workers/chunks/{bae8f2a5dfe0cfbc0688.js → d00dddc3881fa29446e1.js} +1 -1
- package/assets/esri/core/workers/chunks/{9bd713d96502ddc2ce25.js → d8ccc713c5ad93e7a0c3.js} +1 -1
- package/assets/esri/core/workers/chunks/{e66b9d00d02fc08cbb2d.js → da008d6a3afb30d18392.js} +1 -1
- package/assets/esri/core/workers/chunks/dde94664110ff231a52d.js +1 -0
- package/assets/esri/core/workers/chunks/de3e5d82502ee15b7eae.js +1 -0
- package/assets/esri/core/workers/chunks/defac06f9e2b43090677.js +2 -0
- package/assets/esri/core/workers/chunks/e6fe8b5fbe95de01453b.js +1 -0
- package/assets/esri/core/workers/chunks/ee7e9bca57160694b3c4.js +1 -0
- package/assets/esri/core/workers/chunks/f36345ebb9851ab92453.js +1 -0
- package/assets/esri/core/workers/chunks/{add000f51c778114c028.js → f37e4ae0e9be80210db0.js} +1 -1
- package/assets/esri/core/workers/chunks/{c503c79ba5761f7abbeb.js → fa869bfe4366f7f49cca.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8de7fe49dba9ed589df.js → fade7b878a9498382bb2.js} +1 -1
- package/assets/esri/core/workers/chunks/fe30e61652716fcccf16.js +2 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/assets/esri/libs/text/pkg/bundle_bg.wasm +0 -0
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bg.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bs.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ca.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_cs.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_da.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_de.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_el.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_es.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_et.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fi.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_he.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hu.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_id.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_it.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ja.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ko.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lt.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lv.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_nl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_no.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-BR.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-PT.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ro.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ru.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sk.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sv.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_th.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_tr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_uk.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_vi.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-CN.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-HK.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-TW.json +1 -1
- package/chunks/GlobalIllumination.glsl.js +25 -17
- package/chunks/GlowBlur.glsl.js +11 -8
- package/chunks/OITBlend.glsl.js +1 -1
- package/chunks/bundle2.js +1 -1
- package/config.js +1 -1
- package/core/has.js +1 -1
- package/interfaces.d.ts +0 -3
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/networks/CircuitManager.d.ts +33 -25
- package/networks/CircuitManager.js +1 -1
- package/networks/support/typeUtils.d.ts +4 -1
- package/networks/support/typeUtils.js +1 -1
- package/package.json +3 -3
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/support/scaleDependentSymbolUtils.js +2 -0
- package/rest/networks/circuits/queryCircuits.js +1 -1
- package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +21 -15
- package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/support/Query.js +1 -1
- package/support/revision.js +1 -1
- package/third-party-notices.txt +19 -12
- package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightAuthoringStore.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementTool.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightRootPlugin.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +149 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +2 -2
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/webmap/utils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/assets/esri/core/workers/chunks/0c074c46d106ca4d3bad.js +0 -1
- package/assets/esri/core/workers/chunks/1f16bc8c02d8c4b2f693.js +0 -1
- package/assets/esri/core/workers/chunks/29878b52aa12b3815230.js +0 -1
- package/assets/esri/core/workers/chunks/2c916b93d8a6e6b9c0d7.js +0 -1
- package/assets/esri/core/workers/chunks/3ea5a18b264628dc37f0.js +0 -1
- package/assets/esri/core/workers/chunks/41913575dd45c65d645e.js +0 -1
- package/assets/esri/core/workers/chunks/46e622857ba92a72a317.js +0 -1
- package/assets/esri/core/workers/chunks/49e8144effc299dfcd66.js +0 -1
- package/assets/esri/core/workers/chunks/4d0f793dee4ad919221b.js +0 -1
- package/assets/esri/core/workers/chunks/65ac73de5bb133c6bf89.js +0 -1
- package/assets/esri/core/workers/chunks/67ec1694d6e18b7c234c.js +0 -1
- package/assets/esri/core/workers/chunks/6e526c06825ecc6c99c0.js +0 -1
- package/assets/esri/core/workers/chunks/6f7aaba26773fe416ac2.js +0 -1
- package/assets/esri/core/workers/chunks/7acf82763aeba44049d0.js +0 -1
- package/assets/esri/core/workers/chunks/88eb1e4320c4ada01711.js +0 -1
- package/assets/esri/core/workers/chunks/8af9a78cf316581ea482.js +0 -1
- package/assets/esri/core/workers/chunks/96bba4d93a32ad34a1c8.js +0 -1
- package/assets/esri/core/workers/chunks/97719271a3e4c9f2b2c9.js +0 -1
- package/assets/esri/core/workers/chunks/9ea23cd4b2664c08b670.js +0 -1
- package/assets/esri/core/workers/chunks/a1a12552d34ea9eea130.js +0 -1
- package/assets/esri/core/workers/chunks/a844547bf33a8527ee9f.js +0 -2
- package/assets/esri/core/workers/chunks/ac5999c88c27b49cd760.js +0 -1
- package/assets/esri/core/workers/chunks/b575292013bceef9b015.js +0 -1
- package/assets/esri/core/workers/chunks/bbc27d9285162696d089.js +0 -1
- package/assets/esri/core/workers/chunks/bc8a74da48b08309875f.js +0 -1
- package/assets/esri/core/workers/chunks/cd7159600ce132e32d04.js +0 -1
- package/assets/esri/core/workers/chunks/ce66c551b7083913eee5.js +0 -1
- package/assets/esri/core/workers/chunks/cf7acf5acb6d322fd996.js +0 -1
- package/assets/esri/core/workers/chunks/d9c3f14eee4db7a7137b.js +0 -1
- package/assets/esri/core/workers/chunks/db3c484bfa607dec6050.js +0 -1
- package/assets/esri/core/workers/chunks/dcc719e15b2e0cce1f3b.js +0 -1
- package/assets/esri/core/workers/chunks/ded2f19a1685db2137f4.js +0 -2
- package/assets/esri/core/workers/chunks/f43d628d47eec7d530c7.js +0 -1
- package/assets/esri/core/workers/chunks/fae147d03ed723ab234d.js +0 -1
- package/assets/esri/core/workers/chunks/fcf51697c361e0075cc2.js +0 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +0 -132
- /package/assets/esri/core/workers/chunks/{ded2f19a1685db2137f4.js.LICENSE.txt → defac06f9e2b43090677.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a844547bf33a8527ee9f.js.LICENSE.txt → fe30e61652716fcccf16.js.LICENSE.txt} +0 -0
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{Float2BindUniform as t}from"../../shaderModules/Float2BindUniform.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{glsl as r}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as a}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as i}from"../../shaderModules/Texture2DBindUniform.js";function d(d,n){if(!n.screenSpaceReflections)return;const c=d.fragment;c.include(e),c.uniforms.add(new t("nearFar",e=>e.camera.nearFar),new i("depthMap",e=>e.depth?.attachment),new a("proj",e=>e.camera.projectionMatrix),new o("invResolutionHeight",e=>1/e.camera.height),new a("reprojectionMatrix",e=>e.reprojection.matrix)).code.add(r`
|
|
3
|
-
vec2 reprojectionCoordinate(vec3 projectionCoordinate)
|
|
4
|
-
{
|
|
5
|
-
vec4 zw = proj * vec4(0.0, 0.0, -projectionCoordinate.z, 1.0);
|
|
6
|
-
vec4 reprojectedCoord = reprojectionMatrix * vec4(zw.w * (projectionCoordinate.xy * 2.0 - 1.0), zw.z, zw.w);
|
|
7
|
-
reprojectedCoord.xy /= reprojectedCoord.w;
|
|
8
|
-
return reprojectedCoord.xy * 0.5 + 0.5;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
vec4 applyProjectionMat(mat4 projectionMat, vec3 x)
|
|
12
|
-
{
|
|
13
|
-
vec4 projectedCoord = projectionMat * vec4(x, 1.0);
|
|
14
|
-
projectedCoord.xy /= projectedCoord.w;
|
|
15
|
-
projectedCoord.xy = projectedCoord.xy*0.5 + 0.5;
|
|
16
|
-
return projectedCoord;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
vec3 screenSpaceIntersection(vec3 dir, vec3 startPosition, vec3 viewDir, vec3 normal, float offset, bool globalIllumination)
|
|
20
|
-
{
|
|
21
|
-
vec3 viewPos = startPosition;
|
|
22
|
-
vec3 viewPosEnd = startPosition;
|
|
23
|
-
|
|
24
|
-
// Project the start position to the screen
|
|
25
|
-
vec4 projectedCoordStart = applyProjectionMat(proj, viewPos);
|
|
26
|
-
vec3 Q0 = viewPos / projectedCoordStart.w; // homogeneous camera space
|
|
27
|
-
float k0 = 1.0/ projectedCoordStart.w;
|
|
28
|
-
|
|
29
|
-
// advance the position in the direction of the reflection
|
|
30
|
-
viewPos += dir;
|
|
31
|
-
|
|
32
|
-
vec4 projectedCoordVanishingPoint = applyProjectionMat(proj, dir);
|
|
33
|
-
|
|
34
|
-
// Project the advanced position to the screen
|
|
35
|
-
vec4 projectedCoordEnd = applyProjectionMat(proj, viewPos);
|
|
36
|
-
vec3 Q1 = viewPos / projectedCoordEnd.w; // homogeneous camera space
|
|
37
|
-
float k1 = 1.0/ projectedCoordEnd.w;
|
|
38
|
-
|
|
39
|
-
// calculate the reflection direction in the screen space
|
|
40
|
-
vec2 projectedCoordDir = (projectedCoordEnd.xy - projectedCoordStart.xy);
|
|
41
|
-
vec2 projectedCoordDistVanishingPoint = (projectedCoordVanishingPoint.xy - projectedCoordStart.xy);
|
|
42
|
-
|
|
43
|
-
float maxReach = globalIllumination ? 0.15 : 1.0;
|
|
44
|
-
float distMod = min(globalIllumination ? length(projectedCoordDistVanishingPoint.xy) : abs(projectedCoordDistVanishingPoint.y), maxReach);
|
|
45
|
-
|
|
46
|
-
float projectedCoordDirLength = length(projectedCoordDir);
|
|
47
|
-
int maxSteps = globalIllumination ? 16 : ${n.highStepCount?"150":"75"};
|
|
48
|
-
float maxSt = float(maxSteps);
|
|
49
|
-
|
|
50
|
-
// normalize the projection direction depending on maximum steps
|
|
51
|
-
// this determines how blocky the reflection looks
|
|
52
|
-
vec2 dP = distMod * (projectedCoordDir)/(maxSt * projectedCoordDirLength);
|
|
53
|
-
|
|
54
|
-
// Normalize the homogeneous camera space coordinates
|
|
55
|
-
vec3 dQ = distMod * (Q1 - Q0)/(maxSt * projectedCoordDirLength);
|
|
56
|
-
float dk = distMod * (k1 - k0)/(maxSt * projectedCoordDirLength);
|
|
57
|
-
|
|
58
|
-
// initialize the variables for ray marching
|
|
59
|
-
vec2 P = projectedCoordStart.xy;
|
|
60
|
-
vec3 Q = Q0;
|
|
61
|
-
float k = k0;
|
|
62
|
-
float rayStartZ = -startPosition.z; // estimated ray start depth value
|
|
63
|
-
float rayEndZ = -startPosition.z; // estimated ray end depth value
|
|
64
|
-
float prevEstimateZ = -startPosition.z;
|
|
65
|
-
float rayDiffZ = 0.0;
|
|
66
|
-
float dDepth;
|
|
67
|
-
float depth;
|
|
68
|
-
float rayDiffZOld = 0.0;
|
|
69
|
-
|
|
70
|
-
// early outs
|
|
71
|
-
if (dot(normal, dir) < 0.0 || dot(-viewDir, normal) < 0.0)
|
|
72
|
-
return vec3(P, 0.0);
|
|
73
|
-
float dDepthBefore = 0.0;
|
|
74
|
-
|
|
75
|
-
P = clamp(P + offset * dP, vec2(0.0), vec2(0.999));
|
|
76
|
-
Q.z += offset * dQ.z;
|
|
77
|
-
k += offset * dk;
|
|
78
|
-
|
|
79
|
-
for(int i = 0; i < maxSteps-1; i++)
|
|
80
|
-
{
|
|
81
|
-
depth = -linearDepthFromTexture(depthMap, P); // get linear depth from the depth buffer
|
|
82
|
-
|
|
83
|
-
// estimate depth of the marching ray
|
|
84
|
-
rayStartZ = prevEstimateZ;
|
|
85
|
-
dDepth = -rayStartZ - depth;
|
|
86
|
-
rayEndZ = (dQ.z * 0.5 + Q.z)/ ((dk * 0.5 + k));
|
|
87
|
-
rayDiffZ = rayEndZ- rayStartZ;
|
|
88
|
-
prevEstimateZ = rayEndZ;
|
|
89
|
-
|
|
90
|
-
if(-rayEndZ > nearFar[1] || -rayEndZ < nearFar[0] || P.y < 0.0 || P.y > 1.0 )
|
|
91
|
-
{
|
|
92
|
-
return vec3(P, 0.);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// If we detect a hit - return the intersection point, two conditions:
|
|
96
|
-
// - dDepth > 0.0 - sampled point depth is in front of estimated depth
|
|
97
|
-
// - if difference between dDepth and rayDiffZOld is not too large
|
|
98
|
-
// - if difference between dDepth and 0.025/abs(k) is not too large
|
|
99
|
-
// - if the sampled depth is not behind far plane or in front of near plane
|
|
100
|
-
|
|
101
|
-
if((dDepth) < 0.025/abs(k) + abs(rayDiffZ) && dDepth > 0.0 && depth > nearFar[0] && depth < nearFar[1] && abs(P.y - projectedCoordStart.y) > invResolutionHeight)
|
|
102
|
-
{
|
|
103
|
-
float weight = dDepth / (dDepth - dDepthBefore);
|
|
104
|
-
vec2 Pf = mix(P - dP, P, 1.0 - weight);
|
|
105
|
-
if (abs(Pf.y - projectedCoordStart.y) > invResolutionHeight) {
|
|
106
|
-
return vec3(Pf, depth);
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
return vec3(P, depth);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
if (globalIllumination && (P.x <= 0.0 || P.x >= 1.0)) {
|
|
114
|
-
return vec3(P, 0.0);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// continue with ray marching
|
|
118
|
-
// Clamp to 0.999 to avoid sampling edge artifacts for water reflections
|
|
119
|
-
P = P + dP;
|
|
120
|
-
Q.z += dQ.z;
|
|
121
|
-
k += dk;
|
|
122
|
-
rayDiffZOld = rayDiffZ;
|
|
123
|
-
dDepthBefore = dDepth;
|
|
124
|
-
|
|
125
|
-
// Clamp to 0.999 to avoid sampling edge artifacts for water reflections
|
|
126
|
-
if (!globalIllumination) {
|
|
127
|
-
P = clamp(P, vec2(0.0), vec2(0.999));
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return vec3(P, 0.0);
|
|
131
|
-
}
|
|
132
|
-
`)}export{d as ScreenSpaceReflections};
|
|
File without changes
|
|
File without changes
|