![]() |
HoviTron Video Pipeline
|
The abstract class that encapsulate vk::Pipeline object and contains common code between the two pipelines used in this project(blending and warping). More...
#include <VulkanPipelineAbstract.h>
Public Member Functions | |
virtual void | init ()=0 |
virtual void | cleanUp ()=0 |
void | cmdBufferBindBuffer (vk::CommandBuffer &cmdBuffer, int index, InputProvider::StreamFrameInfo &frameInfo, int view) |
void | updateAllBuffer (uint32_t currentImage, int view) |
void | updateBuffer (uint32_t currentImage, int view) |
virtual void | createDescriptorSetLayout ()=0 |
uint32_t | getIndexNumber () |
Data Fields | |
vk::Pipeline | pipeline |
vk::DescriptorSetLayout | descriptorSetLayout |
vk::PipelineLayout | pipelineLayout |
Protected Member Functions | |
virtual void | createGraphicsPipeline ()=0 |
vk::ShaderModule | createShaderModule (const Shader &shader) |
void | createPipeline (std::vector< vk::PipelineShaderStageCreateInfo > &arr) |
Protected Attributes | |
VulkanContext * | context = nullptr |
VulkanRenderPass * | renderPass = nullptr |
VulkanWrapper * | wrapper = nullptr |
std::unique_ptr< BuffersController > | bufferController |
int | subPass = 0 |
int | inputId = 0 |
int | colorAttachmentNb = 0 |
bool | depthTest = true |
bool | depthWrite = true |
The abstract class that encapsulate vk::Pipeline object and contains common code between the two pipelines used in this project(blending and warping).
The abstract class for common code between the two pipelines (blending and warping). It encapsulates vk::Pipeline object Buffers management for the pipeline is delegated to a class that inherit from the BuffersControllerAbstract class
Definition at line 44 of file VulkanPipelineAbstract.h.
|
pure virtual |
Clean up
Implemented in VulkanPipelineWarping, and VulkanPipelineBlending.
void VulkanPipelineAbsract::cmdBufferBindBuffer | ( | vk::CommandBuffer & | cmdBuffer, |
int | index, | ||
InputProvider::StreamFrameInfo & | frameInfo, | ||
int | view | ||
) |
bind the needed buffer for this frame
Definition at line 194 of file VulkanPipelineAbstract.cpp.
|
pure virtual |
Create descriptor sets layout
Implemented in VulkanPipelineWarping, and VulkanPipelineBlending.
|
protectedpure virtual |
Create the graphics pipeline
|
protected |
Create the pipeline
Definition at line 34 of file VulkanPipelineAbstract.cpp.
|
protected |
Cretae shader modules
Definition at line 22 of file VulkanPipelineAbstract.cpp.
uint32_t VulkanPipelineAbsract::getIndexNumber | ( | ) |
Return the indices that should be drawn
Definition at line 188 of file VulkanPipelineAbstract.cpp.
|
pure virtual |
Init process
Implemented in VulkanPipelineWarping, and VulkanPipelineBlending.
void VulkanPipelineAbsract::updateAllBuffer | ( | uint32_t | currentImage, |
int | view | ||
) |
Update all the buffers
Definition at line 200 of file VulkanPipelineAbstract.cpp.
void VulkanPipelineAbsract::updateBuffer | ( | uint32_t | currentImage, |
int | view | ||
) |
Update only the buffers that may have changed
Definition at line 205 of file VulkanPipelineAbstract.cpp.
|
protected |
Pointer to the BufferController
Definition at line 79 of file VulkanPipelineAbstract.h.
|
protected |
number of the color attachment that correspond
Definition at line 86 of file VulkanPipelineAbstract.h.
|
protected |
Pointer to context
Definition at line 73 of file VulkanPipelineAbstract.h.
|
protected |
true if depth test must be activated
Definition at line 88 of file VulkanPipelineAbstract.h.
|
protected |
true if the depth must be written
Definition at line 90 of file VulkanPipelineAbstract.h.
vk::DescriptorSetLayout VulkanPipelineAbsract::descriptorSetLayout |
Descriptor set layoyout corresponding to this pipeline
Definition at line 65 of file VulkanPipelineAbstract.h.
|
protected |
input camera id
Definition at line 84 of file VulkanPipelineAbstract.h.
vk::Pipeline VulkanPipelineAbsract::pipeline |
vk::Pipeline object
Definition at line 63 of file VulkanPipelineAbstract.h.
vk::PipelineLayout VulkanPipelineAbsract::pipelineLayout |
vk::PipelineLayout corresponding to the pipeline
Definition at line 67 of file VulkanPipelineAbstract.h.
|
protected |
Pointer to the Vulkan render pass
Definition at line 75 of file VulkanPipelineAbstract.h.
|
protected |
number of the subpass where this have to be executed
Definition at line 82 of file VulkanPipelineAbstract.h.
|
protected |
Pointer to the Vulkanwrapper
Definition at line 77 of file VulkanPipelineAbstract.h.