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() -> Self

Begin building the bind group layout.

source

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

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 ) -> Self

Add a uniform buffer binding to the layout.

source

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

Add a storage buffer binding to the layout.

source

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

Add a sampler binding to the layout.

source

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

Add a sampler binding to the layout.

source

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

Add a texture binding to the layout.

source

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

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 ) -> Self

Add a storage texture binding to the layout.

source

pub fn storage_texture_from( self, visibility: ShaderStages, 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.

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

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<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
§

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<T> WasmNotSend for T
where T: Send,

§

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