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
vertex_input: Vdef
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.
vertex_shader: VertexShaderEntryPoint<'a, Vsp, Vi, Vo, Vl>
The entry point of the vertex shader that will be run on the vertex input.
input_assembly: InputAssembly
Describes how vertices should be assembled into primitives. Essentially contains the type of primitives.
tessellation: Option<GraphicsPipelineParamsTess<'a, Tcs, Tci, Tco, Tcl, Tes, Tei, Teo, Tel>>
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.
geometry_shader: Option<GeometryShaderEntryPoint<'a, Gs, Gi, Go, Gl>>
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.
viewport: ViewportsState
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.
raster: Rasterization
Describes how the implementation determines which pixels are covered by the shape.
multisample: Multisample
fragment_shader: FragmentShaderEntryPoint<'a, Fs, Fi, Fo, Fl>
The entry point of the fragment shader that will be run on the pixels.
depth_stencil: DepthStencil
Describes how the implementation should perform the depth and stencil tests.
blend: Blend
Describes how the implementation should merge the color output of the fragment shader with the existing value in the attachments.
render_pass: Subpass<Rp>
Which subpass of which render pass this pipeline will run on. It is an error to run a graphics pipeline on a different subpass.