HoviTron Video Pipeline
RVSVulkan
RVSVulkan
SourcesVulkan
VulkanPipelineWarping.h
Go to the documentation of this file.
1
/* ----------------------
2
* Copyright 2023 Université Libre de Bruxelles(ULB), Universidad Politécnica de Madrid(UPM), CREAL, Deutsches Zentrum für Luft - und Raumfahrt(DLR)
3
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at < http://www.apache.org/licenses/LICENSE-2.0>
7
8
* Unless required by applicable law or agreed to in writing, software
9
* distributed under the License is distributed on an "AS IS" BASIS,
10
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
* See the License for the specific language governing permissionsand
12
* limitations under the License.
13
---------------------- */
14
15
/*****************************************************************/
20
#pragma once
21
22
#include "
commonVulkan.h
"
23
#include"
BuffersControllerWarping.h
"
24
#include "
VulkanPipelineAbstract.h
"
25
26
class
VulkanContext
;
27
class
VulkanRenderPass
;
28
class
Shader
;
29
class
InputProvider
;
30
37
class
VulkanPipelineWarping
:
public
VulkanPipelineAbsract
{
38
public
:
40
VulkanPipelineWarping
(
VulkanContext
*
context
,
VulkanRenderPass
*
renderPass
,
InputProvider
* inputP,
VulkanWrapper
* wraps,
int
inputCamID);
42
void
init
();
44
void
cleanUp
();
46
void
createDescriptorSetLayout
();
48
void
update
(std::span<InputProvider::StreamFrameInfo> infos,
int
view);
49
50
private
:
52
void
createGraphicsPipeline();
54
vk::Sampler colorSampler;
56
vk::Sampler depthSampler;
57
};
58
BuffersControllerWarping.h
Class that manages the buffer for the warping step.
VulkanPipelineAbstract.h
file that contains the abstract class for common code between the two pipelines (blending and warping...
InputProvider
Abstract interface around getting source views parameters and data.
Definition:
InputProvider.h:35
Shader
Class that represents SPIR-V shader.
Definition:
Shader.h:42
VulkanContext
class that manages tasks related to Vulkan context (Vulkan Instance, Vulkan Physical device,...
Definition:
VulkanContext.h:59
VulkanPipelineAbsract
The abstract class that encapsulate vk::Pipeline object and contains common code between the two pipe...
Definition:
VulkanPipelineAbstract.h:44
VulkanPipelineAbsract::renderPass
VulkanRenderPass * renderPass
Definition:
VulkanPipelineAbstract.h:75
VulkanPipelineAbsract::context
VulkanContext * context
Definition:
VulkanPipelineAbstract.h:73
VulkanPipelineWarping
Class that manages the graphic pipeline for the warping.
Definition:
VulkanPipelineWarping.h:37
VulkanPipelineWarping::cleanUp
void cleanUp()
Definition:
VulkanPipelineWarping.cpp:64
VulkanPipelineWarping::init
void init()
Definition:
VulkanPipelineWarping.cpp:52
VulkanPipelineWarping::createDescriptorSetLayout
void createDescriptorSetLayout()
Definition:
VulkanPipelineWarping.cpp:75
VulkanPipelineWarping::update
void update(std::span< InputProvider::StreamFrameInfo > infos, int view)
Definition:
VulkanPipelineWarping.cpp:128
VulkanRenderPass
Class that manage the renderPass containing the synthesis and blending steps.
Definition:
VulkanRenderPass.h:41
VulkanWrapper
Class that manages the classes related to Vulkan code and act as a wrapper around them.
Definition:
VulkanWrapper.h:66
commonVulkan.h
file that contains the common include for the Vulkan part
Generated by
1.9.6