Chicane

VulkanGraphicsPipelineBuilder

Header
Includes/Chicane/Renderer/Backend/Vulkan/GraphicsPipeline/Builder.hpp
Namespace
Chicane::Renderer::VulkanGraphicsPipelineBuilder

Constructors

NameDescription
VulkanGraphicsPipelineBuilder()

Functions

AccessReturnModifierNameDescription
public
inline
addVertexBinding(
vk::VertexInputBindingDescription inValue
)
public
inline
addVertexAttributes(
std::vector<vk::VertexInputAttributeDescription> inValues
)
public
inline
addVertexAttribute(
vk::VertexInputAttributeDescription inValue
)
public
inline
setInputAssembly(
vk::PipelineInputAssemblyStateCreateInfo inValue
)
public
inline
addViewport(
vk::Viewport inValue
)
public
inline
addScissor(
vk::Rect2D inValue
)
public
inline
addDynamicState(
vk::DynamicState inValue
)
public
inline
addShaderStage(
const  VulkanShaderStageCreateInfo& inValue
const  vk::Device& inLogicalDevice
)
public
inline
setRasterization(
vk::PipelineRasterizationStateCreateInfo inValue
)
public
inline
setMultisample(
vk::PipelineMultisampleStateCreateInfo inValue
)
public
inline
addColorBlendingAttachment(
vk::PipelineColorBlendAttachmentState inValue
)
public
inline
setDepthStencil(
vk::PipelineDepthStencilStateCreateInfo inValue
)
public
inline
addAttachment(
vk::AttachmentDescription inValue
)
public
inline
addSubpassDependecy(
vk::SubpassDependency inValue
)
public
inline
addSubpass(
vk::SubpassDescription inValue
)
public
inline
addDescriptorSetLayout(
vk::DescriptorSetLayout inValue
)
public
inline
addPushConstant(
vk::PushConstantRange inValue
)
public
void
inline
build(
VulkanGraphicsPipeline& outGraphicsPipeline
const  vk::Device& inLogicalDevice
)

Members

AccessTypeModifierNameDescription
private
std::vector<vk::VertexInputBindingDescription>
m_vertexBindings
private
std::vector<vk::VertexInputAttributeDescription>
m_vertexAttributes
private
vk::PipelineInputAssemblyStateCreateInfo
m_inputAssemby
private
std::vector<vk::Viewport>
m_viewports
private
std::vector<vk::Rect2D>
m_scissors
private
std::vector<vk::DynamicState>
m_dynamicStates
private
std::vector<vk::PipelineShaderStageCreateInfo>
m_shaders
private
vk::PipelineRasterizationStateCreateInfo
m_rasterization
private
vk::PipelineMultisampleStateCreateInfo
m_multisample
private
std::vector<vk::PipelineColorBlendAttachmentState>
m_colorBlendings
private
vk::PipelineDepthStencilStateCreateInfo
m_depthStencil
private
std::vector<vk::AttachmentDescription>
m_attachments
private
std::vector<vk::SubpassDependency>
m_subpassDepedencies
private
std::vector<vk::SubpassDescription>
m_subpasses
private
std::vector<vk::DescriptorSetLayout>
m_descriptorSetLayouts
private
std::vector<vk::PushConstantRange>
m_pushConstants