![]() |
HoviTron Video Pipeline
|
abstract class for the management of the buffers, descriptors, ... More...
#include <BuffersControllerAbstract.h>
Public Member Functions | |
virtual void | init ()=0 |
virtual void | cleanUp ()=0 |
virtual void | bindBuffers (vk::CommandBuffer &commandBuffer, int index, InputProvider::StreamFrameInfo &frameInfos, int view)=0 |
virtual void | updateAllUniformBuffer (uint32_t currentImage, int view)=0 |
virtual void | updateUniformBuffer (uint32_t currentImage, int view)=0 |
virtual void | update (std::span< InputProvider::StreamFrameInfo > infos, int inputView)=0 |
virtual vk::VertexInputBindingDescription | getBindingDescription ()=0 |
virtual std::vector< vk::VertexInputAttributeDescription > | getAttributeDescription ()=0 |
virtual uint32_t | getIndiceCount ()=0 |
Protected Member Functions | |
virtual void | createVertexBuffer ()=0 |
virtual void | createIndexBuffer ()=0 |
virtual void | createUniformBuffer (int size)=0 |
virtual void | createDescriptorPool ()=0 |
virtual void | createDescriptorSets ()=0 |
void | copyBuffer (vk::Buffer srcBuffer, vk::Buffer dstBuffer, vk::DeviceSize size) |
Protected Attributes | |
int | inputView = 0 |
VulkanContext * | context = nullptr |
VulkanRenderPass * | renderpass = nullptr |
abstract class for the management of the buffers, descriptors, ...
Abstract class that contains common functionnalities to manage the buffer (and their memory) for synthesis and blending steps. The buffers are for the uniforms, textures, indices, vertex, etc...
Definition at line 36 of file BuffersControllerAbstract.h.
|
pure virtual |
Bind the buffers that should be used
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Clean up allocated ressources
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
protected |
Utility function to copy a buffer into another
Definition at line 24 of file BuffersControllerAbstract.cpp.
|
protectedpure virtual |
Create Descriptor pool
|
protectedpure virtual |
Create descriptors sets
|
protectedpure virtual |
Create the index buffer
|
protectedpure virtual |
Create the uniform buffer
|
protectedpure virtual |
Create the vertex buffer
|
pure virtual |
Return the attribute description of this class
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Return the binding description of this class
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Return the number of indices that should be draw
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Initialize the different ressources needed
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Using the information given as input update the different variables and struct of this class
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Update all buffer using the informations stored in this class (struct and other buffers)
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
pure virtual |
Update a subset of the buffers stored in this class (the one that change frame to frame)
Implemented in BufferControllerBlending, and BuffersControllerWarping.
|
protected |
pointer to the Vulkan context
Definition at line 77 of file BuffersControllerAbstract.h.
|
protected |
Correspond to the input camera
Definition at line 61 of file BuffersControllerAbstract.h.
|
protected |
Pointer to the renderpass
Definition at line 79 of file BuffersControllerAbstract.h.