|
| PipelineMaker (uint32_t width, uint32_t height) |
|
vk::UniquePipeline | createUnique (const vk::Device &device, const vk::PipelineCache &pipelineCache, const vk::PipelineLayout &pipelineLayout, const vk::RenderPass &renderPass, bool defaultBlend=true) |
|
void | shader (vk::ShaderStageFlagBits stage, vku::ShaderModule &shader, const char *entryPoint="main") |
| Add a shader module to the pipeline.
|
|
void | colorBlend (const vk::PipelineColorBlendAttachmentState &state) |
|
void | subPass (uint32_t subpass) |
|
void | blendBegin (vk::Bool32 enable) |
|
void | blendEnable (vk::Bool32 value) |
| Enable or disable blending (called after blendBegin())
|
|
void | blendSrcColorBlendFactor (vk::BlendFactor value) |
| Source colour blend factor (called after blendBegin())
|
|
void | blendDstColorBlendFactor (vk::BlendFactor value) |
| Destination colour blend factor (called after blendBegin())
|
|
void | blendColorBlendOp (vk::BlendOp value) |
| Blend operation (called after blendBegin())
|
|
void | blendSrcAlphaBlendFactor (vk::BlendFactor value) |
| Source alpha blend factor (called after blendBegin())
|
|
void | blendDstAlphaBlendFactor (vk::BlendFactor value) |
| Destination alpha blend factor (called after blendBegin())
|
|
void | blendAlphaBlendOp (vk::BlendOp value) |
| Alpha operation (called after blendBegin())
|
|
void | blendColorWriteMask (vk::ColorComponentFlags value) |
| Colour write mask (called after blendBegin())
|
|
void | vertexAttribute (uint32_t location_, uint32_t binding_, vk::Format format_, uint32_t offset_) |
| Add a vertex attribute to the pipeline.
|
|
void | vertexAttribute (const vk::VertexInputAttributeDescription &desc) |
| Add a vertex attribute to the pipeline.
|
|
void | vertexBinding (uint32_t binding_, uint32_t stride_, vk::VertexInputRate inputRate_=vk::VertexInputRate::eVertex) |
|
void | vertexBinding (const vk::VertexInputBindingDescription &desc) |
|
PipelineMaker & | topology (vk::PrimitiveTopology topology) |
|
PipelineMaker & | primitiveRestartEnable (vk::Bool32 primitiveRestartEnable) |
|
PipelineMaker & | inputAssemblyState (const vk::PipelineInputAssemblyStateCreateInfo &value) |
|
PipelineMaker & | viewport (const vk::Viewport &value) |
|
PipelineMaker & | scissor (const vk::Rect2D &value) |
|
PipelineMaker & | rasterizationState (const vk::PipelineRasterizationStateCreateInfo &value) |
|
PipelineMaker & | depthClampEnable (vk::Bool32 value) |
|
PipelineMaker & | rasterizerDiscardEnable (vk::Bool32 value) |
|
PipelineMaker & | polygonMode (vk::PolygonMode value) |
|
PipelineMaker & | cullMode (vk::CullModeFlags value) |
|
PipelineMaker & | frontFace (vk::FrontFace value) |
|
PipelineMaker & | depthBiasEnable (vk::Bool32 value) |
|
PipelineMaker & | depthBiasConstantFactor (float value) |
|
PipelineMaker & | depthBiasClamp (float value) |
|
PipelineMaker & | depthBiasSlopeFactor (float value) |
|
PipelineMaker & | lineWidth (float value) |
|
PipelineMaker & | multisampleState (const vk::PipelineMultisampleStateCreateInfo &value) |
|
PipelineMaker & | rasterizationSamples (vk::SampleCountFlagBits value) |
|
PipelineMaker & | sampleShadingEnable (vk::Bool32 value) |
|
PipelineMaker & | minSampleShading (float value) |
|
PipelineMaker & | pSampleMask (const vk::SampleMask *value) |
|
PipelineMaker & | alphaToCoverageEnable (vk::Bool32 value) |
|
PipelineMaker & | alphaToOneEnable (vk::Bool32 value) |
|
PipelineMaker & | depthStencilState (const vk::PipelineDepthStencilStateCreateInfo &value) |
|
PipelineMaker & | depthTestEnable (vk::Bool32 value) |
|
PipelineMaker & | depthWriteEnable (vk::Bool32 value) |
|
PipelineMaker & | depthCompareOp (vk::CompareOp value) |
|
PipelineMaker & | depthBoundsTestEnable (vk::Bool32 value) |
|
PipelineMaker & | stencilTestEnable (vk::Bool32 value) |
|
PipelineMaker & | front (vk::StencilOpState value) |
|
PipelineMaker & | back (vk::StencilOpState value) |
|
PipelineMaker & | minDepthBounds (float value) |
|
PipelineMaker & | maxDepthBounds (float value) |
|
PipelineMaker & | colorBlendState (const vk::PipelineColorBlendStateCreateInfo &value) |
|
PipelineMaker & | logicOpEnable (vk::Bool32 value) |
|
PipelineMaker & | logicOp (vk::LogicOp value) |
|
PipelineMaker & | blendConstants (float r, float g, float b, float a) |
|
PipelineMaker & | dynamicState (vk::DynamicState value) |
|
A class for building pipelines. All the state of the pipeline is exposed through individual calls. The pipeline encapsulates all the OpenGL state in a single object. This includes vertex buffer layouts, blend operations, shaders, line width etc. This class exposes all the values as individuals so a pipeline can be customised. The default is to generate a working pipeline.