SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::vk::VulkanPipelineState Class Referenceabstract

Vulkan implementation of IPipeline. More...

#include <VulkanPipeline.h>

Inheritance diagram for spark::render::vk::VulkanPipelineState:
spark::render::Pipeline< VulkanPipelineLayout, VulkanShaderProgram > spark::render::Resource< VkPipeline > spark::render::IPipeline spark::render::IResource< VkPipeline > spark::render::IStateResource spark::render::vk::VulkanRenderPipeline

Public Member Functions

virtual void use (const VulkanCommandBuffer &command_buffer) const noexcept=0
 Sets the current pipeline state on the ICommandBuffer.
 
virtual void bind (const VulkanCommandBuffer &command_buffer, const VulkanDescriptorSet &descriptor_set) const noexcept=0
 Binds a descriptor set on a ICommandBuffer.
 
 Resource (Handle handle) noexcept
 Initializes the managed resource with the given handle.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other) noexcept=delete
 
- Public Member Functions inherited from spark::render::Pipeline< VulkanPipelineLayout, VulkanShaderProgram >
virtual std::shared_ptr< const shader_program_type > program () const noexcept=0
 Gets the shader program used by the pipeline.
 
virtual std::shared_ptr< pipeline_layout_type > layout () const noexcept=0
 Gets the pipeline layout.
 
- Public Member Functions inherited from spark::render::IPipeline
std::shared_ptr< const IShaderProgramprogram () const noexcept
 Gets the shader program used by the pipeline.
 
std::shared_ptr< IPipelineLayoutlayout () const noexcept
 Gets the pipeline layout.
 
- Public Member Functions inherited from spark::render::IStateResource
virtual const std::string & name () const noexcept=0
 Gets the name of the state resource.
 
- Public Member Functions inherited from spark::render::Resource< VkPipeline >
 Resource (VkPipeline handle) noexcept
 Initializes the managed resource with the given handle.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other) noexcept=delete
 
Resourceoperator= (const Resource &other)=delete
 
Resourceoperator= (Resource &&other) noexcept=delete
 
const VkPipeline & handle () const final
 Gets the managed resource handle.
 

Additional Inherited Members

- Public Types inherited from spark::render::Pipeline< VulkanPipelineLayout, VulkanShaderProgram >
using shader_program_type
 
using pipeline_layout_type
 
- Public Types inherited from spark::render::IResource< VkPipeline >
using handle_type
 
- Protected Member Functions inherited from spark::render::Resource< VkPipeline >
VkPipeline & handle () final
 Gets the managed resource handle.
 

Detailed Description

Vulkan implementation of IPipeline.

Member Function Documentation

◆ bind()

virtual void spark::render::vk::VulkanPipelineState::bind ( const VulkanCommandBuffer & command_buffer,
const VulkanDescriptorSet & descriptor_set ) const
pure virtualnoexcept

Binds a descriptor set on a ICommandBuffer.

Parameters
command_bufferThe ICommandBuffer to issue the bind command on.
descriptor_setThe IDescriptorSet to bind.

Implemented in spark::render::vk::VulkanRenderPipeline.

◆ Resource()

spark::render::Resource< Handle >::Resource ( Handle handle)
explicitnoexcept

Initializes the managed resource with the given handle.

Parameters
handleThe handle to the managed resource.

◆ use()

virtual void spark::render::vk::VulkanPipelineState::use ( const VulkanCommandBuffer & command_buffer) const
pure virtualnoexcept

Sets the current pipeline state on the ICommandBuffer.

Parameters
command_bufferThe ICommandBuffer to set the current pipeline state on.

Implemented in spark::render::vk::VulkanRenderPipeline.