|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
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< VKShaderModule > | vertex_shader = nullptr |
| std::shared_ptr< VKShaderModule > | fragment_shader = nullptr |
| std::shared_ptr< VKShaderModule > | geometry_shader = nullptr |
| std::shared_ptr< VKShaderModule > | tess_control_shader = nullptr |
| std::shared_ptr< VKShaderModule > | tess_evaluation_shader = nullptr |
| std::vector< VertexBinding > | vertex_bindings |
| std::vector< VertexAttribute > | vertex_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< ColorBlendAttachment > | color_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 |
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.