pub struct BindGroupLayoutBuilder { /* private fields */ }
Expand description

A type aimed at simplifying the creation of a bind group layout.

Implementations§

source§

impl LayoutBuilder

source

pub fn new() -> LayoutBuilder

Begin building the bind group layout.

source

pub fn binding(self, visibility: ShaderStages, ty: BindingType) -> LayoutBuilder

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.

source

pub fn uniform_buffer( self, visibility: ShaderStages, has_dynamic_offset: bool ) -> LayoutBuilder

Add a uniform buffer binding to the layout.

source

pub fn storage_buffer( self, visibility: ShaderStages, has_dynamic_offset: bool, read_only: bool ) -> LayoutBuilder

Add a storage buffer binding to the layout.

source

pub fn sampler(self, visibility: ShaderStages, filtering: bool) -> LayoutBuilder

Add a sampler binding to the layout.

source

pub fn comparison_sampler(self, visibility: ShaderStages) -> LayoutBuilder

Add a sampler binding to the layout.

source

pub fn texture( self, visibility: ShaderStages, multisampled: bool, view_dimension: TextureViewDimension, sample_type: TextureSampleType ) -> LayoutBuilder

Add a texture binding to the layout.

source

pub fn texture_from( self, visibility: ShaderStages, texture: &Texture ) -> LayoutBuilder

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.

source

pub fn storage_texture( self, visibility: ShaderStages, format: TextureFormat, view_dimension: TextureViewDimension, access: StorageTextureAccess ) -> LayoutBuilder

Add a storage texture binding to the layout.

source

pub fn storage_texture_from( self, visibility: ShaderStages, texture: &Texture, access: StorageTextureAccess ) -> LayoutBuilder

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.

source

pub fn build(self, device: &Device) -> BindGroupLayout

Build the bind group layout from the specified parameters.

Trait Implementations§

source§

impl Debug for LayoutBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for LayoutBuilder

source§

fn default() -> LayoutBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Component + Float, Swp: WhitePoint, Dwp: WhitePoint, D: AdaptFrom<S, Swp, Dwp, T>,

source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<Swp, Dwp, T>,

Convert the source color to the destination color using the specified method
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default
source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> ConvertInto<U> for T
where U: ConvertFrom<T>,

source§

fn convert_into(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

fn convert_unclamped_into(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
source§

fn try_convert_into(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSync for T
where T: Sync,