Only use padding for height layers

This commit is contained in:
Kalle Bladin
2017-08-08 14:02:56 +02:00
parent 2ecfd4d05a
commit 1265de0d50
16 changed files with 173 additions and 151 deletions
@@ -25,13 +25,13 @@
#include <modules/globebrowsing/rendering/gpu/gpulayer.h>
#include <modules/globebrowsing/rendering/layer/layer.h>
#include <modules/globebrowsing/tile/tiletextureinitdata.h>
namespace openspace::globebrowsing {
void GPULayer::setValue(ghoul::opengl::ProgramObject* programObject, const Layer& layer,
const TileIndex& tileIndex, int pileSize)
{
ChunkTilePile chunkTilePile = layer.getChunkTilePile(tileIndex, pileSize);
gpuRenderSettings.setValue(programObject, layer.renderSettings());
gpuLayerAdjustment.setValue(programObject, layer.layerAdjustment());
@@ -43,9 +43,13 @@ void GPULayer::setValue(ghoul::opengl::ProgramObject* programObject, const Layer
case layergroupid::TypeID::TemporalTileLayer:
case layergroupid::TypeID::TileIndexTileLayer:
case layergroupid::TypeID::ByIndexTileLayer:
case layergroupid::TypeID::ByLevelTileLayer:
case layergroupid::TypeID::ByLevelTileLayer: {
ChunkTilePile chunkTilePile = layer.getChunkTilePile(tileIndex, pileSize);
gpuChunkTilePile.setValue(programObject, chunkTilePile);
paddingStartOffset.setValue(programObject, layer.tilePixelStartOffset());
paddingSizeDifference.setValue(programObject, layer.tilePixelSizeDifference());
break;
}
case layergroupid::TypeID::SolidColor:
gpuColor.setValue(programObject, layer.otherTypesProperties().color.value());
break;
@@ -68,9 +72,12 @@ void GPULayer::bind(ghoul::opengl::ProgramObject* programObject, const Layer& la
case layergroupid::TypeID::TemporalTileLayer:
case layergroupid::TypeID::TileIndexTileLayer:
case layergroupid::TypeID::ByIndexTileLayer:
case layergroupid::TypeID::ByLevelTileLayer:
case layergroupid::TypeID::ByLevelTileLayer: {
gpuChunkTilePile.bind(programObject, nameBase + "pile.", pileSize);
paddingStartOffset.bind(programObject, nameBase + "padding.startOffset");
paddingSizeDifference.bind(programObject, nameBase + "padding.sizeDifference");
break;
}
case layergroupid::TypeID::SolidColor:
gpuColor.bind(programObject, nameBase + "color");
break;
@@ -73,6 +73,8 @@ private:
GPULayerRenderSettings gpuRenderSettings;
GPULayerAdjustment gpuLayerAdjustment;
GPUData<glm::ivec2> paddingStartOffset;
GPUData<glm::ivec2> paddingSizeDifference;
// Adjustment layer stuff
GPUData<glm::vec3> gpuColor;
};