pub struct RenderPipelineDescriptor {Show 13 fields
pub label: &'static str,
pub vert: Option<Handle<Shader>>,
pub frag: Option<Handle<Shader>>,
pub depth: DepthDescriptor,
pub render_targets: Option<Vec<TextureFormat>>,
pub bind_group_layouts: Vec<Option<BindGroupLayout>>,
pub push_constants: Vec<PushConstantDescriptor>,
pub topology: RenderTopology,
pub cull_mode: Option<Face>,
pub fragment_blend: Option<BlendState>,
pub color_write: ColorWrites,
pub sample_count: u32,
pub vertex_buffer: bool,
}Expand description
Describes a render pipeline, including its shaders, resources and states.
Fields§
§label: &'static str§vert: Option<Handle<Shader>>§frag: Option<Handle<Shader>>§depth: DepthDescriptorDepth/stencil state for the pipeline.
render_targets: Option<Vec<TextureFormat>>Formats of the render targets this pipeline will render to. If None, the pipeline will render to the swapchain format.
bind_group_layouts: Vec<Option<BindGroupLayout>>Bind group layouts describing all resource bindings.
push_constants: Vec<PushConstantDescriptor>Push constant ranges exposed to shaders.
topology: RenderTopologyPrimitive topology (default: TriangleList).
cull_mode: Option<Face>Face culling mode (default: Back). None disables culling.
fragment_blend: Option<BlendState>Blend state for the fragment shader (default: None, i.e. no blending).
color_write: ColorWritesColor write mask for fragment outputs (default: all channels). This enable you to disable writing to certain color channels.
sample_count: u32The sample count for multisampling (default: 1).
vertex_buffer: boolWhether the pipeline should expect a vertex buffer. Useful for pipelines that render fullscreen quads without vertex buffers (default: true).
Trait Implementations§
Source§impl Clone for RenderPipelineDescriptor
impl Clone for RenderPipelineDescriptor
Source§fn clone(&self) -> RenderPipelineDescriptor
fn clone(&self) -> RenderPipelineDescriptor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for RenderPipelineDescriptor
impl Default for RenderPipelineDescriptor
impl Resource for RenderPipelineDescriptor
Auto Trait Implementations§
impl Freeze for RenderPipelineDescriptor
impl !RefUnwindSafe for RenderPipelineDescriptor
impl Send for RenderPipelineDescriptor
impl Sync for RenderPipelineDescriptor
impl Unpin for RenderPipelineDescriptor
impl UnsafeUnpin for RenderPipelineDescriptor
impl !UnwindSafe for RenderPipelineDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more