| Fling Engine 0.00.1 Fling Engine is a game engine written in Vulkan

Public Types | Public Member Functions | Data Fields
Fling::GraphicsPipeline Class Reference

`#include <GraphicsPipeline.h>`

## Public Types
enum | Depth { Depth::None = 0, Depth::Read = 1, Depth::Write = 2, Depth::ReadWrite = Read | Write }

## Public Member Functions
| GraphicsPipeline (std::vector< Shader *> t_Shaders, VkDevice t_LogicalDevice, VkPolygonMode t_Mode=VK_POLYGON_MODE_FILL, Depth t_Depth=Depth::ReadWrite, VkPrimitiveTopology t_Topology=VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, VkCullModeFlags t_CullMode=VK_CULL_MODE_BACK_BIT, VkFrontFace t_FrontFace=VK_FRONT_FACE_COUNTER_CLOCKWISE)
void | BindGraphicsPipeline (const VkCommandBuffer &t_CommandBuffer)
void | CreateGraphicsPipeline (VkRenderPass &t_RenderPass, Multisampler *t_Sampler)
const std::vector< Shader * > | GetShaders () const
Depth | GetDepth () const
VkPrimitiveTopology | GetTopology () const
VkPolygonMode | GetPolygonMode () const
VkCullModeFlags | GetCullMode () const
VkFrontFace | GetFrontFace () const
const VkDescriptorSetLayout & | GetDescriptorSetLayout () const
const VkPipeline & | GetPipeline () const
const VkPipelineLayout & | GetPipelineLayout () const
const VkPipelineBindPoint & | GetPipelineBindPoint () const
| ~GraphicsPipeline ()
void | CreateAttributes (Multisampler *t_Sampler)

## Data Fields
std::vector< Shader * > | m_Shaders
VkDevice | m_Device
Depth | m_Depth
VkPrimitiveTopology | m_Topology
VkPolygonMode | m_PolygonMode
VkCullModeFlags | m_CullMode
VkFrontFace | m_FrontFace
VkPipeline | m_Pipeline = VK_NULL_HANDLE
VkPipelineCache | m_PipelineCache = VK_NULL_HANDLE
VkPipelineLayout | m_PipelineLayout = VK_NULL_HANDLE
VkPipelineBindPoint | m_PipelineBindPoint
VkGraphicsPipelineCreateInfo | m_PipelineCreateInfo = {}
VkDescriptorSetLayout | m_DescriptorSetLayout
VkPipelineVertexInputStateCreateInfo | m_VertexInputStateCreateInfo = {}
VkPipelineInputAssemblyStateCreateInfo | m_InputAssemblyState = {}
VkPipelineRasterizationStateCreateInfo | m_RasterizationState = {}
std::vector< VkPipelineColorBlendAttachmentState > | m_ColorBlendAttachmentStates
VkPipelineColorBlendStateCreateInfo | m_ColorBlendState = {}
VkPipelineDepthStencilStateCreateInfo | m_DepthStencilState = {}
VkPipelineViewportStateCreateInfo | m_ViewportState = {}
VkPipelineMultisampleStateCreateInfo | m_MultisampleState = {}
VkPipelineDynamicStateCreateInfo | m_DynamicState = {}
VkPipelineTessellationStateCreateInfo | m_TessellationState = {}

## Member Enumeration Documentation

## ◆ Depth

enum Fling::GraphicsPipeline::Depth
| strong

Enumerator
None |
Read |
Write |
ReadWrite |

## Constructor & Destructor Documentation

## ◆ GraphicsPipeline()

Fling::GraphicsPipeline::GraphicsPipeline | ( | std::vector< Shader *> | t_Shaders,
|  | VkDevice | t_LogicalDevice,
|  | VkPolygonMode | t_Mode = `VK_POLYGON_MODE_FILL`,
|  | Depth | t_Depth = `Depth::ReadWrite`,
|  | VkPrimitiveTopology | t_Topology = `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST`,
|  | VkCullModeFlags | t_CullMode = `VK_CULL_MODE_BACK_BIT`,
|  | VkFrontFace | t_FrontFace = `VK_FRONT_FACE_COUNTER_CLOCKWISE`
| ) |  |

## ◆ ~GraphicsPipeline()

Fling::GraphicsPipeline::~GraphicsPipeline | ( |  | ) |

## Member Function Documentation

## ◆ BindGraphicsPipeline()

void Fling::GraphicsPipeline::BindGraphicsPipeline | ( | const VkCommandBuffer & | t_CommandBuffer | ) |

## ◆ CreateAttributes()

void Fling::GraphicsPipeline::CreateAttributes | ( | Multisampler * | t_Sampler | ) |

## ◆ CreateGraphicsPipeline()

void Fling::GraphicsPipeline::CreateGraphicsPipeline | ( | VkRenderPass & | t_RenderPass,
|  | Multisampler * | t_Sampler
| ) |  |

## ◆ GetCullMode()

VkCullModeFlags Fling::GraphicsPipeline::GetCullMode | ( |  | ) | const
| inline

## ◆ GetDepth()

Depth Fling::GraphicsPipeline::GetDepth | ( |  | ) | const
| inline

## ◆ GetDescriptorSetLayout()

const VkDescriptorSetLayout& Fling::GraphicsPipeline::GetDescriptorSetLayout | ( |  | ) | const
| inline

## ◆ GetFrontFace()

VkFrontFace Fling::GraphicsPipeline::GetFrontFace | ( |  | ) | const
| inline

## ◆ GetPipeline()

const VkPipeline& Fling::GraphicsPipeline::GetPipeline | ( |  | ) | const
| inline

## ◆ GetPipelineBindPoint()

const VkPipelineBindPoint& Fling::GraphicsPipeline::GetPipelineBindPoint | ( |  | ) | const
| inline

## ◆ GetPipelineLayout()

const VkPipelineLayout& Fling::GraphicsPipeline::GetPipelineLayout | ( |  | ) | const
| inline

## ◆ GetPolygonMode()

VkPolygonMode Fling::GraphicsPipeline::GetPolygonMode | ( |  | ) | const
| inline

## ◆ GetShaders()

const std::vector<Shader*> Fling::GraphicsPipeline::GetShaders | ( |  | ) | const
| inline

## ◆ GetTopology()

VkPrimitiveTopology Fling::GraphicsPipeline::GetTopology | ( |  | ) | const
| inline

## Field Documentation

## ◆ m_ColorBlendAttachmentStates

std::vector<VkPipelineColorBlendAttachmentState> Fling::GraphicsPipeline::m_ColorBlendAttachmentStates

## ◆ m_ColorBlendState

VkPipelineColorBlendStateCreateInfo Fling::GraphicsPipeline::m_ColorBlendState = {}

## ◆ m_CullMode

VkCullModeFlags Fling::GraphicsPipeline::m_CullMode

## ◆ m_Depth

Depth Fling::GraphicsPipeline::m_Depth

## ◆ m_DepthStencilState

VkPipelineDepthStencilStateCreateInfo Fling::GraphicsPipeline::m_DepthStencilState = {}

## ◆ m_DescriptorSetLayout

VkDescriptorSetLayout Fling::GraphicsPipeline::m_DescriptorSetLayout

## ◆ m_Device

VkDevice Fling::GraphicsPipeline::m_Device

## ◆ m_DynamicState

VkPipelineDynamicStateCreateInfo Fling::GraphicsPipeline::m_DynamicState = {}

## ◆ m_FrontFace

VkFrontFace Fling::GraphicsPipeline::m_FrontFace

## ◆ m_InputAssemblyState

VkPipelineInputAssemblyStateCreateInfo Fling::GraphicsPipeline::m_InputAssemblyState = {}

## ◆ m_MultisampleState

VkPipelineMultisampleStateCreateInfo Fling::GraphicsPipeline::m_MultisampleState = {}

## ◆ m_Pipeline

VkPipeline Fling::GraphicsPipeline::m_Pipeline = VK_NULL_HANDLE

## ◆ m_PipelineBindPoint

VkPipelineBindPoint Fling::GraphicsPipeline::m_PipelineBindPoint

## ◆ m_PipelineCache

VkPipelineCache Fling::GraphicsPipeline::m_PipelineCache = VK_NULL_HANDLE

## ◆ m_PipelineCreateInfo

VkGraphicsPipelineCreateInfo Fling::GraphicsPipeline::m_PipelineCreateInfo = {}

## ◆ m_PipelineLayout

VkPipelineLayout Fling::GraphicsPipeline::m_PipelineLayout = VK_NULL_HANDLE

## ◆ m_PolygonMode

VkPolygonMode Fling::GraphicsPipeline::m_PolygonMode

## ◆ m_RasterizationState

VkPipelineRasterizationStateCreateInfo Fling::GraphicsPipeline::m_RasterizationState = {}

## ◆ m_Shaders

std::vector<Shader*> Fling::GraphicsPipeline::m_Shaders

## ◆ m_TessellationState

VkPipelineTessellationStateCreateInfo Fling::GraphicsPipeline::m_TessellationState = {}

## ◆ m_Topology

VkPrimitiveTopology Fling::GraphicsPipeline::m_Topology

## ◆ m_VertexInputStateCreateInfo

VkPipelineVertexInputStateCreateInfo Fling::GraphicsPipeline::m_VertexInputStateCreateInfo = {}

## ◆ m_ViewportState

VkPipelineViewportStateCreateInfo Fling::GraphicsPipeline::m_ViewportState = {}

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

- FlingEngine/Graphics/inc/GraphicsPipeline.h
- FlingEngine/Graphics/src/GraphicsPipeline.cpp