From 6cb4a7efef5fedffb6782c0382450d0f7d35d3ff Mon Sep 17 00:00:00 2001 From: Emma Broman Date: Tue, 18 Jun 2024 13:47:35 +0200 Subject: [PATCH] Fix issue with texture not updating on property change for RenderablePointCloud Fix issue with texture not being rendered when the texture file path is set during runtime --- modules/base/rendering/pointcloud/renderablepointcloud.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/base/rendering/pointcloud/renderablepointcloud.cpp b/modules/base/rendering/pointcloud/renderablepointcloud.cpp index 4e3e7b5ea7..e8842b4a9b 100644 --- a/modules/base/rendering/pointcloud/renderablepointcloud.cpp +++ b/modules/base/rendering/pointcloud/renderablepointcloud.cpp @@ -731,9 +731,6 @@ RenderablePointCloud::RenderablePointCloud(const ghoul::Dictionary& dictionary) _textureMode = TextureInputMode::Single; _hasSpriteTexture = true; _texture.spriteTexturePath = absPath(*t.file).string(); - _texture.spriteTexturePath.onChange( - [this]() { _spriteTextureIsDirty = true; } - ); } _texture.enabled = t.enabled.value_or(_texture.enabled); @@ -742,6 +739,10 @@ RenderablePointCloud::RenderablePointCloud(const ghoul::Dictionary& dictionary) _texture.useAlphaChannel = t.useAlphaChannel.value_or(_texture.useAlphaChannel); } + _texture.spriteTexturePath.onChange([this]() { + _spriteTextureIsDirty = true; + _hasSpriteTexture = !_texture.spriteTexturePath.value().empty(); + }); _texture.allowCompression.onChange([this]() { _spriteTextureIsDirty = true; }); _texture.useAlphaChannel.onChange([this]() { _spriteTextureIsDirty = true; });