Struct nannou::wgpu::BindGroupLayoutBuilder [−][src]
pub struct BindGroupLayoutBuilder { /* fields omitted */ }
A type aimed at simplifying the creation of a bind group layout.
Implementations
impl LayoutBuilder
[src]
pub fn new() -> Self
[src]
Begin building the bind group layout.
pub fn binding(self, visibility: ShaderStage, ty: BindingType) -> Self
[src]
Specify a new binding.
The binding
position of each binding will be inferred as the index within the order that
they are added to this builder type. If you require manually specifying the binding
location, you may be better off not using the BindGroupLayoutBuilder
and instead
constructing the BindGroupLayout
and BindGroup
manually.
pub fn uniform_buffer(
self,
visibility: ShaderStage,
has_dynamic_offset: bool
) -> Self
[src]
self,
visibility: ShaderStage,
has_dynamic_offset: bool
) -> Self
Add a uniform buffer binding to the layout.
pub fn storage_buffer(
self,
visibility: ShaderStage,
has_dynamic_offset: bool,
read_only: bool
) -> Self
[src]
self,
visibility: ShaderStage,
has_dynamic_offset: bool,
read_only: bool
) -> Self
Add a storage buffer binding to the layout.
pub fn sampler(self, visibility: ShaderStage, filtering: bool) -> Self
[src]
Add a sampler binding to the layout.
pub fn comparison_sampler(
self,
visibility: ShaderStage,
filtering: bool
) -> Self
[src]
self,
visibility: ShaderStage,
filtering: bool
) -> Self
Add a sampler binding to the layout.
pub fn texture(
self,
visibility: ShaderStage,
multisampled: bool,
view_dimension: TextureViewDimension,
sample_type: TextureSampleType
) -> Self
[src]
self,
visibility: ShaderStage,
multisampled: bool,
view_dimension: TextureViewDimension,
sample_type: TextureSampleType
) -> Self
Add a texture binding to the layout.
pub fn texture_from(self, visibility: ShaderStage, texture: &Texture) -> Self
[src]
Short-hand for adding a texture binding for a full view of the given texture to the layout.
The multisampled
and dimension
parameters are retrieved from the Texture
itself.
Note that if you wish to take a Cube
or CubeArray
view of the given texture, you will
need to manually specify the TextureViewDimension
via the sampled_texture
method
instead.
pub fn storage_texture(
self,
visibility: ShaderStage,
format: TextureFormat,
view_dimension: TextureViewDimension,
access: StorageTextureAccess
) -> Self
[src]
self,
visibility: ShaderStage,
format: TextureFormat,
view_dimension: TextureViewDimension,
access: StorageTextureAccess
) -> Self
Add a storage texture binding to the layout.
pub fn storage_texture_from(
self,
visibility: ShaderStage,
texture: &Texture,
access: StorageTextureAccess
) -> Self
[src]
self,
visibility: ShaderStage,
texture: &Texture,
access: StorageTextureAccess
) -> Self
Short-hand for adding a storage texture binding for a full view of the given texture to the layout.
The format
, dimension
and sample_type
are inferred from the given texture
.
pub fn build(self, device: &Device) -> BindGroupLayout
[src]
Build the bind group layout from the specified parameters.
Trait Implementations
impl Debug for LayoutBuilder
[src]
impl Default for LayoutBuilder
[src]
fn default() -> LayoutBuilder
[src]
Auto Trait Implementations
impl RefUnwindSafe for LayoutBuilder
impl Send for LayoutBuilder
impl Sync for LayoutBuilder
impl Unpin for LayoutBuilder
impl UnwindSafe for LayoutBuilder
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>,