Change ColorTextures to ColorLayers etc

This commit is contained in:
Erik Broberg
2016-10-26 18:49:51 +02:00
parent 9f65907579
commit 6104b1fb58
19 changed files with 147 additions and 149 deletions
+6 -6
View File
@@ -32,7 +32,7 @@ return {
HeightMapMinimumSize = 64,
},
Textures = {
ColorTextures = {
ColorLayers = {
{
Type = "Temporal",
Name = "Temporal VIIRS SNPP",
@@ -79,7 +79,7 @@ return {
},
]]
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
{
Name = "CTX Mosaic",
FilePath = "map_service_configs/mars/CTX_Mosaic.xml",
@@ -94,7 +94,7 @@ return {
}]]
},
NightTextures = {
NightLayers = {
{
Name = "Earth at Night 2012",
FilePath = "map_service_configs/earth/VIIRS_CityLights_2012.xml",
@@ -106,7 +106,7 @@ return {
FilePath = "map_service_configs/earth/MODIS_Water_Mask.xml",
},
},
Overlays = {
ColorOverlays = {
{
Name = "Coastlines",
FilePath = "map_service_configs/earth/Coastlines.xml",
@@ -125,7 +125,7 @@ return {
FilePath = "textures/test_tile.png",
},
},
HeightMaps = {
HeightLayers = {
{
Name = "Mola Elevation",
@@ -148,7 +148,7 @@ return {
FilePath = "map_service_configs/mercury/OnMercuryElevationGaskell.xml",
},
},
HeightMapOverlays = {
HeightMapColorOverlays = {
--[[
{
Name = "West_Candor_Chasma_DEM_longlat_global2",
+3 -3
View File
@@ -25,7 +25,7 @@ function preInitialization()
-- Toggle night texture, shading, atmosphere and water
openspace.bindKey("s",
helper.property.invert('Earth.RenderableGlobe.Layers.NightTextures.Earth at Night 2012.enabled') ..
helper.property.invert('Earth.RenderableGlobe.Layers.NightLayers.Earth at Night 2012.enabled') ..
helper.property.invert('Earth.RenderableGlobe.performShading') ..
helper.property.invert('Earth.RenderableGlobe.atmosphere') ..
helper.property.invert('Earth.RenderableGlobe.Layers.WaterMasks.MODIS_Water_Mask.enabled')
@@ -56,8 +56,8 @@ function postInitialization()
openspace.setPropertyValue("SunMarker.renderable.enabled", false)
openspace.setPropertyValue("Earth.RenderableGlobe.atmosphere", true)
openspace.setPropertyValue("Earth.RenderableGlobe.Layers.NightTextures.Earth at Night 2012.settings.gamma", 1.8)
openspace.setPropertyValue("Earth.RenderableGlobe.Layers.NightTextures.Earth at Night 2012.settings.multiplier", 10)
openspace.setPropertyValue("Earth.RenderableGlobe.Layers.NightLayers.Earth at Night 2012.settings.gamma", 1.8)
openspace.setPropertyValue("Earth.RenderableGlobe.Layers.NightLayers.Earth at Night 2012.settings.multiplier", 10)
openspace.resetCameraDirection()
openspace.time.setDeltaTime(0)
+7 -7
View File
@@ -49,8 +49,8 @@ return {
CameraMinHeight = 300,
InteractionDepthBelowEllipsoid = 0, -- Useful when having negative height map values
SegmentsPerPatch = 64,
Textures = {
ColorTextures = {
Layers = {
ColorLayers = {
{
Name = "ESRI Imagery World 2D",
FilePath = "map_service_configs/ESRI/ESRI_Imagery_World_2D.wms",
@@ -76,13 +76,13 @@ return {
FilePath = "textures/test_tile.png",
},
},
GrayScaleTextures = {
GrayScaleLayers = {
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
},
NightTextures = {
NightLayers = {
{
Name = "Earth at Night 2012",
FilePath = "map_service_configs/GIBS/VIIRS_CityLights_2012.xml",
@@ -96,7 +96,7 @@ return {
Enabled = true,
},
},
Overlays = {
ColorOverlays = {
{
Name = "Coastlines",
FilePath = "map_service_configs/GIBS/Coastlines.xml",
@@ -116,7 +116,7 @@ return {
BackgroundImagePath = "../debugglobe/textures/arrows.png",
},
},
HeightMaps = {
HeightLayers = {
{
Name = "Terrain tileset",
FilePath = "map_service_configs/ESRI/TERRAIN.wms",
+25 -25
View File
@@ -48,8 +48,8 @@ return {
OverlayMinimumSize = 512,
HeightMapMinimumSize = 64,
},
Textures = {
ColorTextures = {
Layers = {
ColorLayers = {
{
Name = "Black Marble Next Generation (January)",
FilePath = "earth/BmngJan.wms",
@@ -61,23 +61,23 @@ return {
},
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
},
HeightMaps = {
HeightLayers = {
{
Name = "Black Marble Next Generation (Januray)",
FilePath = "earth/BmngJanTopo.wms",
Enabled = true,
},
},
HeightMapOverlays = {
HeightMapColorOverlays = {
},
},
}
@@ -110,7 +110,7 @@ return {
HeightMapMinimumSize = 64,
},
Textures = {
ColorTextures = {
ColorLayers = {
{
Name = "ClemUvvis",
FilePath = "moon/ClemUvvis.wms",
@@ -142,23 +142,23 @@ return {
},
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
},
HeightMaps = {
HeightLayers = {
{
Name = "LolaDem",
FilePath = "moon/LolaDem.wms",
Enabled = true,
},
},
HeightMapOverlays = {
HeightMapColorOverlays = {
},
},
@@ -192,7 +192,7 @@ return {
HeightMapMinimumSize = 64,
},
Textures = {
ColorTextures = {
ColorLayers = {
{
Name = "MDIM",
FilePath = "mars/Mdim.wms",
@@ -203,7 +203,7 @@ return {
FilePath = "mars/MolaPseudoColor.wms",
},
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
{
Name = "ThemisIRDay",
FilePath = "mars/ThemisIRDay.wms",
@@ -214,20 +214,20 @@ return {
},
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
},
HeightMaps = {
HeightLayers = {
{
Name = "MolaElevation",
FilePath = "mars/MolaElevation.wms",
Enabled = true,
},
},
HeightMapOverlays = {
HeightMapColorOverlays = {
},
},
}
@@ -260,7 +260,7 @@ return {
HeightMapMinimumSize = 64,
},
Textures = {
ColorTextures = {
ColorLayers = {
{
Name = "MessengerMdis",
FilePath = "mercury/MessengerMdis.wms",
@@ -271,18 +271,18 @@ return {
FilePath = "mercury/MessengerMosaic.wms",
}
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
},
HeightMaps = {
HeightLayers = {
},
HeightMapOverlays = {
HeightMapColorOverlays = {
},
},
+7 -7
View File
@@ -34,8 +34,8 @@ return {
CameraMinHeight = 1000,
InteractionDepthBelowEllipsoid = 10000, -- Useful when having negative height map values
SegmentsPerPatch = 64,
Textures = {
ColorTextures = {
Layers = {
ColorLayers = {
{
Type = "SingleImage",
Name = "Debug Tiles",
@@ -54,10 +54,10 @@ return {
},
]]
},
GrayScaleTextures = {
GrayScaleLayers = {
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
--[[
{
Name = "CTX Mosaic",
@@ -83,13 +83,13 @@ return {
},
]]
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
{
Type = "TileIndex",
Name = "Indices",
@@ -101,7 +101,7 @@ return {
BackgroundImagePath = "../debugglobe/textures/arrows.png",
},
},
HeightMaps = {
HeightLayers = {
--[[
{
Name = "Mola Elevation",
+7 -7
View File
@@ -37,8 +37,8 @@ return {
CameraMinHeight = 300,
InteractionDepthBelowEllipsoid = 0, -- Useful when having negative height map values
SegmentsPerPatch = 64,
Textures = {
ColorTextures = {
Layers = {
ColorLayers = {
{
Name = "On Mercury Color",
FilePath = "map_service_configs/OnMercuryColor.xml",
@@ -49,12 +49,12 @@ return {
FilePath = "map_service_configs/OnMercuryImage.xml",
},
},
GrayScaleTextures = { },
GrayScaleOverlays = { },
NightTextures = { },
GrayScaleLayers = { },
GrayScaleColorOverlays = { },
NightLayers = { },
WaterMasks = { },
Overlays = { },
HeightMaps = {
ColorOverlays = { },
HeightLayers = {
{
Name = "On Mercury Height",
FilePath = "map_service_configs/OnMercuryElevationGaskell.xml",
+7 -7
View File
@@ -22,30 +22,30 @@ return {
CameraMinHeight = 300,
InteractionDepthBelowEllipsoid = 5000, -- Useful when having negative height map values
SegmentsPerPatch = 64,
Textures = {
ColorTextures = {
Layers = {
ColorLayers = {
},
GrayScaleOverlays = {
GrayScaleColorOverlays = {
},
GrayScaleTextures = {
GrayScaleLayers = {
{
Name = "OnMoonColorGrayscale",
FilePath = "map_service_configs/OnMoonColor.xml",
Enabled = true,
},
},
NightTextures = {
NightLayers = {
},
WaterMasks = {
},
Overlays = {
ColorOverlays = {
},
HeightMaps = {
HeightLayers = {
{
Name = "OnMoonHeight",
FilePath = "map_service_configs/OnMoonHeight.xml",
+1 -1
View File
@@ -188,7 +188,7 @@ function postInitialization()
-- Activate night textures and water masks
openspace.setPropertyValue("Earth.RenderableGlobe.WaterMasks", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.NightTextures", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.NightLayers", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.Atmosphere", true);
openspace.printInfo("Done setting default values")
+1 -1
View File
@@ -188,7 +188,7 @@ function postInitialization()
-- Activate night textures and water masks
openspace.setPropertyValue("Earth.RenderableGlobe.WaterMasks", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.NightTextures", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.NightLayers", {0, 1});
openspace.setPropertyValue("Earth.RenderableGlobe.Atmosphere", true);
openspace.printInfo("Done setting default values")
+2 -2
View File
@@ -103,11 +103,11 @@ namespace globebrowsing {
auto layerManager = owner().chunkedLodGlobe()->layerManager();
auto heightMapProviders = layerManager->layerGroup(LayerManager::HeightMaps).activeLayers();
auto heightMapProviders = layerManager->layerGroup(LayerManager::HeightLayers).activeLayers();
size_t HEIGHT_CHANNEL = 0;
const LayerGroup& heightmaps = layerManager->layerGroup(LayerManager::HeightMaps);
const LayerGroup& heightmaps = layerManager->layerGroup(LayerManager::HeightLayers);
std::vector<ChunkTile> tiles = TileSelector::getTilesSortedByHighestResolution(heightmaps, _tileIndex);
bool lastHadMissingData = true;
for (auto tile : tiles) {
@@ -162,7 +162,7 @@ namespace globebrowsing {
int EvaluateChunkLevelByAvailableTileData::getDesiredLevel(const Chunk& chunk, const RenderData& data) const {
auto layerManager = chunk.owner().chunkedLodGlobe()->layerManager();
auto heightLayers = layerManager->layerGroup(LayerManager::HeightMaps).activeLayers();
auto heightLayers = layerManager->layerGroup(LayerManager::HeightLayers).activeLayers();
int currLevel = chunk.tileIndex().level;
for (size_t i = 0; i < LayerManager::NUM_LAYER_GROUPS; i++) {
@@ -49,9 +49,7 @@ namespace {
"InteractionDepthBelowEllipsoid";
const std::string keyCameraMinHeight = "CameraMinHeight";
const std::string keySegmentsPerPatch = "SegmentsPerPatch";
const std::string keyTextures = "Textures";
const std::string keyColorTextures = "ColorTextures";
const std::string keyHeightMaps = "HeightMaps";
const std::string keyLayers = "Layers";
}
namespace openspace {
@@ -108,11 +106,11 @@ namespace globebrowsing {
_generalProperties.cameraMinHeight.set(cameraMinHeight);
// Init tile provider manager
ghoul::Dictionary texturesDictionary;
dictionary.getValue(keyTextures, texturesDictionary);
ghoul::Dictionary layersDictionary;
dictionary.getValue(keyLayers, layersDictionary);
_layerManager = std::make_shared<LayerManager>(texturesDictionary);
_layerManager = std::make_shared<LayerManager>(layersDictionary);
_chunkedLodGlobe = std::make_shared<ChunkedLodGlobe>(
*this, patchSegments, _layerManager);
@@ -234,7 +232,7 @@ namespace globebrowsing {
geoDiffPoint.lon / geoDiffPatch.lon, geoDiffPoint.lat / geoDiffPatch.lat);
// Get the tile providers for the height maps
const auto& heightMapLayers = _layerManager->layerGroup(LayerManager::HeightMaps).activeLayers();
const auto& heightMapLayers = _layerManager->layerGroup(LayerManager::HeightLayers).activeLayers();
for (const auto& layer : heightMapLayers) {
TileProvider* tileProvider = layer->tileProvider();
@@ -187,7 +187,7 @@ namespace globebrowsing {
programObject->setUniform("lonLatScalingFactor", vec2(patchSize.toLonLatVec2()));
programObject->setUniform("radiiSquared", vec3(ellipsoid.radiiSquared()));
if (_layerManager->layerGroup(LayerManager::NightTextures).activeLayers().size() > 0 ||
if (_layerManager->layerGroup(LayerManager::NightLayers).activeLayers().size() > 0 ||
_layerManager->layerGroup(LayerManager::WaterMasks).activeLayers().size() > 0 ||
chunk.owner().generalProperties().atmosphereEnabled ||
chunk.owner().generalProperties().performShading) {
@@ -262,7 +262,7 @@ namespace globebrowsing {
programObject->setUniform("patchNormalCameraSpace", patchNormalCameraSpace);
programObject->setUniform("projectionTransform", data.camera.projectionMatrix());
if (_layerManager->layerGroup(LayerManager::NightTextures).activeLayers().size() > 0 ||
if (_layerManager->layerGroup(LayerManager::NightLayers).activeLayers().size() > 0 ||
_layerManager->layerGroup(LayerManager::WaterMasks).activeLayers().size() > 0 ||
chunk.owner().generalProperties().atmosphereEnabled ||
chunk.owner().generalProperties().performShading)
@@ -175,7 +175,7 @@ namespace globebrowsing {
int pileSize = layerGroup.pileSize();
for (size_t i = 0; i < gpuActiveLayers.size(); ++i){
// should maybe a proper GPULayer factory
gpuActiveLayers[i] = category == LayerManager::HeightMaps ?
gpuActiveLayers[i] = category == LayerManager::HeightLayers ?
std::make_unique<GPUHeightLayer>() :
std::make_unique<GPULayer>();
std::string nameExtension = "[" + std::to_string(i) + "].";
@@ -145,13 +145,13 @@ namespace globebrowsing {
//////////////////////////////////////////////////////////////////////////////////////
const std::string LayerManager::LAYER_GROUP_NAMES[NUM_LAYER_GROUPS] = {
"ColorTextures",
"GrayScaleTextures",
"GrayScaleOverlays",
"NightTextures",
"HeightLayers",
"ColorLayers",
"ColorOverlays",
"GrayScaleLayers",
"GrayScaleColorOverlays",
"NightLayers",
"WaterMasks",
"Overlays",
"HeightMaps",
};
LayerManager::LayerManager(const ghoul::Dictionary& layerGroupsDict) {
@@ -168,7 +168,7 @@ namespace globebrowsing {
initData.threads = 1;
initData.cacheSize = 5000;
initData.framesUntilRequestQueueFlush = 60;
initData.preprocessTiles = (i == LayerManager::HeightMaps); // Only preprocess height maps.
initData.preprocessTiles = (i == LayerManager::HeightLayers); // Only preprocess height maps.
_layerGroups.push_back(std::make_shared<LayerGroup>(groupName, layerGroupDict));
}
@@ -114,13 +114,13 @@ namespace globebrowsing {
static const size_t NUM_LAYER_GROUPS = 7;
static const std::string LAYER_GROUP_NAMES[NUM_LAYER_GROUPS];
static enum LayerGroupId{
ColorTextures,
GrayScaleTextures,
GrayScaleOverlays,
NightTextures,
HeightLayers,
ColorLayers,
ColorOverlays,
GrayScaleLayers,
GrayScaleColorOverlays,
NightLayers,
WaterMasks,
Overlays,
HeightMaps
};
LayerManager(const ghoul::Dictionary& textureCategoriesDictionary);
@@ -29,18 +29,18 @@
#include <${MODULE_GLOBEBROWSING}/shaders/blending.hglsl>
// First layer type from LayerShaderManager is height map
#define NUMLAYERS_HEIGHTMAP #{lastLayerIndexHeightMaps} + 1
#define USE_HEIGHTMAP #{useHeightMaps}
#define HEIGHTMAP_BLENDING_ENABLED #{blendHeightMaps}
#define NUMLAYERS_HEIGHTMAP #{lastLayerIndexHeightLayers} + 1
#define USE_HEIGHTMAP #{useHeightLayers}
#define HEIGHTMAP_BLENDING_ENABLED #{blendHeightLayers}
// Second layer type from LayerShaderManager is color texture
#define NUMLAYERS_COLORTEXTURE #{lastLayerIndexColorTextures} + 1
#define USE_COLORTEXTURE #{useColorTextures}
#define COLORTEXTURE_BLENDING_ENABLED #{blendColorTextures}
#define NUMLAYERS_COLORTEXTURE #{lastLayerIndexColorLayers} + 1
#define USE_COLORTEXTURE #{useColorLayers}
#define COLORTEXTURE_BLENDING_ENABLED #{blendColorLayers}
#define NUMLAYERS_GRAYSCALETEXTURE #{lastLayerIndexGrayScaleTextures} + 1
#define USE_GRAYSCALETEXTURE #{useGrayScaleTextures}
#define GRAYSCALETEXTURE_BLENDING_ENABLED #{blendGrayScaleTextures}
#define NUMLAYERS_GRAYSCALETEXTURE #{lastLayerIndexGrayScaleLayers} + 1
#define USE_GRAYSCALETEXTURE #{useGrayScaleLayers}
#define GRAYSCALETEXTURE_BLENDING_ENABLED #{blendGrayScaleLayers}
// Third layer type from LayerShaderManager is water mask
#define NUMLAYERS_WATERMASK #{lastLayerIndexWaterMasks} + 1
@@ -48,19 +48,19 @@
#define WATERMASK_BLENDING_ENABLED #{blendWaterMasks}
// Fourth layer type from LayerShaderManager is night texture
#define NUMLAYERS_NIGHTTEXTURE #{lastLayerIndexNightTextures} + 1
#define USE_NIGHTTEXTURE #{useNightTextures}
#define NIGHTTEXTURE_BLENDING_ENABLED #{blendNightTextures}
#define NUMLAYERS_NIGHTTEXTURE #{lastLayerIndexNightLayers} + 1
#define USE_NIGHTTEXTURE #{useNightLayers}
#define NIGHTTEXTURE_BLENDING_ENABLED #{blendNightLayers}
// Fifth layer type from LayerShaderManager is overlay
#define NUMLAYERS_OVERLAY #{lastLayerIndexOverlays} + 1
#define USE_OVERLAY #{useOverlays}
#define OVERLAY_BLENDING_ENABLED #{blendOverlays}
#define NUMLAYERS_OVERLAY #{lastLayerIndexColorOverlays} + 1
#define USE_OVERLAY #{useColorOverlays}
#define OVERLAY_BLENDING_ENABLED #{blendColorOverlays}
// Sixth layer type from LayerShaderManager is grayscale overlay
#define NUMLAYERS_GRAYSCALE_OVERLAY #{lastLayerIndexGrayScaleOverlays} + 1
#define USE_GRAYSCALE_OVERLAY #{useGrayScaleOverlays}
#define GRAYSCALE_OVERLAY_BLENDING_ENABLED #{blendGrayScaleOverlays}
#define NUMLAYERS_GRAYSCALE_OVERLAY #{lastLayerIndexGrayScaleColorOverlays} + 1
#define USE_GRAYSCALE_OVERLAY #{useGrayScaleColorOverlays}
#define GRAYSCALE_OVERLAY_BLENDING_ENABLED #{blendGrayScaleColorOverlays}
// Global constants
#define CHUNK_DEFAULT_HEIGHT #{defaultHeight}
@@ -107,7 +107,7 @@ float calculateUntransformedHeight(
#endif // HEIGHTMAP_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexHeightMaps}
#for i in 0..#{lastLayerIndexHeightLayers}
{
height = getTexVal(HeightTextures[#{i}].pile, levelWeights, uv).r;
@@ -131,7 +131,7 @@ float calculateHeight(
#endif // HEIGHTMAP_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexHeightMaps}
#for i in 0..#{lastLayerIndexHeightLayers}
{
float untransformedHeight = getTexVal(HeightTextures[#{i}].pile, levelWeights, uv).r;
@@ -148,7 +148,7 @@ float calculateHeight(
vec4 calculateColor(
const vec2 uv,
LevelWeights levelWeights,
const Layer ColorTextures[NUMLAYERS_COLORTEXTURE]) {
const Layer ColorLayers[NUMLAYERS_COLORTEXTURE]) {
vec4 color = vec4(0);
@@ -158,11 +158,11 @@ vec4 calculateColor(
levelWeights = getDefaultLevelWeights();
#endif // COLORTEXTURE_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexColorTextures}
#for i in 0..#{lastLayerIndexColorLayers}
{
vec4 colorSample = getTexVal(ColorTextures[#{i}].pile, levelWeights, uv);
vec4 colorSample = getTexVal(ColorLayers[#{i}].pile, levelWeights, uv);
colorSample = performLayerSettings(colorSample, ColorTextures[#{i}].settings);
colorSample = performLayerSettings(colorSample, ColorLayers[#{i}].settings);
color = blendOver(color, colorSample);
}
@@ -175,7 +175,7 @@ vec4 calculateGrayScale(
const vec4 currentColor,
const vec2 uv,
LevelWeights levelWeights,
const Layer GrayScaleTextures[NUMLAYERS_GRAYSCALETEXTURE]) {
const Layer GrayScaleLayers[NUMLAYERS_GRAYSCALETEXTURE]) {
vec4 colorGrayScale = currentColor;
@@ -185,12 +185,12 @@ vec4 calculateGrayScale(
levelWeights = getDefaultLevelWeights();
#endif // GRAYSCALE_OVERLAY_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexGrayScaleTextures}
#for i in 0..#{lastLayerIndexGrayScaleLayers}
{
vec4 colorSample = getTexVal(GrayScaleTextures[#{i}].pile, levelWeights, uv);
vec4 colorSample = getTexVal(GrayScaleLayers[#{i}].pile, levelWeights, uv);
colorSample = vec4(colorSample.r, colorSample.r, colorSample.r, 1);
colorSample = performLayerSettings(colorSample, GrayScaleTextures[#{i}].settings);
colorSample = performLayerSettings(colorSample, GrayScaleLayers[#{i}].settings);
colorGrayScale = blendOver(colorGrayScale, colorSample);
}
@@ -226,7 +226,7 @@ vec4 calculateNight(
const vec4 currentColor,
const vec2 uv,
LevelWeights levelWeights,
const Layer NightTextures[NUMLAYERS_NIGHTTEXTURE],
const Layer NightLayers[NUMLAYERS_NIGHTTEXTURE],
const vec3 ellipsoidNormalCameraSpace,
const vec3 lightDirectionCameraSpace) {
@@ -238,10 +238,10 @@ vec4 calculateNight(
levelWeights = getDefaultLevelWeights();
#endif // NIGHTTEXTURE_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexNightTextures}
#for i in 0..#{lastLayerIndexNightLayers}
{
vec4 colorSample = getTexVal(NightTextures[#{i}].pile, levelWeights, uv);
colorSample = performLayerSettings(colorSample, NightTextures[#{i}].settings);
vec4 colorSample = getTexVal(NightLayers[#{i}].pile, levelWeights, uv);
colorSample = performLayerSettings(colorSample, NightLayers[#{i}].settings);
nightColor = blendOver(nightColor, colorSample);
}
@@ -280,7 +280,7 @@ vec4 calculateOverlay(
const vec4 currentColor,
const vec2 uv,
LevelWeights levelWeights,
const Layer Overlays[NUMLAYERS_OVERLAY]) {
const Layer ColorOverlays[NUMLAYERS_OVERLAY]) {
vec4 color = currentColor;
@@ -290,10 +290,10 @@ vec4 calculateOverlay(
levelWeights = getDefaultLevelWeights();
#endif // OVERLAY_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexOverlays}
#for i in 0..#{lastLayerIndexColorOverlays}
{
vec4 colorSample = getTexVal(Overlays[#{i}].pile, levelWeights, uv);
colorSample = performLayerSettings(colorSample, Overlays[#{i}].settings);
vec4 colorSample = getTexVal(ColorOverlays[#{i}].pile, levelWeights, uv);
colorSample = performLayerSettings(colorSample, ColorOverlays[#{i}].settings);
color = blendOver(color, colorSample);
}
@@ -306,7 +306,7 @@ vec4 calculateGrayScaleOverlay(
const vec4 currentColor,
const vec2 uv,
LevelWeights levelWeights,
const Layer GrayScaleOverlays[NUMLAYERS_GRAYSCALE_OVERLAY]) {
const Layer GrayScaleColorOverlays[NUMLAYERS_GRAYSCALE_OVERLAY]) {
vec4 colorGrayScale = currentColor;
@@ -316,12 +316,12 @@ vec4 calculateGrayScaleOverlay(
levelWeights = getDefaultLevelWeights();
#endif // GRAYSCALE_OVERLAY_BLENDING_ENABLED
#for i in 0..#{lastLayerIndexGrayScaleOverlays}
#for i in 0..#{lastLayerIndexGrayScaleColorOverlays}
{
vec4 colorSample = getTexVal(GrayScaleOverlays[#{i}].pile, levelWeights, uv);
vec4 colorSample = getTexVal(GrayScaleColorOverlays[#{i}].pile, levelWeights, uv);
colorSample = vec4(colorSample.r, colorSample.r, colorSample.r, colorSample.g);
colorSample = performLayerSettings(colorSample, GrayScaleOverlays[#{i}].settings);
colorSample = performLayerSettings(colorSample, GrayScaleColorOverlays[#{i}].settings);
colorGrayScale = blendOver(colorGrayScale, colorSample);
}
@@ -34,23 +34,23 @@
// the actual fragment color
#if USE_COLORTEXTURE
uniform Layer ColorTextures[NUMLAYERS_COLORTEXTURE];
uniform Layer ColorLayers[NUMLAYERS_COLORTEXTURE];
#endif // USE_COLORTEXTURE
#if USE_GRAYSCALETEXTURE
uniform Layer GrayScaleTextures[NUMLAYERS_GRAYSCALETEXTURE];
uniform Layer GrayScaleLayers[NUMLAYERS_GRAYSCALETEXTURE];
#endif // USE_GRAYSCALETEXTURE
#if USE_NIGHTTEXTURE
uniform Layer NightTextures[NUMLAYERS_NIGHTTEXTURE];
uniform Layer NightLayers[NUMLAYERS_NIGHTTEXTURE];
#endif // USE_NIGHTTEXTURE
#if USE_OVERLAY
uniform Layer Overlays[NUMLAYERS_OVERLAY];
uniform Layer ColorOverlays[NUMLAYERS_OVERLAY];
#endif // USE_OVERLAY
#if USE_GRAYSCALE_OVERLAY
uniform Layer GrayScaleOverlays[NUMLAYERS_GRAYSCALE_OVERLAY];
uniform Layer GrayScaleColorOverlays[NUMLAYERS_GRAYSCALE_OVERLAY];
#endif // USE_GRAYSCALE_OVERLAY
#if USE_WATERMASK
@@ -86,7 +86,7 @@ in LevelWeights levelWeights;
// the alignment and resolution of the heightmaps
#if USE_HEIGHTMAP
uniform Layer HeightMaps[NUMLAYERS_HEIGHTMAP];
uniform Layer HeightLayers[NUMLAYERS_HEIGHTMAP];
#endif // USE_HEIGHTMAP
float getUntransformedTileVertexHeight(vec2 uv, LevelWeights levelWeights){
@@ -98,7 +98,7 @@ float getUntransformedTileVertexHeight(vec2 uv, LevelWeights levelWeights){
height = calculateUntransformedHeight(
uv,
levelWeights, // Variable to determine which texture to sample from
HeightMaps); // Three textures to sample from
HeightLayers); // Three textures to sample from
#endif // USE_HEIGHTMAP
@@ -124,7 +124,7 @@ vec4 getTileFragColor(){
color = calculateColor(
fs_uv,
levelWeights,
ColorTextures);
ColorLayers);
#endif // USE_COLORTEXTURE
#if USE_GRAYSCALETEXTURE
@@ -132,7 +132,7 @@ vec4 getTileFragColor(){
color,
fs_uv,
levelWeights,
GrayScaleTextures);
GrayScaleLayers);
#endif // USE_GRAYSCALETEXTURE
#if USE_GRAYSCALE_OVERLAY
@@ -141,7 +141,7 @@ vec4 getTileFragColor(){
color,
fs_uv,
levelWeights,
GrayScaleOverlays);
GrayScaleColorOverlays);
#endif // USE_COLORTEXTURE
@@ -162,7 +162,7 @@ vec4 getTileFragColor(){
color,
fs_uv,
levelWeights,
NightTextures,
NightLayers,
normalize(ellipsoidNormalCameraSpace),
lightDirectionCameraSpace); // Should already be normalized
@@ -202,7 +202,7 @@ vec4 getTileFragColor(){
color,
fs_uv,
levelWeights,
Overlays);
ColorOverlays);
#endif // USE_OVERLAY
@@ -223,7 +223,7 @@ vec4 getTileFragColor(){
color += 0.0001*calculateDebugColor(fs_uv, fs_position, vertexResolution);
#if USE_HEIGHTMAP
color.r = min(color.r, 0.8);
color.r += tileResolution(fs_uv, HeightMaps[0].pile.chunkTile0) > 0.9 ? 1 : 0;
color.r += tileResolution(fs_uv, HeightLayers[0].pile.chunkTile0) > 0.9 ? 1 : 0;
#endif
#endif
@@ -31,7 +31,7 @@
#if USE_HEIGHTMAP
uniform Layer HeightMaps[NUMLAYERS_HEIGHTMAP];
uniform Layer HeightLayers[NUMLAYERS_HEIGHTMAP];
#endif // USE_HEIGHTMAP
uniform int xSegments;
@@ -50,7 +50,7 @@ float getUntransformedTileVertexHeight(vec2 uv, LevelWeights levelWeights){
height = calculateUntransformedHeight(
uv,
levelWeights, // Variable to determine which texture to sample from
HeightMaps); // Three textures to sample from
HeightLayers); // Three textures to sample from
#endif // USE_HEIGHTMAP
@@ -67,7 +67,7 @@ float getTileVertexHeight(vec2 uv, LevelWeights levelWeights){
height = calculateHeight(
uv,
levelWeights, // Variable to determine which texture to sample from
HeightMaps); // Three textures to sample from
HeightLayers); // Three textures to sample from
#endif // USE_HEIGHTMAP
@@ -87,15 +87,15 @@ vec3 getTileVertexNormal(
float heightCenter = calculateHeight(
uv,
levelWeights,
HeightMaps);
HeightLayers);
float heightOffsetX = calculateHeight(
uv + vec2(sampleDelta, 0.0),
levelWeights,
HeightMaps);
HeightLayers);
float heightOffsetY = calculateHeight(
uv + vec2(0.0, sampleDelta),
levelWeights,
HeightMaps);
HeightLayers);
vec3 e0 = normalize(cross(vec3(0,0,1), ellipsoidNormal));
vec3 e1 = cross(ellipsoidNormal, e0);