Struct vulkano::pipeline::GraphicsPipelineParams [] [src]

pub struct GraphicsPipelineParams<'a, Vdef, Vsp, Vi, Vo, Vl, Tcs, Tci, Tco, Tcl, Tes, Tei, Teo, Tel, Gs, Gi, Go, Gl, Fs, Fi, Fo, Fl, Rp> {
    pub vertex_input: Vdef,
    pub vertex_shader: VertexShaderEntryPoint<'a, Vsp, Vi, Vo, Vl>,
    pub input_assembly: InputAssembly,
    pub tessellation: Option<GraphicsPipelineParamsTess<'a, Tcs, Tci, Tco, Tcl, Tes, Tei, Teo, Tel>>,
    pub geometry_shader: Option<GeometryShaderEntryPoint<'a, Gs, Gi, Go, Gl>>,
    pub viewport: ViewportsState,
    pub raster: Rasterization,
    pub multisample: Multisample,
    pub fragment_shader: FragmentShaderEntryPoint<'a, Fs, Fi, Fo, Fl>,
    pub depth_stencil: DepthStencil,
    pub blend: Blend,
    pub render_pass: Subpass<Rp>,
}

Description of a GraphicsPipeline.

Fields

Describes the layout of the vertex input.

For example if you want to pass a vertex buffer and an instance buffer, this parameter should describe it as well as the offsets and data type of various vertex attributes.

Must implement the VertexDefinition trait.

The entry point of the vertex shader that will be run on the vertex input.

Describes how vertices should be assembled into primitives. Essentially contains the type of primitives.

Parameters of the tessellation stage. None if you don't want to use tessellation. If you use tessellation, you must enable the tessellation_shader feature on the device.

The entry point of the geometry shader. None if you don't want a geometry shader. If you use a geometry shader, you must enable the geometry_shader feature on the device.

Describes the subsection of the framebuffer attachments where the scene will be drawn. You can use one or multiple viewports, but using multiple viewports is only relevant with a geometry shader.

Describes how the implementation determines which pixels are covered by the shape.

The entry point of the fragment shader that will be run on the pixels.

Describes how the implementation should perform the depth and stencil tests.

Describes how the implementation should merge the color output of the fragment shader with the existing value in the attachments.

Which subpass of which render pass this pipeline will run on. It is an error to run a graphics pipeline on a different subpass.