diff --git a/include/openspace/rendering/transferfunction.h b/include/openspace/rendering/transferfunction.h index c7688e75e3..4f88260d6c 100644 --- a/include/openspace/rendering/transferfunction.h +++ b/include/openspace/rendering/transferfunction.h @@ -43,7 +43,7 @@ public: void setPath(const std::string& filepath); ghoul::opengl::Texture& getTexture(); void bind(); - void updateTexture(); + void update(); glm::vec4 sample(size_t t); size_t width(); void setCallback(TfChangedCallback callback); diff --git a/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp b/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp index 90367eaa51..629bc145f5 100644 --- a/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp +++ b/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp @@ -153,7 +153,7 @@ RenderableKameleonVolume::RenderableKameleonVolume(const ghoul::Dictionary& dict , _transferFunctionPath(TransferFunctionInfo) , _cache(CacheInfo) , _raycaster(nullptr) - , _transferFunctionHandler(nullptr) + , _transferFunction(nullptr) { glm::vec3 dimensions; @@ -172,9 +172,7 @@ RenderableKameleonVolume::RenderableKameleonVolume(const ghoul::Dictionary& dict std::string transferFunctionPath; if (dictionary.getValue(KeyTransferFunction, transferFunctionPath)) { _transferFunctionPath = transferFunctionPath; - _transferFunctionHandler = std::make_shared( - _transferFunctionPath - ); + _transferFunction = std::make_shared(_transferFunctionPath); } std::string sourcePath; @@ -263,11 +261,11 @@ void RenderableKameleonVolume::initializeGL() { load(); _volumeTexture->uploadTexture(); - _transferFunctionHandler->initialize(); + // _transferFunctionHandler->initialize(); _raycaster = std::make_unique( _volumeTexture, - _transferFunctionHandler, + _transferFunction, _clipPlanes ); @@ -318,7 +316,7 @@ void RenderableKameleonVolume::initializeGL() { addProperty(_gridType); addProperty(_cache); addPropertySubOwner(_clipPlanes.get()); - addPropertySubOwner(_transferFunctionHandler.get()); + // addPropertySubOwner(_transferFunctionHandler.get()); } void RenderableKameleonVolume::updateRaycasterModelTransform() { diff --git a/modules/kameleonvolume/rendering/renderablekameleonvolume.h b/modules/kameleonvolume/rendering/renderablekameleonvolume.h index e95a83b6fb..9cc8db5024 100644 --- a/modules/kameleonvolume/rendering/renderablekameleonvolume.h +++ b/modules/kameleonvolume/rendering/renderablekameleonvolume.h @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include #include @@ -93,7 +93,7 @@ private: std::unique_ptr _raycaster; std::shared_ptr _volumeTexture; - std::shared_ptr _transferFunctionHandler; + std::shared_ptr _transferFunction; }; } // namespace kameleonvolume diff --git a/modules/multiresvolume/rendering/renderablemultiresvolume.cpp b/modules/multiresvolume/rendering/renderablemultiresvolume.cpp index 0f24b36c0e..f23dd643e2 100644 --- a/modules/multiresvolume/rendering/renderablemultiresvolume.cpp +++ b/modules/multiresvolume/rendering/renderablemultiresvolume.cpp @@ -463,7 +463,7 @@ void RenderableMultiresVolume::initializeGL() { success &= _atlasManager && _atlasManager->initialize(); - _transferFunction->updateTexture(); + _transferFunction->update(); success &= isReady(); diff --git a/modules/volume/rendering/basicvolumeraycaster.cpp b/modules/volume/rendering/basicvolumeraycaster.cpp index ab2dd67378..647837f4aa 100644 --- a/modules/volume/rendering/basicvolumeraycaster.cpp +++ b/modules/volume/rendering/basicvolumeraycaster.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -57,7 +58,6 @@ BasicVolumeRaycaster::BasicVolumeRaycaster( , _rUpperBound(1.0) {} - BasicVolumeRaycaster::~BasicVolumeRaycaster() {} void BasicVolumeRaycaster::initialize() { @@ -126,7 +126,7 @@ void BasicVolumeRaycaster::preRaycast( _tfUnit = std::make_unique(); _tfUnit->activate(); - _transferFunction->getTexture()->bind(); + _transferFunction->getTexture().bind(); // LINFOC("PRERAYCAST", "hello"); program.setUniform("transferFunction_" + id, _tfUnit->unitNumber()); diff --git a/modules/volume/rendering/renderabletimevaryingvolume.cpp b/modules/volume/rendering/renderabletimevaryingvolume.cpp index ce8b60eca1..706829d3fb 100644 --- a/modules/volume/rendering/renderabletimevaryingvolume.cpp +++ b/modules/volume/rendering/renderabletimevaryingvolume.cpp @@ -311,7 +311,7 @@ void RenderableTimeVaryingVolume::initializeGL() { addProperty(_transferFunctionPath); addProperty(_sourceDirectory); addPropertySubOwner(_clipPlanes.get()); - addPropertySubOwner(_transferFunctionHandler.get()); + // addPropertySubOwner(_transferFunctionHandler.get()); addProperty(_triggerTimeJump); addProperty(_jumpToTimestep); diff --git a/modules/volume/transferfunctionhandler.cpp b/modules/volume/transferfunctionhandler.cpp index 5ecadc4433..fbe60182c3 100644 --- a/modules/volume/transferfunctionhandler.cpp +++ b/modules/volume/transferfunctionhandler.cpp @@ -113,11 +113,6 @@ void TransferFunctionHandler::initialize() { _saveTransferFunction.onChange([this]() { saveEnvelopes(); }); - - // Use core package tf as well - _transferFunction->updateTexture(); - - LINFOC("TF_HANDLER", "handler initialized"); } void TransferFunctionHandler::setHistogramProperty(std::shared_ptr histogram) { @@ -162,7 +157,7 @@ void TransferFunctionHandler::saveEnvelopes() { void TransferFunctionHandler::setFilepath(const std::string& path) { _filePath = path; - // _transferFunction->updateTexture(); + // _transferFunction->update(); } ghoul::opengl::Texture& TransferFunctionHandler::getTexture() { diff --git a/src/rendering/transferfunction.cpp b/src/rendering/transferfunction.cpp index ff5888ae46..fd94e5f425 100644 --- a/src/rendering/transferfunction.cpp +++ b/src/rendering/transferfunction.cpp @@ -87,11 +87,11 @@ void TransferFunction::setPath(const std::string& filepath) { ghoul::opengl::Texture& TransferFunction::getTexture() { ghoul_assert(_texture != nullptr, "Transfer function is null"); - updateTexture(); + update(); return *_texture.get(); } -void TransferFunction::updateTexture() { +void TransferFunction::update() { if (_needsUpdate) { if (hasExtension(_filepath, "tf")) { setTextureFromTxt(); @@ -240,12 +240,12 @@ glm::vec4 TransferFunction::sample(size_t offset) { } size_t TransferFunction::width() { - updateTexture(); + update(); return _texture->width(); } void TransferFunction::bind() { - updateTexture(); + update(); _texture->bind(); } }