Class that represents a graphics pipeline.
More...
#include <PipelineGraphics.hpp>
|
| enum class | Mode { Polygon
, MRT
} |
| |
| enum class | Depth { None = 0
, Read = 1
, Write = 2
, ReadWrite = Read | Write
} |
| |
| using | Stage = std::pair<uint32_t, uint32_t> |
| |
|
| | PipelineGraphics (Stage stage, std::vector< VirtualPath > shaderStages, std::vector< Shader::VertexInput > vertexInputs, std::vector< Shader::Define > defines={}, Mode mode=Mode::Polygon, Depth depth=Depth::ReadWrite, VkPrimitiveTopology topology=VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, VkPolygonMode polygonMode=VK_POLYGON_MODE_FILL, VkCullModeFlags cullMode=VK_CULL_MODE_BACK_BIT, VkFrontFace frontFace=VK_FRONT_FACE_CLOCKWISE, bool pushDescriptors=false) |
| |
| const ImageDepth * | GetDepthStencil (const std::optional< uint32_t > &stage=std::nullopt) const |
| |
| const Image2D * | GetImage (uint32_t index, const std::optional< uint32_t > &stage=std::nullopt) const |
| |
| RenderArea | GetRenderArea (const std::optional< uint32_t > &stage=std::nullopt) const |
| |
|
const Stage & | GetStage () const |
| |
|
const std::vector< VirtualPath > & | GetShaderStages () const |
| |
|
const std::vector< Shader::VertexInput > & | GetVertexInputs () const |
| |
|
const std::vector< Shader::Define > & | GetDefines () const |
| |
|
Mode | GetMode () const |
| |
|
Depth | GetDepth () const |
| |
|
VkPrimitiveTopology | GetTopology () const |
| |
|
VkPolygonMode | GetPolygonMode () const |
| |
|
VkCullModeFlags | GetCullMode () const |
| |
|
VkFrontFace | GetFrontFace () const |
| |
| bool | IsPushDescriptors () const override |
| |
| const Shader * | GetShader () const override |
| |
| const VkDescriptorSetLayout & | GetDescriptorSetLayout () const override |
| |
| const VkDescriptorPool & | GetDescriptorPool () const override |
| |
| const VkPipeline & | GetPipeline () const override |
| |
| const VkPipelineLayout & | GetPipelineLayout () const override |
| |
| const VkPipelineBindPoint & | GetPipelineBindPoint () const override |
| |
|
void | BindPipeline (const CommandBuffer &commandBuffer) const |
| |
Class that represents a graphics pipeline.
◆ PipelineGraphics()
| PixelBullet::PipelineGraphics::PipelineGraphics |
( |
Stage | stage, |
|
|
std::vector< VirtualPath > | shaderStages, |
|
|
std::vector< Shader::VertexInput > | vertexInputs, |
|
|
std::vector< Shader::Define > | defines = {}, |
|
|
Mode | mode = Mode::Polygon, |
|
|
Depth | depth = Depth::ReadWrite, |
|
|
VkPrimitiveTopology | topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, |
|
|
VkPolygonMode | polygonMode = VK_POLYGON_MODE_FILL, |
|
|
VkCullModeFlags | cullMode = VK_CULL_MODE_BACK_BIT, |
|
|
VkFrontFace | frontFace = VK_FRONT_FACE_CLOCKWISE, |
|
|
bool | pushDescriptors = false ) |
Creates a new pipeline.
- Parameters
-
| stage | The graphics stage this pipeline will be run on. |
| shaderStages | The source files to load the pipeline shaders from. |
| vertexInputs | The vertex inputs that will be used as a shaders input. |
| defines | A list of defines added to the top of each shader. |
| mode | The mode this pipeline will run in. |
| depth | The depth read/write that will be used. |
| topology | The topology of the input assembly. |
| polygonMode | The polygon draw mode. |
| cullMode | The vertex cull mode. |
| frontFace | The direction to render faces. |
| pushDescriptors | If no actual descriptor sets are allocated but instead pushed. |
◆ GetDepthStencil()
| const ImageDepth * PixelBullet::PipelineGraphics::GetDepthStencil |
( |
const std::optional< uint32_t > & | stage = std::nullopt | ) |
const |
Gets the depth stencil used in a stage.
- Parameters
-
| stage | The stage to get values from, if not provided the pipelines stage will be used. |
- Returns
- The depth stencil that is found.
◆ GetDescriptorPool()
| const VkDescriptorPool & PixelBullet::PipelineGraphics::GetDescriptorPool |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetDescriptorSetLayout()
| const VkDescriptorSetLayout & PixelBullet::PipelineGraphics::GetDescriptorSetLayout |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetImage()
| const Image2D * PixelBullet::PipelineGraphics::GetImage |
( |
uint32_t | index, |
|
|
const std::optional< uint32_t > & | stage = std::nullopt ) const |
Gets a image used in a stage by the index given to it in the renderpass.
- Parameters
-
| index | The renderpass Image index. |
| stage | The stage to get values from, if not provided the pipelines stage will be used. |
- Returns
- The image that is found.
◆ GetPipeline()
| const VkPipeline & PixelBullet::PipelineGraphics::GetPipeline |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetPipelineBindPoint()
| const VkPipelineBindPoint & PixelBullet::PipelineGraphics::GetPipelineBindPoint |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetPipelineLayout()
| const VkPipelineLayout & PixelBullet::PipelineGraphics::GetPipelineLayout |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetRenderArea()
| RenderArea PixelBullet::PipelineGraphics::GetRenderArea |
( |
const std::optional< uint32_t > & | stage = std::nullopt | ) |
const |
Gets the render stage viewport.
- Parameters
-
| stage | The stage to get values from, if not provided the pipelines stage will be used. |
- Returns
- The the render stage viewport.
◆ GetShader()
| const Shader * PixelBullet::PipelineGraphics::GetShader |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ IsPushDescriptors()
| bool PixelBullet::PipelineGraphics::IsPushDescriptors |
( |
| ) |
const |
|
inlineoverridevirtual |
The documentation for this class was generated from the following files:
- engine/src/PixelBullet/Graphics/Pipelines/PipelineGraphics.hpp
- engine/src/PixelBullet/Graphics/Pipelines/PipelineGraphics.cpp