/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #pragma once #include "AR/ArFrame.hpp" #include "ArPlaybackReader.hpp" namespace OpenVulkano::AR::Playback { class ArSessionPlayback; class ArFramePlayback final : public ArFrame { public: ArFramePlayback(const std::shared_ptr& session, ArPlaybackReader& frameReader); ArImagePlanar GetCameraImage() override; ArDepthImage GetDepthImage() override; Math::Matrix4f GetCameraViewForCurrentDeviceOrientation() override; Math::Matrix4f GetCameraProjection(Math::Vector2f viewportSize, float near, float far) override; private: ArImagePlanar colorImage; ArDepthImage depthImage; std::unique_ptr confImgData; std::unique_ptr depthImgData; ColorImg colorImgData; }; }