Globebrowsing Fade-In/Out Fix and Assets Updates (Issue #1209) (#1476)

* Fixed fade out algorithm to use correct distance from globe center

* Updated planet labels in asset files to match fixed fade-out algorithm

* Changed variable name and removed mistakenly-added file
This commit is contained in:
Gene Payne
2021-01-29 10:17:13 -07:00
committed by GitHub
parent dc067e0d5f
commit 06787e4f77
19 changed files with 83 additions and 64 deletions

View File

@@ -31,16 +31,17 @@ local Charon = {
Enable = false,
FileName = labelsPath .. "/charon.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 40.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 2000000.0,
FadeOutStartingDistance = 800000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 250000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -31,16 +31,17 @@ local Pluto = {
Enable = false,
FileName = labelsPath .. "/pluto.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 28.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 4000000.0,
FadeOutStartingDistance = 650000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 500000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -26,15 +26,15 @@ local Earth = {
Enable = false,
FileName = labelsPath .. "/Earth.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 41.0,
LabelsSize = 0.52,
LabelsFontSize = 40.0,
LabelsSize = 4.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
LabelsFadeOutEnabled = false,
FadeInStartingDistance = 50000.0,
FadeOutStartingDistance = 80000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 300000.0,
FadeOutStartingDistance = 10000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1500000.0,
LabelsColor = { 1.0, 0.0, 0.0 }

View File

@@ -43,8 +43,9 @@ local Moon = {
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
FadeOutStartingDistance = 100000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsColor = { 1.0, 1.0, 0.0 }

View File

@@ -37,8 +37,9 @@ local Callisto = {
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 15000000.0,
FadeOutStartingDistance = 1000000.0,
FadeOutStartingDistance = 5000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsColor = { 1.0, 1.0, 0.0 }

View File

@@ -32,15 +32,16 @@ local Europa = {
FileName = labelsPath .. "/europa.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 40.0,
LabelsSize = 10.5,
LabelsSize = 10.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 15000000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 8000000.0,
FadeOutStartingDistance = 5000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 700000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -37,10 +37,11 @@ local Ganymede = {
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 15000000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 8000000.0,
FadeOutStartingDistance = 2250000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 1750000.0,
LabelsColor = {1.0, 1.0, 0.0}
}
},

View File

@@ -32,15 +32,16 @@ local Io = {
FileName = labelsPath .. "/io.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 40.0,
LabelsSize = 10.5,
LabelsSize = 10.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 15000000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 8500000.0,
FadeOutStartingDistance = 4000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 1000000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -27,15 +27,16 @@ local Mars = {
FileName = labelsPath .. "/mars.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsSize = 8.0,
LabelsSize = 9.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 2000000.0,
FadeOutStartingDistance = 750000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 2500000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -27,13 +27,15 @@ local Mercury = {
Enable = false,
FileName = labelsPath .. "/Mercury.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 40.0,
LabelsFontSize = 22.0,
LabelsSize = 10.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
FadeInStartingDistance = 40000000.0,
FadeOutStartingDistance = 80000.0,
LabelsFadeInEnabled = true,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 5000000.0,
FadeOutStartingDistance = 1800000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1500000.0,
LabelsColor = { 1.0, 1.0, 0.0 }

View File

@@ -29,16 +29,17 @@ local Dione = {
Enable = false,
FileName = labelsPath .. "/dione.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 32.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 3500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 200000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -29,16 +29,17 @@ local Enceladus = {
Enable = false,
FileName = labelsPath .. "/enceladus.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 22.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 1000000.0,
FadeOutStartingDistance = 500000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 100000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -29,16 +29,17 @@ local Iapetus = {
Enable = false,
FileName = labelsPath .. "/iapetus.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 30.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 3500000.0,
FadeOutStartingDistance = 600000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 250000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -35,10 +35,11 @@ local Mimas = {
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 1000000.0,
FadeOutStartingDistance = 400000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 25000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -29,16 +29,17 @@ local Rhea = {
Enable = false,
FileName = labelsPath .. "/rhea.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 40.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 2500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 250000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -29,16 +29,17 @@ local Tethys = {
Enable = false,
FileName = labelsPath .. "/tethys.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsFontSize = 24.0,
LabelsSize = 8.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 1500000.0,
FadeOutStartingDistance = 500000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsDistanceEPS = 200000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -30,13 +30,14 @@ local Titan = {
FileName = labelsPath .. "/titan.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 14.0,
LabelsSize = 8.0,
LabelsSize = 10.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 7500000.0,
FadeOutStartingDistance = 6000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsColor = { 1.0, 1.0, 0.0 }

View File

@@ -30,15 +30,17 @@ local Venus = {
FileName = labelsPath .. "/venus.labels",
LabelAlignmentOption = "Horizontally", -- or Circularly
LabelsFontSize = 40.0,
LabelsSize = 12.0,
LabelsSize = 10.0,
LabelsMinSize = 1.0,
LabelsMaxSize = 1500.0,
ProximityEnabled = false,
LabelsFadeInEnabled = true,
FadeInStartingDistance = 500000.0,
FadeOutStartingDistance = 1000000.0,
LabelsFadeInEnabled = true,
LabelsFadeOutEnabled = true,
FadeInStartingDistance = 7000000.0,
FadeOutStartingDistance = 2000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 3500000.0,
LabelsDistanceEPS = 4000000.0,
LabelsColor = { 1.0, 1.0, 0.0 }
}
},

View File

@@ -50,7 +50,7 @@ namespace {
constexpr const char* KeyLabelsFileName = "FileName";
constexpr const double LabelFadeRangeConst = 1500.0;
constexpr const double LabelFadeOutLimitAltitudeMeters = 25000.0;
constexpr const double RangeAngularCoefConst = 0.8;
constexpr const float MinOpacityValueConst = 0.009f;
@@ -674,10 +674,10 @@ void GlobeLabelsComponent::draw(const RenderData& data) {
if (_labelsFadeOutEnabled) {
glm::dvec2 fadeRange = glm::dvec2(
averageRadius + _labelsMinHeight + LabelFadeRangeConst
averageRadius + _labelsMinHeight + LabelFadeOutLimitAltitude_meters
);
fadeRange.x += _labelsFadeOutDist;
double a = RangeAngularCoefConst / (fadeRange.x - fadeRange.y);
double a = 1.0 / (fadeRange.x - fadeRange.y);
double b = -(fadeRange.y / (fadeRange.x - fadeRange.y));
double funcValue = a * distanceCameraGlobeWorld + b;
varyingOpacity *= static_cast<float>(std::min(funcValue, 1.0));