HatchitGraphics
Public Member Functions | Protected Attributes | List of all members
Hatchit::Graphics::Vulkan::VKPipeline Class Reference
Inheritance diagram for Hatchit::Graphics::Vulkan::VKPipeline:
Hatchit::Graphics::PipelineBase

Public Member Functions

bool Initialize (const Resource::PipelineHandle &handle, const VkDevice &device, const VkDescriptorPool &descriptorPool)
 
bool VUpdate () override
 Have Vulkan update the descriptor sets in this pipeline.
 
bool VSetShaderVariables (ShaderVariableChunk *variables) override
 
bool VSetInt (size_t offset, int data) override
 
bool VSetDouble (size_t offset, double data) override
 
bool VSetFloat (size_t offset, float data) override
 
bool VSetFloat2 (size_t offset, Math::Vector2 data) override
 
bool VSetFloat3 (size_t offset, Math::Vector3 data) override
 
bool VSetFloat4 (size_t offset, Math::Vector4 data) override
 
bool VSetMatrix4 (size_t offset, Math::Matrix4 data) override
 
VkPipeline GetVKPipeline ()
 
void BindPipeline (const VkCommandBuffer &commandBuffer)
 Binds this pipeline to a command buffer. More...
 

Protected Attributes

VkDevice m_device
 
VkDescriptorPool m_descriptorPool
 
VKRenderPassm_renderPass
 
std::vector< VkVertexInputAttributeDescription > m_vertexLayout
 
uint32_t m_vertexLayoutStride
 
uint32_t m_instanceLayoutStride
 
VkPipelineDepthStencilStateCreateInfo m_depthStencilState
 
VkPipelineRasterizationStateCreateInfo m_rasterizationState
 
VkPipelineMultisampleStateCreateInfo m_multisampleState
 
std::vector< VkPipelineShaderStageCreateInfo > m_shaderStages
 
std::map< Resource::Pipeline::ShaderSlot, Graphics::ShaderHandlem_shaderHandles
 
VkPipelineCache m_pipelineCache
 
VkPipelineLayout m_pipelineLayout
 
VkPipeline m_pipeline
 
std::vector< BYTE > m_pushData
 
std::vector< BYTE > m_descriptorData
 
UniformBlock_vk m_uniformVSBuffer
 
uint8_t * m_uniformBindPoint
 
VkDescriptorSet m_descriptorSet
 
- Protected Attributes inherited from Hatchit::Graphics::PipelineBase
ShaderVariableChunkm_shaderVariables
 

Member Function Documentation

void VKPipeline::BindPipeline ( const VkCommandBuffer &  commandBuffer)

Binds this pipeline to a command buffer.

Parameters
commandBufferA reference to the command buffer you want to bind to
pipelineLayoutThe pipeline layout to reference when binding data

This function binds the pipeline as a graphics pipeline and sends all of the pipeline's data to the given command buffer. This includes up to 128 bytes of push constant data and all other data sent via a descriptor set.


The documentation for this class was generated from the following files: