From cde1fa8b5debf44b9e6f0200b38ae64d7ec0059f Mon Sep 17 00:00:00 2001 From: Jonathas Costa Date: Thu, 15 Oct 2020 16:50:27 -0400 Subject: [PATCH] Temporally fixed attribute location error for NightLayers layer. --- modules/globebrowsing/src/renderableglobe.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/globebrowsing/src/renderableglobe.cpp b/modules/globebrowsing/src/renderableglobe.cpp index 697c32f96e..18299b199f 100644 --- a/modules/globebrowsing/src/renderableglobe.cpp +++ b/modules/globebrowsing/src/renderableglobe.cpp @@ -1050,6 +1050,10 @@ void RenderableGlobe::renderChunks(const RenderData& data, RendererTasks&, if (_globalRenderer.updatedSinceLastCall) { const std::array& layerGroups = _layerManager.layerGroups(); + + using IgnoreError = ghoul::opengl::ProgramObject::IgnoreError; + _globalRenderer.program->setIgnoreUniformLocationError(IgnoreError::Yes); + _globalRenderer.program->setIgnoreAttributeLocationError(IgnoreError::Yes); for (size_t i = 0; i < layerGroups.size(); ++i) { const std::string& nameBase = layergroupid::LAYER_GROUP_IDENTIFIERS[i]; _globalRenderer.gpuLayerGroups[i].bind( @@ -1059,6 +1063,8 @@ void RenderableGlobe::renderChunks(const RenderData& data, RendererTasks&, static_cast(i) ); } + _globalRenderer.program->setIgnoreUniformLocationError(IgnoreError::No); + _globalRenderer.program->setIgnoreAttributeLocationError(IgnoreError::No); const float dsf = static_cast( _generalProperties.currentLodScaleFactor * _ellipsoid.minimumRadius() @@ -1074,6 +1080,8 @@ void RenderableGlobe::renderChunks(const RenderData& data, RendererTasks&, if (_localRenderer.updatedSinceLastCall) { const std::array& layerGroups = _layerManager.layerGroups(); + using IgnoreError = ghoul::opengl::ProgramObject::IgnoreError; + _localRenderer.program->setIgnoreUniformLocationError(IgnoreError::Yes); for (size_t i = 0; i < layerGroups.size(); ++i) { const std::string& nameBase = layergroupid::LAYER_GROUP_IDENTIFIERS[i]; _localRenderer.gpuLayerGroups[i].bind( @@ -1083,6 +1091,7 @@ void RenderableGlobe::renderChunks(const RenderData& data, RendererTasks&, static_cast(i) ); } + _localRenderer.program->setIgnoreUniformLocationError(IgnoreError::No); const float dsf = static_cast( _generalProperties.currentLodScaleFactor * _ellipsoid.minimumRadius()