MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::GraphicsPipelineConfig Struct Reference

Configuration for creating a graphics pipeline. More...

#include <VKGraphicsPipeline.hpp>

+ Collaboration diagram for MayaFlux::Core::GraphicsPipelineConfig:

Public Member Functions

void enable_alpha_blending ()
 
void enable_additive_blending ()
 
void disable_depth_test ()
 
void enable_wireframe ()
 
void enable_back_face_culling ()
 
void disable_culling ()
 

Static Public Member Functions

static GraphicsPipelineConfig default_3d ()
 
static GraphicsPipelineConfig default_2d ()
 
static GraphicsPipelineConfig alpha_blended ()
 
static GraphicsPipelineConfig additive_blended ()
 
static GraphicsPipelineConfig depth_only ()
 

Public Attributes

std::shared_ptr< VKShaderModulevertex_shader = nullptr
 
std::shared_ptr< VKShaderModulefragment_shader = nullptr
 
std::shared_ptr< VKShaderModulegeometry_shader = nullptr
 
std::shared_ptr< VKShaderModuletess_control_shader = nullptr
 
std::shared_ptr< VKShaderModuletess_evaluation_shader = nullptr
 
std::vector< VertexBindingvertex_bindings
 
std::vector< VertexAttributevertex_attributes
 
bool use_vertex_shader_reflection = true
 
vk::PrimitiveTopology topology = vk::PrimitiveTopology::eTriangleList
 
bool primitive_restart_enable = false
 
uint32_t patch_control_points = 3
 
bool dynamic_viewport = true
 
bool dynamic_scissor = true
 
vk::Viewport static_viewport {}
 
vk::Rect2D static_scissor {}
 
bool depth_clamp_enable = false
 
bool rasterizer_discard_enable = false
 
vk::PolygonMode polygon_mode = vk::PolygonMode::eFill
 
vk::CullModeFlags cull_mode = vk::CullModeFlagBits::eBack
 
vk::FrontFace front_face = vk::FrontFace::eCounterClockwise
 
bool depth_bias_enable = false
 
float depth_bias_constant_factor = 0.0f
 
float depth_bias_clamp = 0.0f
 
float depth_bias_slope_factor = 0.0f
 
float line_width = 1.0f
 
vk::SampleCountFlagBits rasterization_samples = vk::SampleCountFlagBits::e1
 
bool sample_shading_enable = false
 
float min_sample_shading = 1.0f
 
std::vector< vk::SampleMask > sample_mask
 
bool alpha_to_coverage_enable = false
 
bool alpha_to_one_enable = false
 
bool depth_test_enable = true
 
bool depth_write_enable = true
 
vk::CompareOp depth_compare_op = vk::CompareOp::eLess
 
bool depth_bounds_test_enable = false
 
float min_depth_bounds = 0.0f
 
float max_depth_bounds = 1.0f
 
bool stencil_test_enable = false
 
vk::StencilOpState front_stencil {}
 
vk::StencilOpState back_stencil {}
 
bool logic_op_enable = false
 
vk::LogicOp logic_op = vk::LogicOp::eCopy
 
std::vector< ColorBlendAttachmentcolor_blend_attachments
 
std::array< float, 4 > blend_constants = { 0.0f, 0.0f, 0.0f, 0.0f }
 
std::vector< vk::DynamicState > dynamic_states
 
std::vector< vk::DescriptorSetLayout > descriptor_set_layouts
 
std::vector< vk::PushConstantRange > push_constant_ranges
 
vk::RenderPass render_pass = nullptr
 
uint32_t subpass = 0
 
bool use_dynamic_rendering = false
 
std::vector< vk::Format > color_attachment_formats
 
vk::Format depth_attachment_format = vk::Format::eUndefined
 
vk::Format stencil_attachment_format = vk::Format::eUndefined
 
vk::PipelineCache cache = nullptr
 

Detailed Description

Configuration for creating a graphics pipeline.

Comprehensive graphics pipeline state. Vulkan requires ALL fixed-function state to be specified at pipeline creation time.

Definition at line 57 of file VKGraphicsPipeline.hpp.


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