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

A type aimed at simplifying the construction of a Texture.

The builder assumes a set of defaults describing a 128x128, non-multisampled, single-layer, non-linear sRGBA-8 texture. A suite of builder methods may be used to specify the exact properties desired.

Implementations§

source§

impl TextureBuilder

source

pub const REQUIRED_IMAGE_TEXTURE_USAGE: TextureUsages = wgpu::TextureUsages::COPY_DST

The minimum required texture usage when loading from an image.

source

pub fn from_image_view<T>(image_view: &T) -> Self
where T: GenericImageView, T::Pixel: Pixel,

Produce a texture descriptor from an image.

Specifically, this supports any image type implementing image::GenericImageView whose Pixel type implements Pixel.

By default, the produced builder will have the wgpu::TextureUsages returned by wgpu::TextureBuilder::default_image_texture_usage(). This is a general-purpose usage that should allow for copying to and from the texture, sampling the texture and rendering to the texture. Specifying only the texture usage required may result in better performance. It may be necessary to manually specify the the usage if STORAGE is required.

source

pub fn default_image_texture_usage() -> TextureUsages

The default texture usage for the case where a user has loaded a texture from an image.

source§

impl Builder

source

pub const DEFAULT_SIDE: u32 = 128u32

source

pub const DEFAULT_DEPTH: u32 = 1u32

source

pub const DEFAULT_SIZE: Extent3d = _

source

pub const DEFAULT_ARRAY_LAYER_COUNT: u32 = 1u32

source

pub const DEFAULT_MIP_LEVEL_COUNT: u32 = 1u32

source

pub const DEFAULT_SAMPLE_COUNT: u32 = 1u32

source

pub const DEFAULT_DIMENSION: TextureDimension = wgpu::TextureDimension::D2

source

pub const DEFAULT_FORMAT: TextureFormat = wgpu::TextureFormat::Rgba8Unorm

source

pub const DEFAULT_USAGE: TextureUsages = _

source

pub const DEFAULT_DESCRIPTOR: TextureDescriptor<'static> = _

source

pub fn new() -> Self

Creates a new Default builder

source

pub fn size(self, [width, height]: [u32; 2]) -> Self

Specify the width and height of the texture.

Note: On calls to size, depth and extent the Builder will attempt to infer the wgpu::TextureDimension of its inner wgpu::TextureDescriptor by examining its size field. Use TextureBuilder::dimension() to override this behavior.

source

pub fn depth(self, depth: u32) -> Self

Specify the depth of the texture.

Note: On calls to size, depth and extent the Builder will attempt to infer the wgpu::TextureDimension of its inner wgpu::TextureDescriptor by examining its size field. Use TextureBuilder::dimension() to override this behavior.

source

pub fn extent(self, extent: Extent3d) -> Self

Specify the width, height and depth of the texture.

Note: On calls to size, depth and extent the Builder will attempt to infer the wgpu::TextureDimension of its inner wgpu::TextureDescriptor by examining its size field. Use TextureBuilder::dimension() to override this behavior.

source

pub fn dimension(self, dimension: TextureDimension) -> Self

Specify the dimension of the texture, overriding inferred dimension.

Mainly useful for creating 2d texture arrays – override dimension with wgpu::TextureDimension::D2 on a texture with extent.depth > 1 in order to create a texture array (/ cubemap / cubemap array) instead of a 3d texture.

source

pub fn mip_level_count(self, count: u32) -> Self

Specify the number of mip levels of the texture.

source

pub fn sample_count(self, count: u32) -> Self

Specify the number of samples per pixel in the case that the texture is multisampled.

source

pub fn format(self, format: TextureFormat) -> Self

Specify the texture format.

source

pub fn usage(self, usage: TextureUsages) -> Self

Describes to the implementation how the texture is to be used.

It is important that the set of usage bits reflects the

source

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

Build the texture resulting from the specified parameters with the given device.

source

pub fn into_descriptor(self) -> TextureDescriptor<'static>

Consumes the builder and returns the resulting wgpu::TextureDescriptor.

Trait Implementations§

source§

impl Debug for Builder

source§

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

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

impl Default for Builder

source§

fn default() -> Self

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

impl From<TextureDescriptor<Option<&'static str>, &'static [TextureFormat]>> for Builder

source§

fn from(descriptor: TextureDescriptor<'static>) -> Self

Converts to this type from the input type.
source§

impl Into<TextureDescriptor<Option<&'static str>, &'static [TextureFormat]>> for Builder

source§

fn into(self) -> TextureDescriptor<'static>

Converts this type into the (usually inferred) input type.

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,