pub struct RayTracingPipelineDescriptor<'a, Pl: DynPipelineLayout + ?Sized, M: DynShaderModule + ?Sized, Pc: DynPipelineCache + ?Sized> {
pub label: Label<'a>,
pub layout: &'a Pl,
pub ray_generation: ProgrammableStage<'a, M>,
pub miss: ProgrammableStage<'a, M>,
pub intersection: &'a [RayObjectIntersectionState<'a, M>],
pub max_recursion_depth: u32,
pub cache: Option<&'a Pc>,
}Expand description
Describes a ray tracing pipeline.
Fields§
§label: Label<'a>§layout: &'a PlThe layout of bind groups for this pipeline.
ray_generation: ProgrammableStage<'a, M>The ray generation stage.
miss: ProgrammableStage<'a, M>The miss stage.
intersection: &'a [RayObjectIntersectionState<'a, M>]All the object intersection stages.
max_recursion_depth: u32The maximum recursion depth allowed for the ray tracing (ray_generation shader counts as depth 0).
cache: Option<&'a Pc>The cache which will be used and filled when compiling this pipeline
Trait Implementations§
Source§impl<'a, Pl: Clone + DynPipelineLayout + ?Sized, M: Clone + DynShaderModule + ?Sized, Pc: Clone + DynPipelineCache + ?Sized> Clone for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl: Clone + DynPipelineLayout + ?Sized, M: Clone + DynShaderModule + ?Sized, Pc: Clone + DynPipelineCache + ?Sized> Clone for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
Source§fn clone(&self) -> RayTracingPipelineDescriptor<'a, Pl, M, Pc>
fn clone(&self) -> RayTracingPipelineDescriptor<'a, Pl, M, Pc>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, Pl: Debug + DynPipelineLayout + ?Sized, M: Debug + DynShaderModule + ?Sized, Pc: Debug + DynPipelineCache + ?Sized> Debug for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl: Debug + DynPipelineLayout + ?Sized, M: Debug + DynShaderModule + ?Sized, Pc: Debug + DynPipelineCache + ?Sized> Debug for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
Auto Trait Implementations§
impl<'a, Pl, M, Pc> Freeze for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> RefUnwindSafe for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Send for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Sync for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Unpin for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> UnsafeUnpin for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> UnwindSafe for RayTracingPipelineDescriptor<'a, Pl, M, Pc>
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
Mutably borrows from an owned value. Read more