44 std::vector<VkVertexInputBindingDescription>
46 std::vector<VkVertexInputAttributeDescription>
52 VkPipelineColorBlendAttachmentState
105 virtual void update(uint32_t currentFrame) = 0;
107 virtual void render(uint32_t currentFrame, uint32_t imageIndex,
108 float bgColor[3], VkViewport& viewport, VkRect2D& scissor,
109 std::vector<VkCommandBuffer>& commandBuffers)
134 std::vector<VkDescriptorSet>
148 VkDescriptorSetLayout
182 std::vector<Chronos::Engine::UniformBuffer>
Contains the Buffer and UniformBuffer class.
This initializes, manages and destroys the logical and physical devices(GPU).
Abstract class for creating and managing generic graphical objects.
VkDescriptorSetLayout descriptorSetLayout
void createDescriptorPool()
Creates the Vulkan descriptor pool for the object.
virtual void render(uint32_t currentFrame, uint32_t imageIndex, float bgColor[3], VkViewport &viewport, VkRect2D &scissor, std::vector< VkCommandBuffer > &commandBuffers)=0
virtual std::vector< VkDescriptorType > getDescriptorTypes()=0
virtual void destroy()=0
Destroys the object and releases associated resources.
VkCommandPool commandPool
virtual PipelineAttributes getPipelineAttributes()=0
std::vector< VkDescriptorSet > descriptorSets
Chronos::Engine::SwapChain * swapChain
VkDescriptorPool descriptorPool
void recreateGraphicsPipeline()
Recreates the graphics pipeline for the object.
unsigned char * vertShaderCode
virtual std::vector< VkShaderStageFlagBits > getDescriptorStages()=0
Chronos::Engine::Device * device
std::vector< Chronos::Engine::UniformBuffer > uniformBuffers
virtual void update(uint32_t currentFrame)=0
Updates the object for the current frame.
Chronos::Engine::ObjectType objectType
void createDescriptorSetLayout()
Creates the Vulkan descriptor set layout for the object.
void createGraphicsPipeline()
Creates the graphics pipeline for the object.
VkPipeline graphicsPipeline
void init(Chronos::Engine::Device *device, VkCommandPool commandPool, SwapChain *swapChain, VkSampler textureSampler, VkRenderPass *renderPass, ObjectType objectType, unsigned char *vertShaderCode, int vertShaderCodeSize, unsigned char *fragShaderCode, int fragShaderCodeSize)
Initializes the object.
virtual void createDescriptorSets()=0
VkPipelineLayout pipelineLayout
VkRenderPass * renderPass
unsigned char * fragShaderCode
Structure defining attributes required for creating a graphics pipeline.
VkPrimitiveTopology topology
VkPipelineColorBlendAttachmentState colorBlendAttachment
std::vector< VkVertexInputBindingDescription > bindingDescriptions
std::vector< VkVertexInputAttributeDescription > attributeDescriptions
Contains the swapChain class along with all the swapChain related functions.