From bb65670f4866ec8be0bfd17e0e45d0c6e61d9ce0 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Tue, 27 May 2025 19:40:05 +0200 Subject: [PATCH] Bugfixes --- openVulkanoCpp/AR/ArFrame.cpp | 8 ++++---- openVulkanoCpp/AR/ArFrame.hpp | 6 +++--- openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp | 1 + openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp | 7 ++++++- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/openVulkanoCpp/AR/ArFrame.cpp b/openVulkanoCpp/AR/ArFrame.cpp index c6a1b93..4275406 100644 --- a/openVulkanoCpp/AR/ArFrame.cpp +++ b/openVulkanoCpp/AR/ArFrame.cpp @@ -12,10 +12,10 @@ namespace OpenVulkano::AR { - float ArFrame::GetConfidenceNormalisationFactor() const - { - return m_session->GetSessionMetadata().GetConfidenceNormalisationFactor(); - } + ArFrame::ArFrame(const std::shared_ptr& session, size_t frameId) + : m_session(session), m_frameId(frameId) + , m_confidenceNormalisationFactor(session ? session->GetSessionMetadata().GetConfidenceNormalisationFactor() : 0.5f) + {} void ArFrame::Save() { diff --git a/openVulkanoCpp/AR/ArFrame.hpp b/openVulkanoCpp/AR/ArFrame.hpp index 7fcdf1d..831e395 100644 --- a/openVulkanoCpp/AR/ArFrame.hpp +++ b/openVulkanoCpp/AR/ArFrame.hpp @@ -107,14 +107,14 @@ namespace OpenVulkano::AR std::shared_ptr m_session; size_t m_frameId; Scene::Texture* m_texture = nullptr; + const float m_confidenceNormalisationFactor; bool m_saved = false; bool m_highRes = false; protected: ArFrameMetadata frameMetadata; - ArFrame(const std::shared_ptr& session, size_t frameId) : m_session(session), m_frameId(frameId) - {} + ArFrame(const std::shared_ptr& session, size_t frameId); public: virtual ~ArFrame(); @@ -160,7 +160,7 @@ namespace OpenVulkano::AR [[nodiscard]] virtual Math::Matrix4f GetCameraProjection(Math::Vector2f viewportSize, float near = 0.25f, float far = 250.0f) = 0; - [[nodiscard]] float GetConfidenceNormalisationFactor() const; + [[nodiscard]] float GetConfidenceNormalisationFactor() const { return m_confidenceNormalisationFactor; } [[nodiscard]] float GetColorTemperature() const { return frameMetadata.lightColorTemp; }; diff --git a/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp b/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp index 49ae123..0b702e7 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp @@ -57,6 +57,7 @@ namespace OpenVulkano::AR::Playback } colorImgData.channels = ColorImg::RGBA; // TODO test if defaulting to NV12 colorImgData.Decode(Utils::ReadFile(imagePath)); + SetColorImgInfo(); SetDepthImgInfo(dImage); SetSaved(); } diff --git a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp index 5da70b4..6fdd44e 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp @@ -74,10 +74,15 @@ namespace OpenVulkano::AR::Playback { ColorImg img; img.channels = ColorImg::RGBA; // TODO test if defaulting to NV12 + ReadColorImage(img); + return img; + } + + void ReadColorImage(ColorImg& img) + { std::optional>> file = ReadColorImageRaw(); img.Decode(file->second); m_imgReadSize += 1000 + file.value().first.size; - return img; } std::optional>> ReadColorImageRaw() { return m_archiveColor.GetNextFile(); }