[−][src]Struct wgpu::RenderPass
In-progress recording of a render pass.
Methods
impl<'a> RenderPass<'a>
[src]
pub fn set_bind_group(
&mut self,
index: u32,
bind_group: &'a BindGroup,
offsets: &[DynamicOffset]
)
[src]
&mut self,
index: u32,
bind_group: &'a BindGroup,
offsets: &[DynamicOffset]
)
Sets the active bind group for a given bind group index. The bind group layout
in the active pipeline when any draw()
function is called must match the layout of this bind group.
If the bind group have dynamic offsets, provide them in order of their declaration.
pub fn set_pipeline(&mut self, pipeline: &'a RenderPipeline)
[src]
Sets the active render pipeline.
Subsequent draw calls will exhibit the behavior defined by pipeline
.
pub fn set_blend_color(&mut self, color: Color)
[src]
Sets the blend color as used by some of the blending modes.
Subsequent blending tests will test against this value.
pub fn set_index_buffer(&mut self, buffer_slice: BufferSlice<'a>)
[src]
Sets the active index buffer.
Subsequent calls to draw_indexed
on this [RenderPass
] will
use buffer
as the source index buffer.
pub fn set_vertex_buffer(&mut self, slot: u32, buffer_slice: BufferSlice<'a>)
[src]
Assign a vertex buffer to a slot.
Subsequent calls to draw
and draw_indexed
on this
[RenderPass
] will use buffer
as one of the source vertex buffers.
The slot
refers to the index of the matching descriptor in
[VertexStateDescriptor::vertex_buffers
].
pub fn set_scissor_rect(&mut self, x: u32, y: u32, width: u32, height: u32)
[src]
Sets the scissor region.
Subsequent draw calls will discard any fragments that fall outside this region.
pub fn set_viewport(
&mut self,
x: f32,
y: f32,
w: f32,
h: f32,
min_depth: f32,
max_depth: f32
)
[src]
&mut self,
x: f32,
y: f32,
w: f32,
h: f32,
min_depth: f32,
max_depth: f32
)
Sets the viewport region.
Subsequent draw calls will draw any fragments in this region.
pub fn set_stencil_reference(&mut self, reference: u32)
[src]
Sets the stencil reference.
Subsequent stencil tests will test against this value.
pub fn draw(&mut self, vertices: Range<u32>, instances: Range<u32>)
[src]
Draws primitives from the active vertex buffer(s).
The active vertex buffers can be set with [RenderPass::set_vertex_buffer
].
pub fn insert_debug_marker(&mut self, label: &str)
[src]
Inserts debug marker.
pub fn push_debug_group(&mut self, label: &str)
[src]
Start record commands and group it into debug marker group.
pub fn pop_debug_group(&mut self)
[src]
Stops command recording and creates debug group.
pub fn draw_indexed(
&mut self,
indices: Range<u32>,
base_vertex: i32,
instances: Range<u32>
)
[src]
&mut self,
indices: Range<u32>,
base_vertex: i32,
instances: Range<u32>
)
Draws indexed primitives using the active index buffer and the active vertex buffers.
The active index buffer can be set with [RenderPass::set_index_buffer
], while the active
vertex buffers can be set with [RenderPass::set_vertex_buffer
].
pub fn draw_indirect(
&mut self,
indirect_buffer: &'a Buffer,
indirect_offset: BufferAddress
)
[src]
&mut self,
indirect_buffer: &'a Buffer,
indirect_offset: BufferAddress
)
Draws primitives from the active vertex buffer(s) based on the contents of the indirect_buffer
.
The active vertex buffers can be set with [RenderPass::set_vertex_buffer
].
The structure expected in indirect_buffer
is the following:
#[repr(C)] struct DrawIndirect { vertex_count: u32, // The number of vertices to draw. instance_count: u32, // The number of instances to draw. base_vertex: u32, // The Index of the first vertex to draw. base_instance: u32, // The instance ID of the first instance to draw. }
pub fn draw_indexed_indirect(
&mut self,
indirect_buffer: &'a Buffer,
indirect_offset: BufferAddress
)
[src]
&mut self,
indirect_buffer: &'a Buffer,
indirect_offset: BufferAddress
)
Draws indexed primitives using the active index buffer and the active vertex buffers,
based on the contents of the indirect_buffer
.
The active index buffer can be set with [RenderPass::set_index_buffer
], while the active
vertex buffers can be set with [RenderPass::set_vertex_buffer
].
The structure expected in indirect_buffer
is the following:
#[repr(C)] struct DrawIndexedIndirect { vertex_count: u32, // The number of vertices to draw. instance_count: u32, // The number of instances to draw. base_index: u32, // The base index within the index buffer. vertex_offset: i32, // The value added to the vertex index before indexing into the vertex buffer. base_instance: u32, // The instance ID of the first instance to draw. }
pub fn execute_bundles<I: Iterator<Item = &'a RenderBundle>>(
&mut self,
render_bundles: I
)
[src]
&mut self,
render_bundles: I
)
Trait Implementations
impl<'a> Drop for RenderPass<'a>
[src]
Auto Trait Implementations
impl<'a> !RefUnwindSafe for RenderPass<'a>
impl<'a> !Send for RenderPass<'a>
impl<'a> !Sync for RenderPass<'a>
impl<'a> Unpin for RenderPass<'a>
impl<'a> !UnwindSafe for RenderPass<'a>
Blanket Implementations
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
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>,