From ac79e4dc07ab073333b269d59346a5b67ba1d064 Mon Sep 17 00:00:00 2001 From: Malin E Date: Thu, 22 Sep 2022 12:01:01 +0200 Subject: [PATCH] Start addressing PR comments --- .../rendering/grids/renderableboxgrid.cpp | 9 ++------ .../base/rendering/grids/renderableboxgrid.h | 2 +- .../base/rendering/grids/renderablegrid.cpp | 9 ++------ modules/base/rendering/grids/renderablegrid.h | 4 +--- .../rendering/grids/renderableradialgrid.cpp | 9 ++------ .../rendering/grids/renderableradialgrid.h | 2 +- .../grids/renderablesphericalgrid.cpp | 9 ++------ .../rendering/grids/renderablesphericalgrid.h | 2 +- .../rendering/renderablebillboardscloud.cpp | 2 +- .../rendering/renderablebillboardscloud.h | 4 ++-- .../rendering/renderableplanescloud.cpp | 23 ++++++++++--------- .../rendering/renderableplanescloud.h | 4 ++-- modules/space/labelscomponent.h | 2 +- .../renderableconstellationsbase.cpp | 6 +---- 14 files changed, 31 insertions(+), 56 deletions(-) diff --git a/modules/base/rendering/grids/renderableboxgrid.cpp b/modules/base/rendering/grids/renderableboxgrid.cpp index 38482d98d8..7496c00467 100644 --- a/modules/base/rendering/grids/renderableboxgrid.cpp +++ b/modules/base/rendering/grids/renderableboxgrid.cpp @@ -127,12 +127,7 @@ RenderableBoxGrid::RenderableBoxGrid(const ghoul::Dictionary& dictionary) } bool RenderableBoxGrid::isReady() const { - bool isReady = _gridProgram != nullptr; - - if (_hasLabels) { - isReady = isReady && _labels->isReady(); - } - return isReady; + return _hasLabels ? _gridProgram && _labels->isReady() : _gridProgram != nullptr; } void RenderableBoxGrid::initialize() { @@ -232,7 +227,7 @@ void RenderableBoxGrid::render(const RenderData& data, RendererTasks&){ ); if (orthoRight == glm::vec3(0.0)) { - glm::vec3 otherVector(lookup.y, lookup.x, lookup.z); + glm::vec3 otherVector = glm::vec3(lookup.y, lookup.x, lookup.z); right = glm::cross(viewDirection, otherVector); orthoRight = glm::normalize( glm::vec3(worldToModelTransform * glm::vec4(right, 0.0)) diff --git a/modules/base/rendering/grids/renderableboxgrid.h b/modules/base/rendering/grids/renderableboxgrid.h index 2c5e5d9dbf..96e43fb73c 100644 --- a/modules/base/rendering/grids/renderableboxgrid.h +++ b/modules/base/rendering/grids/renderableboxgrid.h @@ -77,7 +77,7 @@ protected: // Labels bool _hasLabels = false; properties::BoolProperty _drawLabels; - std::unique_ptr _labels = nullptr; + std::unique_ptr _labels; }; }// namespace openspace diff --git a/modules/base/rendering/grids/renderablegrid.cpp b/modules/base/rendering/grids/renderablegrid.cpp index 5b85ead0e8..5cb75ed431 100644 --- a/modules/base/rendering/grids/renderablegrid.cpp +++ b/modules/base/rendering/grids/renderablegrid.cpp @@ -188,12 +188,7 @@ RenderableGrid::RenderableGrid(const ghoul::Dictionary& dictionary) } bool RenderableGrid::isReady() const { - bool isReady = _gridProgram != nullptr; - - if (_hasLabels) { - isReady = isReady && _labels->isReady(); - } - return isReady; + return _hasLabels ? _gridProgram && _labels->isReady() : _gridProgram != nullptr; } void RenderableGrid::initialize() { @@ -273,7 +268,7 @@ void RenderableGrid::render(const RenderData& data, RendererTasks&){ ); if (orthoRight == glm::vec3(0.0)) { - glm::vec3 otherVector(lookup.y, lookup.x, lookup.z); + glm::vec3 otherVector = glm::vec3(lookup.y, lookup.x, lookup.z); right = glm::cross(viewDirection, otherVector); orthoRight = glm::normalize( glm::vec3(worldToModelTransform * glm::vec4(right, 0.0)) diff --git a/modules/base/rendering/grids/renderablegrid.h b/modules/base/rendering/grids/renderablegrid.h index 8d5db71ca1..9b0eabc890 100644 --- a/modules/base/rendering/grids/renderablegrid.h +++ b/modules/base/rendering/grids/renderablegrid.h @@ -86,9 +86,7 @@ protected: // Labels bool _hasLabels = false; properties::BoolProperty _drawLabels; - - // Everything related to the labels are handled by LabelsComponent - std::unique_ptr _labels = nullptr; + std::unique_ptr _labels; }; }// namespace openspace diff --git a/modules/base/rendering/grids/renderableradialgrid.cpp b/modules/base/rendering/grids/renderableradialgrid.cpp index 9c9fe1f2df..1c42671fbc 100644 --- a/modules/base/rendering/grids/renderableradialgrid.cpp +++ b/modules/base/rendering/grids/renderableradialgrid.cpp @@ -167,12 +167,7 @@ RenderableRadialGrid::RenderableRadialGrid(const ghoul::Dictionary& dictionary) } bool RenderableRadialGrid::isReady() const { - bool isReady = _gridProgram != nullptr; - - if (_hasLabels) { - isReady = isReady && _labels->isReady(); - } - return isReady; + return _hasLabels ? _gridProgram && _labels->isReady() : _gridProgram != nullptr; } void RenderableRadialGrid::initialize() { @@ -261,7 +256,7 @@ void RenderableRadialGrid::render(const RenderData& data, RendererTasks&) { ); if (orthoRight == glm::vec3(0.0)) { - glm::vec3 otherVector(lookup.y, lookup.x, lookup.z); + glm::vec3 otherVector = glm::vec3(lookup.y, lookup.x, lookup.z); right = glm::cross(viewDirection, otherVector); orthoRight = glm::normalize( glm::vec3(worldToModelTransform * glm::vec4(right, 0.0)) diff --git a/modules/base/rendering/grids/renderableradialgrid.h b/modules/base/rendering/grids/renderableradialgrid.h index a80ad7cfcd..2a1545bb40 100644 --- a/modules/base/rendering/grids/renderableradialgrid.h +++ b/modules/base/rendering/grids/renderableradialgrid.h @@ -91,7 +91,7 @@ protected: // Labels bool _hasLabels = false; properties::BoolProperty _drawLabels; - std::unique_ptr _labels = nullptr; + std::unique_ptr _labels; }; }// namespace openspace diff --git a/modules/base/rendering/grids/renderablesphericalgrid.cpp b/modules/base/rendering/grids/renderablesphericalgrid.cpp index 82b6f8f2c8..e60c334bee 100644 --- a/modules/base/rendering/grids/renderablesphericalgrid.cpp +++ b/modules/base/rendering/grids/renderablesphericalgrid.cpp @@ -137,12 +137,7 @@ RenderableSphericalGrid::RenderableSphericalGrid(const ghoul::Dictionary& dictio } bool RenderableSphericalGrid::isReady() const { - bool isReady = _gridProgram != nullptr; - - if (_hasLabels) { - isReady = isReady && _labels->isReady(); - } - return isReady; + return _hasLabels ? _gridProgram && _labels->isReady() : _gridProgram != nullptr; } void RenderableSphericalGrid::initialize() { @@ -249,7 +244,7 @@ void RenderableSphericalGrid::render(const RenderData& data, RendererTasks&){ ); if (orthoRight == glm::vec3(0.0)) { - glm::vec3 otherVector(lookup.y, lookup.x, lookup.z); + glm::vec3 otherVector = glm::vec3(lookup.y, lookup.x, lookup.z); right = glm::cross(viewDirection, otherVector); orthoRight = glm::normalize( glm::vec3(worldToModelTransform * glm::vec4(right, 0.0)) diff --git a/modules/base/rendering/grids/renderablesphericalgrid.h b/modules/base/rendering/grids/renderablesphericalgrid.h index 6fd3346259..cbb4ffea63 100644 --- a/modules/base/rendering/grids/renderablesphericalgrid.h +++ b/modules/base/rendering/grids/renderablesphericalgrid.h @@ -81,7 +81,7 @@ protected: // Labels bool _hasLabels = false; properties::BoolProperty _drawLabels; - std::unique_ptr _labels = nullptr; + std::unique_ptr _labels; }; }// namespace openspace diff --git a/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp b/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp index c1ceb4040e..b432c985ae 100644 --- a/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp +++ b/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp @@ -708,7 +708,7 @@ void RenderableBillboardsCloud::render(const RenderData& data, RendererTasks&) { glm::cross(cameraUpDirectionWorld, cameraViewDirectionWorld) ); if (orthoRight == glm::dvec3(0.0)) { - glm::dvec3 otherVector( + glm::dvec3 otherVector = glm::vec3( cameraUpDirectionWorld.y, cameraUpDirectionWorld.x, cameraUpDirectionWorld.z diff --git a/modules/digitaluniverse/rendering/renderablebillboardscloud.h b/modules/digitaluniverse/rendering/renderablebillboardscloud.h index 5ad76f1e5b..5639d4c303 100644 --- a/modules/digitaluniverse/rendering/renderablebillboardscloud.h +++ b/modules/digitaluniverse/rendering/renderablebillboardscloud.h @@ -135,8 +135,8 @@ private: speck::Dataset _dataset; speck::ColorMap _colorMap; - // Everything related to the labels are handled by LabelsComponent - std::unique_ptr _labels = nullptr; + // Everything related to the labels is handled by LabelsComponent + std::unique_ptr _labels; std::vector _colorRangeData; std::unordered_map _optionConversionMap; diff --git a/modules/digitaluniverse/rendering/renderableplanescloud.cpp b/modules/digitaluniverse/rendering/renderableplanescloud.cpp index 29b0b7c388..82232f1773 100644 --- a/modules/digitaluniverse/rendering/renderableplanescloud.cpp +++ b/modules/digitaluniverse/rendering/renderableplanescloud.cpp @@ -440,23 +440,24 @@ void RenderablePlanesCloud::render(const RenderData& data, RendererTasks&) { const glm::dmat4 modelViewMatrix = data.camera.combinedViewMatrix() * modelMatrix; const glm::mat4 projectionMatrix = data.camera.projectionMatrix(); - const glm::dmat4 mvpMatrix = glm::dmat4(projectionMatrix) * modelViewMatrix; - - const glm::dmat4 invMVPParts = glm::inverse(modelMatrix) * - glm::inverse(data.camera.combinedViewMatrix()) * - glm::inverse(glm::dmat4(projectionMatrix)); - const glm::dvec3 orthoRight = glm::normalize( - glm::dvec3(invMVPParts * glm::dvec4(1.0, 0.0, 0.0, 0.0)) - ); - const glm::dvec3 orthoUp = glm::normalize( - glm::dvec3(invMVPParts * glm::dvec4(0.0, 1.0, 0.0, 0.0)) - ); if (_hasSpeckFile) { renderPlanes(data, modelViewMatrix, projectionMatrix, fadeInVariable); } if (_hasLabels) { + const glm::dmat4 mvpMatrix = glm::dmat4(projectionMatrix) * modelViewMatrix; + + const glm::dmat4 invMVPParts = glm::inverse(modelMatrix) * + glm::inverse(data.camera.combinedViewMatrix()) * + glm::inverse(glm::dmat4(projectionMatrix)); + const glm::dvec3 orthoRight = glm::normalize( + glm::dvec3(invMVPParts * glm::dvec4(1.0, 0.0, 0.0, 0.0)) + ); + const glm::dvec3 orthoUp = glm::normalize( + glm::dvec3(invMVPParts * glm::dvec4(0.0, 1.0, 0.0, 0.0)) + ); + _labels->render(data, mvpMatrix, orthoRight, orthoUp, fadeInVariable); } } diff --git a/modules/digitaluniverse/rendering/renderableplanescloud.h b/modules/digitaluniverse/rendering/renderableplanescloud.h index 66f7680033..417caa81bb 100644 --- a/modules/digitaluniverse/rendering/renderableplanescloud.h +++ b/modules/digitaluniverse/rendering/renderableplanescloud.h @@ -114,8 +114,8 @@ private: speck::Dataset _dataset; - // Everything related to the labels are handled by LabelsComponent - std::unique_ptr _labels = nullptr; + // Everything related to the labels is handled by LabelsComponent + std::unique_ptr _labels; float _sluminosity = 1.f; diff --git a/modules/space/labelscomponent.h b/modules/space/labelscomponent.h index c63ac7e458..88443b570c 100644 --- a/modules/space/labelscomponent.h +++ b/modules/space/labelscomponent.h @@ -39,7 +39,7 @@ namespace ghoul::fontrendering { class Font; } namespace openspace { - struct RenderData; +struct RenderData; namespace documentation { struct Documentation; } diff --git a/modules/space/rendering/renderableconstellationsbase.cpp b/modules/space/rendering/renderableconstellationsbase.cpp index cbd9298a4e..bb8ca8f7c1 100644 --- a/modules/space/rendering/renderableconstellationsbase.cpp +++ b/modules/space/rendering/renderableconstellationsbase.cpp @@ -214,11 +214,7 @@ void RenderableConstellationsBase::initialize() { } bool RenderableConstellationsBase::isReady() const { - // If we have labels, they also need to be loaded - if (_hasLabels) { - return _labels->isReady(); - } - return true; + return _hasLabels ? _labels->isReady() : true; } void RenderableConstellationsBase::render(const RenderData& data, RendererTasks&) {