Struct nannou::wgpu::RenderPipelineBuilder [−][src]
pub struct RenderPipelineBuilder<'a> { /* fields omitted */ }
A builder type to help simplify the construction of a RenderPipeline.
We’ve attempted to provide a suite of reasonable defaults in the case that none are provided.
Implementations
impl<'a> RenderPipelineBuilder<'a>
[src]
pub const DEFAULT_SHADER_ENTRY_POINT: &'static str
[src]
pub const DEFAULT_FRONT_FACE: FrontFace
[src]
pub const DEFAULT_CULL_MODE: CullMode
[src]
pub const DEFAULT_POLYGON_MODE: PolygonMode
[src]
pub const DEFAULT_PRIMITIVE_TOPOLOGY: PrimitiveTopology
[src]
pub const DEFAULT_PRIMITIVE: PrimitiveState
[src]
pub const DEFAULT_COLOR_FORMAT: TextureFormat
[src]
pub const DEFAULT_COLOR_BLEND: BlendState
[src]
pub const DEFAULT_ALPHA_BLEND: BlendState
[src]
pub const DEFAULT_COLOR_WRITE: ColorWrite
[src]
pub const DEFAULT_COLOR_STATE: ColorTargetState
[src]
pub const DEFAULT_DEPTH_FORMAT: TextureFormat
[src]
pub const DEFAULT_DEPTH_WRITE_ENABLED: bool
[src]
pub const DEFAULT_DEPTH_COMPARE: CompareFunction
[src]
pub const DEFAULT_STENCIL_FRONT: StencilFaceState
[src]
pub const DEFAULT_STENCIL_BACK: StencilFaceState
[src]
pub const DEFAULT_STENCIL_READ_MASK: u32
[src]
pub const DEFAULT_STENCIL_WRITE_MASK: u32
[src]
pub const DEFAULT_STENCIL: StencilState
[src]
pub const DEFAULT_DEPTH_BIAS_CONSTANT: i32
[src]
pub const DEFAULT_DEPTH_BIAS_SLOPE_SCALE: f32
[src]
pub const DEFAULT_DEPTH_BIAS_CLAMP: f32
[src]
pub const DEFAULT_DEPTH_BIAS: DepthBiasState
[src]
pub const DEFAULT_CLAMP_DEPTH: bool
[src]
pub const DEFAULT_DEPTH_STENCIL: DepthStencilState
[src]
pub const DEFAULT_SAMPLE_COUNT: u32
[src]
pub const DEFAULT_SAMPLE_MASK: u64
[src]
pub const DEFAULT_ALPHA_TO_COVERAGE_ENABLED: bool
[src]
pub const DEFAULT_MULTISAMPLE: MultisampleState
[src]
pub fn from_layout(layout: &'a PipelineLayout, vs_mod: &'a ShaderModule) -> Self
[src]
Begin building the render pipeline for the given pipeline layout and the vertex shader module.
pub fn from_layout_descriptor<T>(
layout_desc: T,
vs_mod: &'a ShaderModule
) -> Self where
T: IntoPipelineLayoutDescriptor<'a>,
[src]
layout_desc: T,
vs_mod: &'a ShaderModule
) -> Self where
T: IntoPipelineLayoutDescriptor<'a>,
Begin building the render pipeline for a pipeline with the given layout descriptor and the vertex shader module.
pub fn vertex_entry_point(self, entry_point: &'a str) -> Self
[src]
The name of the entry point in the compiled shader.
There must be a function that returns void with this name in the shader.
pub fn fragment_entry_point(self, entry_point: &'a str) -> Self
[src]
The name of the entry point in the compiled shader.
There must be a function that returns void with this name in the shader.
pub fn fragment_shader(self, fs_mod: &'a ShaderModule) -> Self
[src]
Specify a compiled fragment shader for the render pipeline.
pub fn primitive(self, p: PrimitiveState) -> Self
[src]
Specify the full primitive state.
Describes the state of primitive assembly and rasterization in a render pipeline.
pub fn front_face(self, front_face: FrontFace) -> Self
[src]
The face to consider the front for the purpose of culling and stencil operations.
pub fn cull_mode(self, cull_mode: CullMode) -> Self
[src]
The face culling mode.
pub fn primitive_topology(self, topology: PrimitiveTopology) -> Self
[src]
Specify the primitive topology.
This represents the way vertices will be read from the VertexBuffer.
pub fn polygon_mode(self, mode: PolygonMode) -> Self
[src]
Controls the way each polygon is rasterized. Can be either Fill
(default), Line
or
Point
.
Setting this to something other than Fill
requires Features::NON_FILL_POLYGON_MODE
to
be enabled.
pub fn color_state(self, state: ColorTargetState) -> Self
[src]
Specify the full color state for drawing to the output attachment.
If you have multiple output attachments, see the color_states
method.
pub fn color_format(self, format: TextureFormat) -> Self
[src]
The texture formrat of the image that this pipelinew ill render to.
Must match the format of the corresponding color attachment.
pub fn color_blend(self, blend: BlendState) -> Self
[src]
The color blending used for this pipeline.
pub fn alpha_blend(self, blend: BlendState) -> Self
[src]
The alpha blending used for this pipeline.
pub fn write_mask(self, mask: ColorWrite) -> Self
[src]
Mask which enables/disables writes to different color/alpha channel.
pub fn depth_stencil(self, state: DepthStencilState) -> Self
[src]
Specify the full depth stencil state.
pub fn depth_format(self, format: TextureFormat) -> Self
[src]
Format of the depth/stencil buffer. Must be one of the depth formats. Must match the format of the depth/stencil attachment.
pub fn depth_write_enabled(self, enabled: bool) -> Self
[src]
pub fn depth_compare(self, compare: CompareFunction) -> Self
[src]
Comparison function used to compare depth values in the depth test.
pub fn stencil(self, stencil: StencilState) -> Self
[src]
Specify the full set of stencil parameters.
pub fn stencil_front(self, stencil: StencilFaceState) -> Self
[src]
Front face mode.
pub fn stencil_back(self, stencil: StencilFaceState) -> Self
[src]
Back face mode.
pub fn stencil_read_mask(self, mask: u32) -> Self
[src]
Stencil values are AND’d with this mask when reading and writing from the stencil buffer. Only low 8 bits are used.
pub fn stencil_write_mask(self, mask: u32) -> Self
[src]
Stencil values are AND’d with this mask when writing to the stencil buffer. Only low 8 bits are used.
pub fn depth_bias(self, bias: DepthBiasState) -> Self
[src]
Specify the full set of depth bias parameters.
Describes the biasing setting for the depth target.
pub fn depth_bias_constant(self, constant: i32) -> Self
[src]
Constant depth biasing factor, in basic units of the depth format.
pub fn depth_bias_slope_scale(self, scale: f32) -> Self
[src]
Slope depth biasing factor.
pub fn depth_bias_clamp(self, clamp: f32) -> Self
[src]
Depth bias clamp value (absolute).
pub fn clamp_depth(self, b: bool) -> Self
[src]
If enabled polygon depth is clamped to 0-1 range instead of being clipped.
Requires Features::DEPTH_CLAMPING
enabled.
pub fn add_vertex_buffer_layout(self, d: VertexBufferLayout<'static>) -> Self
[src]
Add a new vertex buffer descriptor to the render pipeline.
pub fn add_vertex_buffer<V>(self, attrs: &'static [VertexAttribute]) -> Self
[src]
Short-hand for adding a descriptor to the render pipeline describing a buffer of vertices of the given vertex type.
The vertex stride is assumed to be equal to size_of::<V>()
. If this is not the case,
consider using add_vertex_buffer_layout
instead.
pub fn add_instance_buffer<I>(self, attrs: &'static [VertexAttribute]) -> Self
[src]
Short-hand for adding a descriptor to the render pipeline describing a buffer of instances of the given vertex type.
pub fn multisample(self, multisample: MultisampleState) -> Self
[src]
Specify the full multisample state.
pub fn sample_count(self, sample_count: u32) -> Self
[src]
The number of samples calculated per pixel (for MSAA).
For non-multisampled textures, this should be 1 (the default).
pub fn sample_mask(self, sample_mask: u64) -> Self
[src]
Bitmask that restricts the samples of a pixel modified by this pipeline. All samples can be enabled using the value !0 (the default).
pub fn alpha_to_coverage_enabled(self, b: bool) -> Self
[src]
When enabled, produces another sample mask per pixel based on the alpha output value, that is ANDed with the sample_mask and the primitive coverage to restrict the set of samples affected by a primitive.
The implicit mask produced for alpha of zero is guaranteed to be zero, and for alpha of one is guaranteed to be all 1-s.
Disabled by default.
pub fn build(self, device: &Device) -> RenderPipeline
[src]
Build the render pipeline layout, its descriptor and ultimately the pipeline itself with the specified parameters.
**Panic!**s in the following occur:
- A rasterization state field was specified but no fragment shader was given.
- A color state field was specified but no fragment shader was given.
Trait Implementations
impl<'a> Debug for RenderPipelineBuilder<'a>
[src]
Auto Trait Implementations
impl<'a> !RefUnwindSafe for RenderPipelineBuilder<'a>
impl<'a> Send for RenderPipelineBuilder<'a>
impl<'a> Sync for RenderPipelineBuilder<'a>
impl<'a> Unpin for RenderPipelineBuilder<'a>
impl<'a> !UnwindSafe for RenderPipelineBuilder<'a>
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
[src]
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
pub fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
pub fn adapt_into(self) -> D
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> ConvertInto<U> for T where
U: ConvertFrom<T>,
[src]
U: ConvertFrom<T>,
pub fn convert_into(self) -> U
[src]
pub fn convert_unclamped_into(self) -> U
[src]
pub fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
[src]
impl<T> Downcast<T> for T
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> SetParameter for T
pub fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,