pub struct GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> { /* private fields */ }
Expand description
Prototype for a GraphicsPipeline
.
Implementations
sourceimpl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Vdef: VertexDefinition,
Vss: SpecializationConstants,
Tcss: SpecializationConstants,
Tess: SpecializationConstants,
Gss: SpecializationConstants,
Fss: SpecializationConstants,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Vdef: VertexDefinition,
Vss: SpecializationConstants,
Tcss: SpecializationConstants,
Tess: SpecializationConstants,
Gss: SpecializationConstants,
Fss: SpecializationConstants,
sourcepub fn build(
self,
device: Arc<Device>
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError>
pub fn build(
self,
device: Arc<Device>
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError>
Builds the graphics pipeline, using an inferred a pipeline layout.
sourcepub fn with_auto_layout<F>(
self,
device: Arc<Device>,
func: F
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError> where
F: FnOnce(&mut [DescriptorSetLayoutCreateInfo]),
pub fn with_auto_layout<F>(
self,
device: Arc<Device>,
func: F
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError> where
F: FnOnce(&mut [DescriptorSetLayoutCreateInfo]),
The same as new
, but allows you to provide a closure that is given a mutable reference to
the inferred descriptor set definitions. This can be used to make changes to the layout
before it’s created, for example to add dynamic buffers or immutable samplers.
sourcepub fn with_pipeline_layout(
self,
device: Arc<Device>,
pipeline_layout: Arc<PipelineLayout>
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError>
pub fn with_pipeline_layout(
self,
device: Arc<Device>,
pipeline_layout: Arc<PipelineLayout>
) -> Result<Arc<GraphicsPipeline>, GraphicsPipelineCreationError>
Builds the graphics pipeline.
Does the same as build
, except that build
automatically builds the pipeline layout
object corresponding to the union of your shaders while this function allows you to specify
the pipeline layout.
sourceimpl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss>
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss>
sourcepub fn vertex_shader<'vs2, Vss2>(
self,
shader: EntryPoint<'vs2>,
specialization_constants: Vss2
) -> GraphicsPipelineBuilder<'vs2, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss2, Tcss, Tess, Gss, Fss> where
Vss2: SpecializationConstants,
pub fn vertex_shader<'vs2, Vss2>(
self,
shader: EntryPoint<'vs2>,
specialization_constants: Vss2
) -> GraphicsPipelineBuilder<'vs2, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss2, Tcss, Tess, Gss, Fss> where
Vss2: SpecializationConstants,
Sets the vertex shader to use.
sourcepub fn tessellation_shaders<'tcs2, 'tes2, Tcss2, Tess2>(
self,
control_shader: EntryPoint<'tcs2>,
control_specialization_constants: Tcss2,
evaluation_shader: EntryPoint<'tes2>,
evaluation_specialization_constants: Tess2
) -> GraphicsPipelineBuilder<'vs, 'tcs2, 'tes2, 'gs, 'fs, Vdef, Vss, Tcss2, Tess2, Gss, Fss> where
Tcss2: SpecializationConstants,
Tess2: SpecializationConstants,
pub fn tessellation_shaders<'tcs2, 'tes2, Tcss2, Tess2>(
self,
control_shader: EntryPoint<'tcs2>,
control_specialization_constants: Tcss2,
evaluation_shader: EntryPoint<'tes2>,
evaluation_specialization_constants: Tess2
) -> GraphicsPipelineBuilder<'vs, 'tcs2, 'tes2, 'gs, 'fs, Vdef, Vss, Tcss2, Tess2, Gss, Fss> where
Tcss2: SpecializationConstants,
Tess2: SpecializationConstants,
Sets the tessellation shaders to use.
sourcepub fn geometry_shader<'gs2, Gss2>(
self,
shader: EntryPoint<'gs2>,
specialization_constants: Gss2
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs2, 'fs, Vdef, Vss, Tcss, Tess, Gss2, Fss> where
Gss2: SpecializationConstants,
pub fn geometry_shader<'gs2, Gss2>(
self,
shader: EntryPoint<'gs2>,
specialization_constants: Gss2
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs2, 'fs, Vdef, Vss, Tcss, Tess, Gss2, Fss> where
Gss2: SpecializationConstants,
Sets the geometry shader to use.
sourcepub fn fragment_shader<'fs2, Fss2>(
self,
shader: EntryPoint<'fs2>,
specialization_constants: Fss2
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs2, Vdef, Vss, Tcss, Tess, Gss, Fss2> where
Fss2: SpecializationConstants,
pub fn fragment_shader<'fs2, Fss2>(
self,
shader: EntryPoint<'fs2>,
specialization_constants: Fss2
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs2, Vdef, Vss, Tcss, Tess, Gss, Fss2> where
Fss2: SpecializationConstants,
Sets the fragment shader to use.
The fragment shader is run once for each pixel that is covered by each primitive.
sourcepub fn vertex_input_state<T>(
self,
vertex_input_state: T
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, T, Vss, Tcss, Tess, Gss, Fss> where
T: VertexDefinition,
pub fn vertex_input_state<T>(
self,
vertex_input_state: T
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, T, Vss, Tcss, Tess, Gss, Fss> where
T: VertexDefinition,
Sets the vertex input state.
The default value is VertexInputState::default()
.
sourcepub fn input_assembly_state(
self,
input_assembly_state: InputAssemblyState
) -> Self
pub fn input_assembly_state(
self,
input_assembly_state: InputAssemblyState
) -> Self
Sets the input assembly state.
The default value is InputAssemblyState::default()
.
sourcepub fn tessellation_state(self, tessellation_state: TessellationState) -> Self
pub fn tessellation_state(self, tessellation_state: TessellationState) -> Self
Sets the tessellation state. This is required if the pipeline contains tessellation shaders, and ignored otherwise.
The default value is TessellationState::default()
.
sourcepub fn viewport_state(self, viewport_state: ViewportState) -> Self
pub fn viewport_state(self, viewport_state: ViewportState) -> Self
Sets the viewport state.
The default value is ViewportState::default()
.
sourcepub fn discard_rectangle_state(
self,
discard_rectangle_state: DiscardRectangleState
) -> Self
pub fn discard_rectangle_state(
self,
discard_rectangle_state: DiscardRectangleState
) -> Self
Sets the discard rectangle state.
The default value is DiscardRectangleState::default()
.
sourcepub fn rasterization_state(self, rasterization_state: RasterizationState) -> Self
pub fn rasterization_state(self, rasterization_state: RasterizationState) -> Self
Sets the rasterization state.
The default value is RasterizationState::default()
.
sourcepub fn multisample_state(self, multisample_state: MultisampleState) -> Self
pub fn multisample_state(self, multisample_state: MultisampleState) -> Self
Sets the multisample state.
The default value is MultisampleState::default()
.
sourcepub fn depth_stencil_state(self, depth_stencil_state: DepthStencilState) -> Self
pub fn depth_stencil_state(self, depth_stencil_state: DepthStencilState) -> Self
Sets the depth/stencil state.
The default value is DepthStencilState::default()
.
sourcepub fn color_blend_state(self, color_blend_state: ColorBlendState) -> Self
pub fn color_blend_state(self, color_blend_state: ColorBlendState) -> Self
Sets the color blend state.
The default value is ColorBlendState::default()
.
sourcepub fn tessellation_shaders_disabled(self) -> Self
👎 Deprecated since 0.27
pub fn tessellation_shaders_disabled(self) -> Self
Sets the tessellation shaders stage as disabled. This is the default.
sourcepub fn geometry_shader_disabled(self) -> Self
👎 Deprecated since 0.27
pub fn geometry_shader_disabled(self) -> Self
Sets the geometry shader stage as disabled. This is the default.
sourcepub fn vertex_input_single_buffer<V: Vertex>(
self
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, BuffersDefinition, Vss, Tcss, Tess, Gss, Fss>
👎 Deprecated since 0.27: Use vertex_input_state
instead
pub fn vertex_input_single_buffer<V: Vertex>(
self
) -> GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, BuffersDefinition, Vss, Tcss, Tess, Gss, Fss>
Use vertex_input_state
instead
Sets the vertex input to a single vertex buffer.
You will most likely need to explicitly specify the template parameter to the type of a vertex.
sourcepub fn primitive_restart(self, enabled: bool) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn primitive_restart(self, enabled: bool) -> Self
Use input_assembly_state
instead
Sets whether primitive restart is enabled.
sourcepub fn primitive_topology(self, topology: PrimitiveTopology) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn primitive_topology(self, topology: PrimitiveTopology) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives that are expected by the pipeline.
sourcepub fn point_list(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn point_list(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a list of points.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::PointList)
.
sourcepub fn line_list(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn line_list(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a list of lines.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::LineList)
.
sourcepub fn line_strip(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn line_strip(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a line strip.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::LineStrip)
.
sourcepub fn triangle_list(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn triangle_list(self) -> Self
Use input_assembly_state
instead
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)
.
sourcepub fn triangle_strip(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn triangle_strip(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a triangle strip.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::TriangleStrip)
.
sourcepub fn triangle_fan(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn triangle_fan(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a fan of triangles.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::TriangleFan)
.
sourcepub fn line_list_with_adjacency(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn line_list_with_adjacency(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a list of lines with adjacency information.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::LineListWithAdjacency)
.
sourcepub fn line_strip_with_adjacency(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn line_strip_with_adjacency(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a line strip with adjacency information.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::LineStripWithAdjacency)
.
sourcepub fn triangle_list_with_adjacency(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn triangle_list_with_adjacency(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a list of triangles with adjacency information.
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::TriangleListWithAdjacency)
.
sourcepub fn triangle_strip_with_adjacency(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn triangle_strip_with_adjacency(self) -> Self
Use input_assembly_state
instead
Sets the topology of the primitives to a triangle strip with adjacency information`
Note: This is equivalent to
self.primitive_topology(PrimitiveTopology::TriangleStripWithAdjacency)
.
sourcepub fn patch_list(self) -> Self
👎 Deprecated since 0.27: Use input_assembly_state
instead
pub fn patch_list(self) -> Self
Use input_assembly_state
instead
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)
.
sourcepub fn viewports<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = Viewport>,
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = Viewport>,
Use viewport_state
instead
Sets the viewports to some value, and the scissor boxes to boxes that always cover the whole viewport.
sourcepub fn viewports_scissors<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = (Viewport, Scissor)>,
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports_scissors<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = (Viewport, Scissor)>,
Use viewport_state
instead
Sets the characteristics of viewports and scissor boxes in advance.
sourcepub fn viewports_dynamic_scissors_fixed<I>(self, scissors: I) -> Self where
I: IntoIterator<Item = Scissor>,
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports_dynamic_scissors_fixed<I>(self, scissors: I) -> Self where
I: IntoIterator<Item = Scissor>,
Use viewport_state
instead
Sets the scissor boxes to some values, and viewports to dynamic. The viewports will need to be set before drawing.
sourcepub fn viewports_dynamic_scissors_irrelevant(self, num: u32) -> Self
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports_dynamic_scissors_irrelevant(self, num: u32) -> Self
Use viewport_state
instead
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.
sourcepub fn viewports_fixed_scissors_dynamic<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = Viewport>,
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports_fixed_scissors_dynamic<I>(self, viewports: I) -> Self where
I: IntoIterator<Item = Viewport>,
Use viewport_state
instead
Sets the viewports to some values, and scissor boxes to dynamic. The scissor boxes will need to be set before drawing.
sourcepub fn viewports_scissors_dynamic(self, count: u32) -> Self
👎 Deprecated since 0.27: Use viewport_state
instead
pub fn viewports_scissors_dynamic(self, count: u32) -> Self
Use viewport_state
instead
Sets the viewports and scissor boxes to dynamic. They will both need to be set before drawing.
sourcepub fn depth_clamp(self, clamp: bool) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn depth_clamp(self, clamp: bool) -> Self
Use rasterization_state
instead
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.
sourcepub fn front_face_counter_clockwise(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn front_face_counter_clockwise(self) -> Self
Use rasterization_state
instead
Sets the front-facing faces to counter-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.
sourcepub fn front_face_clockwise(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn front_face_clockwise(self) -> Self
Use rasterization_state
instead
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.
sourcepub fn cull_mode_disabled(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn cull_mode_disabled(self) -> Self
Use rasterization_state
instead
Sets backface culling as disabled. This is the default.
sourcepub fn cull_mode_front(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn cull_mode_front(self) -> Self
Use rasterization_state
instead
Sets backface culling to front faces. The front faces (as chosen with the front_face_*
methods) will be discarded by the GPU when drawing.
sourcepub fn cull_mode_back(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn cull_mode_back(self) -> Self
Use rasterization_state
instead
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.
sourcepub fn cull_mode_front_and_back(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn cull_mode_front_and_back(self) -> Self
Use rasterization_state
instead
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.
sourcepub fn polygon_mode_fill(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn polygon_mode_fill(self) -> Self
Use rasterization_state
instead
Sets the polygon mode to “fill”. This is the default.
sourcepub fn polygon_mode_line(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn polygon_mode_line(self) -> Self
Use rasterization_state
instead
Sets the polygon mode to “line”. Triangles will each be turned into three lines.
sourcepub fn polygon_mode_point(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn polygon_mode_point(self) -> Self
Use rasterization_state
instead
Sets the polygon mode to “point”. Triangles and lines will each be turned into three points.
sourcepub fn line_width(self, value: f32) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn line_width(self, value: f32) -> Self
Use rasterization_state
instead
Sets the width of the lines, if the GPU needs to draw lines. The default is 1.0
.
sourcepub fn line_width_dynamic(self) -> Self
👎 Deprecated since 0.27: Use rasterization_state
instead
pub fn line_width_dynamic(self) -> Self
Use rasterization_state
instead
Sets the width of the lines as dynamic, which means that you will need to set this value when drawing.
sourcepub fn sample_shading_disabled(self) -> Self
👎 Deprecated since 0.27: Use multisample_state
instead
pub fn sample_shading_disabled(self) -> Self
Use multisample_state
instead
Disables sample shading. The fragment shader will only be run once per fragment (ie. per pixel) and not once by sample. The output will then be copied in all of the covered samples.
Sample shading is disabled by default.
sourcepub fn sample_shading_enabled(self, min_fract: f32) -> Self
👎 Deprecated since 0.27: Use multisample_state
instead
pub fn sample_shading_enabled(self, min_fract: f32) -> Self
Use multisample_state
instead
Enables sample shading. The fragment shader will be run once per sample at the borders of the object you’re drawing.
Enabling sampling shading requires the sample_rate_shading
feature to be enabled on the
device.
The min_fract
parameter is the minimum fraction of samples shading. For example if its
value is 0.5, then the fragment shader will run for at least half of the samples. The other
half of the samples will get their values determined automatically.
Sample shading is disabled by default.
Panic
- Panics if
min_fract
is not between 0.0 and 1.0.
pub fn alpha_to_coverage_disabled(self) -> Self
Use multisample_state
instead
pub fn alpha_to_coverage_enabled(self) -> Self
Use multisample_state
instead
sourcepub fn alpha_to_one_disabled(self) -> Self
👎 Deprecated since 0.27: Use multisample_state
instead
pub fn alpha_to_one_disabled(self) -> Self
Use multisample_state
instead
Disables alpha-to-one.
Alpha-to-one is disabled by default.
sourcepub fn alpha_to_one_enabled(self) -> Self
👎 Deprecated since 0.27: Use multisample_state
instead
pub fn alpha_to_one_enabled(self) -> Self
Use multisample_state
instead
Enables alpha-to-one. The alpha component of the first color output of the fragment shader
will be replaced by the value 1.0
.
Enabling alpha-to-one requires the alpha_to_one
feature to be enabled on the device.
Alpha-to-one is disabled by default.
sourcepub fn depth_stencil(self, depth_stencil_state: DepthStencilState) -> Self
👎 Deprecated since 0.27: Use depth_stencil_state
instead
pub fn depth_stencil(self, depth_stencil_state: DepthStencilState) -> Self
Use depth_stencil_state
instead
Sets the depth/stencil state.
sourcepub fn depth_stencil_disabled(self) -> Self
👎 Deprecated since 0.27: Use depth_stencil_state
instead
pub fn depth_stencil_disabled(self) -> Self
Use depth_stencil_state
instead
Sets the depth/stencil tests as disabled.
Note: This is a shortcut for all the other
depth_*
anddepth_stencil_*
methods of the builder.
sourcepub fn depth_stencil_simple_depth(self) -> Self
👎 Deprecated since 0.27: Use depth_stencil_state
instead
pub fn depth_stencil_simple_depth(self) -> Self
Use depth_stencil_state
instead
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 Intotrue
and disable the stencil test.
sourcepub fn depth_write(self, write: bool) -> Self
👎 Deprecated since 0.27: Use depth_stencil_state
instead
pub fn depth_write(self, write: bool) -> Self
Use depth_stencil_state
instead
Sets whether the depth buffer will be written.
pub fn blend_collective(self, blend: AttachmentBlend) -> Self
Use color_blend_state
instead
pub fn blend_individual<I>(self, blend: I) -> Self where
I: IntoIterator<Item = AttachmentBlend>,
Use color_blend_state
instead
sourcepub fn blend_pass_through(self) -> Self
👎 Deprecated since 0.27: Use color_blend_state
instead
pub fn blend_pass_through(self) -> Self
Use color_blend_state
instead
Each fragment shader output will have its value directly written to the framebuffer attachment. This is the default.
pub fn blend_alpha_blending(self) -> Self
Use color_blend_state
instead
pub fn blend_logic_op(self, logic_op: LogicOp) -> Self
Use color_blend_state
instead
sourcepub fn blend_logic_op_disabled(self) -> Self
👎 Deprecated since 0.27: Use color_blend_state
instead
pub fn blend_logic_op_disabled(self) -> Self
Use color_blend_state
instead
Sets the logic operation as disabled. This is the default.
sourcepub fn blend_constants(self, constants: [f32; 4]) -> Self
👎 Deprecated since 0.27: Use color_blend_state
instead
pub fn blend_constants(self, constants: [f32; 4]) -> Self
Use color_blend_state
instead
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.
sourcepub fn blend_constants_dynamic(self) -> Self
👎 Deprecated since 0.27: Use color_blend_state
instead
pub fn blend_constants_dynamic(self) -> Self
Use color_blend_state
instead
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.
sourcepub fn render_pass(self, render_pass: impl Into<PipelineRenderPassType>) -> Self
pub fn render_pass(self, render_pass: impl Into<PipelineRenderPassType>) -> Self
Sets the render pass subpass to use.
sourcepub fn build_with_cache(self, pipeline_cache: Arc<PipelineCache>) -> Self
pub fn build_with_cache(self, pipeline_cache: Arc<PipelineCache>) -> Self
Enable caching of this pipeline via a PipelineCache object.
If this pipeline already exists in the cache it will be used, if this is a new pipeline it will be inserted into the cache. The implementation handles the PipelineCache.
Trait Implementations
sourceimpl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> Clone for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Vdef: Clone,
Vss: Clone,
Tcss: Clone,
Tess: Clone,
Gss: Clone,
Fss: Clone,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> Clone for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Vdef: Clone,
Vss: Clone,
Tcss: Clone,
Tess: Clone,
Gss: Clone,
Fss: Clone,
Auto Trait Implementations
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> RefUnwindSafe for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Fss: RefUnwindSafe,
Gss: RefUnwindSafe,
Tcss: RefUnwindSafe,
Tess: RefUnwindSafe,
Vdef: RefUnwindSafe,
Vss: RefUnwindSafe,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> Send for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Fss: Send,
Gss: Send,
Tcss: Send,
Tess: Send,
Vdef: Send,
Vss: Send,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> Sync for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Fss: Sync,
Gss: Sync,
Tcss: Sync,
Tess: Sync,
Vdef: Sync,
Vss: Sync,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> Unpin for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Fss: Unpin,
Gss: Unpin,
Tcss: Unpin,
Tess: Unpin,
Vdef: Unpin,
Vss: Unpin,
impl<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> UnwindSafe for GraphicsPipelineBuilder<'vs, 'tcs, 'tes, 'gs, 'fs, Vdef, Vss, Tcss, Tess, Gss, Fss> where
Fss: UnwindSafe,
Gss: UnwindSafe,
Tcss: UnwindSafe,
Tess: UnwindSafe,
Vdef: UnwindSafe,
Vss: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more