Struct vulkano::pipeline::GraphicsPipelineBuilder [] [src]

pub struct GraphicsPipelineBuilder<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> { /* fields omitted */ }

Prototype for a GraphicsPipeline.

Methods

impl<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> GraphicsPipelineBuilder<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> where
    Vdef: VertexDefinition<Vs::InputDefinition>,
    Vs: GraphicsEntryPointAbstract,
    Fs: GraphicsEntryPointAbstract,
    Gs: GraphicsEntryPointAbstract,
    Tcs: GraphicsEntryPointAbstract,
    Tes: GraphicsEntryPointAbstract,
    Vss: SpecializationConstants,
    Tcss: SpecializationConstants,
    Tess: SpecializationConstants,
    Gss: SpecializationConstants,
    Fss: SpecializationConstants,
    Vs::PipelineLayout: Clone + 'static + Send + Sync,
    Fs::PipelineLayout: Clone + 'static + Send + Sync,
    Tcs::PipelineLayout: Clone + 'static + Send + Sync,
    Tes::PipelineLayout: Clone + 'static + Send + Sync,
    Gs::PipelineLayout: Clone + 'static + Send + Sync,
    Tcs::InputDefinition: ShaderInterfaceDefMatch<Vs::OutputDefinition>,
    Tes::InputDefinition: ShaderInterfaceDefMatch<Tcs::OutputDefinition>,
    Gs::InputDefinition: ShaderInterfaceDefMatch<Tes::OutputDefinition> + ShaderInterfaceDefMatch<Vs::OutputDefinition>,
    Fs::InputDefinition: ShaderInterfaceDefMatch<Gs::OutputDefinition> + ShaderInterfaceDefMatch<Tes::OutputDefinition> + ShaderInterfaceDefMatch<Vs::OutputDefinition>,
    Rp: RenderPassAbstract + RenderPassSubpassInterface<Fs::OutputDefinition>, 
[src]

[src]

Builds the graphics pipeline.

impl<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> GraphicsPipelineBuilder<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp>
[src]

[src]

Sets the vertex input.

[src]

Sets the vertex input to a single vertex buffer.

You will most likely need to explicitely specify the template parameter to the type of a vertex.

[src]

Sets the vertex shader to use.

[src]

Sets whether primitive restart if enabled.

[src]

Sets the topology of the primitives that are expected by the pipeline.

[src]

Sets the topology of the primitives to a list of points.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::PointList).

[src]

Sets the topology of the primitives to a list of lines.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::LineList).

[src]

Sets the topology of the primitives to a line strip.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::LineStrip).

[src]

Sets the topology of the primitives to a list of triangles. Note that this is the default.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::TriangleList).

[src]

Sets the topology of the primitives to a triangle strip.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::TriangleStrip).

[src]

Sets the topology of the primitives to a fan of triangles.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::TriangleFan).

[src]

Sets the topology of the primitives to a list of lines with adjacency information.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::LineListWithAdjacency).

[src]

Sets the topology of the primitives to a line strip with adjacency information.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::LineStripWithAdjacency).

[src]

Sets the topology of the primitives to a list of triangles with adjacency information.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::TriangleListWithAdjacency).

[src]

Sets the topology of the primitives to a triangle strip with adjacency information`

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::TriangleStripWithAdjacency).

[src]

Sets the topology of the primitives to a list of patches. Can only be used and must be used with a tessellation shader.

Note: This is equivalent to self.primitive_topology(PrimitiveTopology::PatchList { vertices_per_patch }).

[src]

Sets the tessellation shaders to use.

[src]

Sets the tessellation shaders stage as disabled. This is the default.

[src]

Sets the geometry shader to use.

[src]

Sets the geometry shader stage as disabled. This is the default.

[src]

Sets the viewports to some value, and the scissor boxes to boxes that always cover the whole viewport.

[src]

Sets the characteristics of viewports and scissor boxes in advance.

[src]

Sets the scissor boxes to some values, and viewports to dynamic. The viewports will need to be set before drawing.

[src]

Sets the viewports to dynamic, and the scissor boxes to boxes that always cover the whole viewport. The viewports will need to be set before drawing.

[src]

Sets the viewports to some values, and scissor boxes to dynamic. The scissor boxes will need to be set before drawing.

[src]

Sets the viewports and scissor boxes to dynamic. They will both need to be set before drawing.

[src]

If true, then the depth value of the vertices will be clamped to the range [0.0 ; 1.0]. If false, fragments whose depth is outside of this range will be discarded before the fragment shader even runs.

[src]

Sets the front-facing faces to couner-clockwise faces. This is the default.

Triangles whose vertices are oriented counter-clockwise on the screen will be considered as facing their front. Otherwise they will be considered as facing their back.

[src]

Sets the front-facing faces to clockwise faces.

Triangles whose vertices are oriented clockwise on the screen will be considered as facing their front. Otherwise they will be considered as facing their back.

[src]

Sets backface culling as disabled. This is the default.

[src]

Sets backface culling to front faces. The front faces (as chosen with the front_face_* methods) will be discarded by the GPU when drawing.

[src]

Sets backface culling to back faces. Faces that are not facing the front (as chosen with the front_face_* methods) will be discarded by the GPU when drawing.

[src]

Sets backface culling to both front and back faces. All the faces will be discarded.

Note: This option exists for the sake of completeness. It has no known practical usage.

[src]

Sets the polygon mode to "fill". This is the default.

[src]

Sets the polygon mode to "line". Triangles will each be turned into three lines.

[src]

Sets the polygon mode to "point". Triangles and lines will each be turned into three points.

[src]

Sets the width of the lines, if the GPU needs to draw lines. The default is 1.0.

[src]

Sets the width of the lines as dynamic, which means that you will need to set this value when drawing.

[src]

Sets the fragment shader to use.

The fragment shader is run once for each pixel that is covered by each primitive.

[src]

Sets the depth/stencil configuration. This function may be removed in the future.

[src]

Sets the depth/stencil tests as disabled.

Note: This is a shortcut for all the other depth_* and depth_stencil_* methods of the builder.

[src]

Sets the depth/stencil tests as a simple depth test and no stencil test.

Note: This is a shortcut for setting the depth test to Less, the depth write Into true and disable the stencil test.

[src]

Sets whether the depth buffer will be written.

[src]

[src]

[src]

Each fragment shader output will have its value directly written to the framebuffer attachment. This is the default.

[src]

[src]

[src]

Sets the logic operation as disabled. This is the default.

[src]

Sets the blend constant. The default is [0.0, 0.0, 0.0, 0.0].

The blend constant is used for some blending calculations. It is irrelevant otherwise.

[src]

Sets the blend constant value as dynamic. Its value will need to be set before drawing.

The blend constant is used for some blending calculations. It is irrelevant otherwise.

[src]

Sets the render pass subpass to use.

Trait Implementations

impl<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> Clone for GraphicsPipelineBuilder<Vdef, Vs, Vss, Tcs, Tcss, Tes, Tess, Gs, Gss, Fs, Fss, Rp> where
    Vdef: Clone,
    Vs: Clone,
    Vss: Clone,
    Tcs: Clone,
    Tcss: Clone,
    Tes: Clone,
    Tess: Clone,
    Gs: Clone,
    Gss: Clone,
    Fs: Clone,
    Fss: Clone,
    Rp: Clone
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more