From 74f6f0803aeeead3242d768e2669b835aba16ea0 Mon Sep 17 00:00:00 2001 From: Ylva Selling Date: Fri, 12 Aug 2022 15:01:32 -0400 Subject: [PATCH] Fix some bugs with the border radius --- modules/skybrowser/include/screenspaceskybrowser.h | 1 + modules/skybrowser/shaders/target_fs.glsl | 4 ++++ modules/skybrowser/skybrowsermodule_lua.inl | 3 ++- modules/skybrowser/src/screenspaceskybrowser.cpp | 7 ++++++- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/skybrowser/include/screenspaceskybrowser.h b/modules/skybrowser/include/screenspaceskybrowser.h index 6c470bed53..58365d0e49 100644 --- a/modules/skybrowser/include/screenspaceskybrowser.h +++ b/modules/skybrowser/include/screenspaceskybrowser.h @@ -78,6 +78,7 @@ private: bool _isSyncedWithWwt = false; bool _textureDimensionsIsDirty = false; bool _ratioIsDirty = false; + bool _radiusIsDirty = false; bool _isInitialized = false; float _ratio = 1.f; diff --git a/modules/skybrowser/shaders/target_fs.glsl b/modules/skybrowser/shaders/target_fs.glsl index 844b68fc76..87a398c43f 100644 --- a/modules/skybrowser/shaders/target_fs.glsl +++ b/modules/skybrowser/shaders/target_fs.glsl @@ -54,6 +54,10 @@ float createLine(float lineCenter, float lineWidth, float coord) { return step(startEdge, coord) - step(endEdge, coord); } +float createFilledRectangle(float width, float height, vec2 coord) { + return createLine(0.5, width, coord.x) * createLine(0.5, height, coord.y); +} + float createCrosshair(in float linewidth, in float ratio, in vec2 coord) { const float Center = 0.5; float crosshairVertical = createLine(Center, linewidth * VerticalThickness, coord.x); diff --git a/modules/skybrowser/skybrowsermodule_lua.inl b/modules/skybrowser/skybrowsermodule_lua.inl index a91f0c7cc2..711d1fdc97 100644 --- a/modules/skybrowser/skybrowsermodule_lua.inl +++ b/modules/skybrowser/skybrowsermodule_lua.inl @@ -431,7 +431,8 @@ namespace { glm::vec3 positionTarget = glm::vec3(0.9f, 0.4f, -2.1f); glm::dvec3 galacticTarget = skybrowser::localCameraToGalactic(positionTarget); std::string guiPath = "/Sky Browser"; - std::string url = "http://wwt.openspaceproject.com/1/openspace/"; + //std::string url = "http://wwt.openspaceproject.com/1/openspace/"; + std::string url = "http://localhost:8000/openspace"; double fov = 70.0; double size = skybrowser::sizeFromFov(fov, galacticTarget); diff --git a/modules/skybrowser/src/screenspaceskybrowser.cpp b/modules/skybrowser/src/screenspaceskybrowser.cpp index d73a164b5f..d10a855ca5 100644 --- a/modules/skybrowser/src/screenspaceskybrowser.cpp +++ b/modules/skybrowser/src/screenspaceskybrowser.cpp @@ -201,6 +201,7 @@ void ScreenSpaceSkyBrowser::updateTextureResolution() { _browserPixeldimensions = glm::ivec2(newSize); _texture->setDimensions(glm::ivec3(newSize, 1)); _objectSize = glm::ivec3(_texture->dimensions()); + _radiusIsDirty = true; } void ScreenSpaceSkyBrowser::addDisplayCopy(const glm::vec3& raePosition, int nCopies) { @@ -324,8 +325,12 @@ void ScreenSpaceSkyBrowser::update() { _isInitialized = false; } - WwtCommunicator::update(); + if (_radiusIsDirty) { + setBorderRadius(_borderRadius); + } + ScreenSpaceRenderable::update(); + WwtCommunicator::update(); } void ScreenSpaceSkyBrowser::setVerticalFovWithScroll(float scroll) {