25#include <glm/vec3.hpp>
26#include <glm/vec2.hpp>
27#include <glm/gtc/quaternion.hpp>
38 enum class ProjectionType {
40 PROJECTION_PERSPECTIVE,
41 PROJECTION_EQUIRECTANGULAR
44 glm::vec3 position = {-1,-1,-1};
45 glm::vec3 rotation= { -1,-1,-1 };
67 using Intrinsics = std::variant<PerspectiveIntrinsics, EquirectangularIntrinsics>;
72 std::string streamName =
"UNDEFINED";
74 glm::ivec2 colorResolution = {-1,-1};
75 glm::ivec2 depthResolution = {-1,-1};
76 float nearDepth;
float farDepth;
78 vk::Format colorFormat = vk::Format::eUndefined;
79 vk::Format depthFormat = vk::Format::eUndefined;
82 vk::Sampler colorSampler ;
83 vk::Sampler depthSampler ;
85 ProjectionType projectionType = ProjectionType::PROJECTION_INVALID;
94 uint32_t imageIndex = UINT_MAX;
100 virtual std::vector<StreamParameters> enumerateStreamsParameters()
const = 0;
101 virtual std::vector<StreamImage> enumerateStreamImages(uint32_t streamIndex,
bool depth)
const = 0;
102 virtual void acquireStreamsFrames(
const Extrinsics& targetViewExtrinsics, std::span<StreamFrameInfo> outFrameInfos) = 0;
103 virtual void releaseStreamsFrames() = 0;
file that contains the common include for the Vulkan part