From 68df0191c0abb757e37f33681ed07ad6a3269a17 Mon Sep 17 00:00:00 2001 From: Stuart Buchanan Date: Sat, 15 Jan 2022 15:04:54 +0000 Subject: [PATCH] WS30: add edge-hardness parameter for landclass transitions Also new use_edge_hardness_with_large_scale_transition const for testing --- Materials/regions/europe.xml | 22 ++++++-- Materials/regions/global-summer.xml | 52 +++++++++++++++++++ .../ws30-ALS-landclass-search-functions.frag | 12 +++++ 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/Materials/regions/europe.xml b/Materials/regions/europe.xml index 09f2a4fa4..303a67689 100644 --- a/Materials/regions/europe.xml +++ b/Materials/regions/europe.xml @@ -157,9 +157,9 @@ Terrain/irrcrop.png Terrain/irrcrop.mask.png - 0 - 8000.0 - + 0 + 8000.0 + 3000 3000 1 @@ -185,6 +185,7 @@ 0 8000.0 + 1.0 2000 2000 @@ -250,6 +251,9 @@ 8 15.0 10.0 + + 1.0 + @@ -271,6 +275,7 @@ 1 0.2 -1.0 + 1.0 1024 1024 @@ -331,6 +336,9 @@ 8 15.0 10.0 + + 1.0 + @@ -408,6 +416,9 @@ 8 20.0 12.0 + + 1.0 + @@ -434,6 +445,9 @@ 8 20.0 12.0 + + 1.0 + @@ -516,6 +530,7 @@ 1 1.4 0.6 + 1.0 2000 2000 @@ -550,6 +565,7 @@ 1 1.4 0.6 + 1.0 2000 2000 diff --git a/Materials/regions/global-summer.xml b/Materials/regions/global-summer.xml index 6c0809f08..4304bcc98 100644 --- a/Materials/regions/global-summer.xml +++ b/Materials/regions/global-summer.xml @@ -96,6 +96,9 @@ 15.0 1 1 + + 1.0 + @@ -115,6 +118,9 @@ 15.0 1 0.85 + + 1.0 + @@ -133,6 +139,9 @@ 15.0 1 0.95 + + 1.0 + @@ -152,6 +161,9 @@ 18.0 1 1 + + 1.0 + @@ -169,6 +181,9 @@ 15.0 1 1 + + 1.0 + @@ -185,6 +200,9 @@ 8.0 1 1 + + 1.0 + @@ -291,6 +309,9 @@ 8 25.0 15.0 + + 1.0 + @@ -312,6 +333,9 @@ 1.0 + + 1.0 + @@ -339,6 +363,9 @@ 1.0 + + 1.0 + @@ -370,6 +397,9 @@ 8 12.0 7.0 + + 1.0 + @@ -389,6 +419,9 @@ Ocean Effects/water Terrain/water.png + + 1.0 + @@ -420,6 +453,9 @@ 0 1.5 0.6 + + 1.0 + @@ -437,6 +473,7 @@ /environment/surface/ice-cover + 1.0 400 400 @@ -676,6 +713,9 @@ 8 20.0 12.0 + + 1.0 + @@ -707,6 +747,9 @@ 8 20.0 12.0 + + 1.0 + @@ -736,6 +779,9 @@ 8 20.0 12.0 + + 1.0 + @@ -860,6 +906,9 @@ 8 20.0 12.0 + + 1.0 + @@ -882,6 +931,9 @@ 8 20.0 12.0 + + 1.0 + diff --git a/Shaders/ws30-ALS-landclass-search-functions.frag b/Shaders/ws30-ALS-landclass-search-functions.frag index deb9ac580..b73a4dd1d 100644 --- a/Shaders/ws30-ALS-landclass-search-functions.frag +++ b/Shaders/ws30-ALS-landclass-search-functions.frag @@ -160,6 +160,9 @@ // Possibe values: 0=off, 1=on. Default:0 const int grow_landclass_borders_with_large_scale_transition = 1; +// Use the edge-hardness parameter from materials.xml to determine +// weighting of the landclass in transitions + const int use_edge_hardness_with_large_scale_transition = 0; ////////////////////////////////////////////////////////////////// @@ -1154,6 +1157,15 @@ if (grow_landclass_borders_with_large_scale_transition == 1) //lc = int(t); //mfact[2] = t; + if (use_edge_hardness_with_large_scale_transition == 1) + { + // the edge-hardness material parameter has range 0.0 (soft) to 1.0 (hard) + // We use this to force the mix factor to 0 or 1 + if ((num_n > 0) && fg_dimensionsArray[lc].w > 0.5) { + mfact[0] = step(0.5, mfact[0]); + } + } + landclass_id = lc; neighbor_landclass_ids=lc_n; num_unique_neighbors = num_n;