Module nannou::wgpu[][src]

Expand description

Items related to wgpu and its integration in nannou!

WebGPU is the portable graphics specification that nannou targets allowing us to write code that is both fast and allows us to target a wide range of platforms. wgpu is the name of the crate we use that implements this specification.

This module re-exports the entire wgpu crate along with all of its documentation while also adding some additional items that makes wgpu easier to use alongside nannou.

Useful links:

Modules

A set of useful descriptors for blending colours!

The functions within this module use unsafe in order to retrieve their input as a slice of bytes. This is necessary in order to upload data to the GPU via the wgpu DeviceExt::create_buffer_init buffer constructor. This method is unsafe as the type T may contain padding which is considered to be uninitialised memory in Rust and may potentially lead to undefined behaviour.

Utility structures and functions.

Macros

Macro to produce an array of VertexAttribute.

Structs

A single active adapter and its map of connected devices.

Handle to a physical graphics and/or compute device.

Information about an adapter.

A map from RequestAdapterOptions to active adapters.

The key into the adapter map.

Represents the backends that wgpu will use.

Handle to a binding group.

Simplified creation of a bind group.

Describes a group of bindings and the resources to be bound.

Bindable resource and the slot to bind it to.

Handle to a binding group layout.

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

Describes a BindGroupLayout.

Describes a single binding inside a bind group.

Describes the blend component of a pipeline.

Describe the blend state of a render pipeline.

Handle to a GPU-accessible buffer.

Error occurred when trying to async map a buffer.

Describes a Buffer when allocating.

Slice into a Buffer.

Different ways that you can use a buffer.

Read only view into a mapped buffer.

Write only view into mapped buffer.

RGBA double precision color.

Describes the color state of a render pipeline.

Color write mask. Disabled color channels will not be written to.

Handle to a command buffer on the GPU.

Describes a [CommandBuffer].

Encodes a series of GPU operations.

In-progress recording of a compute pass.

Describes the attachments of a compute pass.

Handle to a compute pipeline.

Describes a compute pipeline.

Describes the biasing setting for the depth target.

Describes the depth/stencil state in a render pipeline.

Open connection to a graphics and/or compute device.

A map of actively connected devices for an adapter.

The key into the device map.

A handle to a connected logical device and its associated queue.

Extent of a texture related operation.

Features that are not guaranteed to be supported.

Describes the fragment process in a render pipeline.

View of a buffer which can be used to copy to/from a texture.

View of a texture which can be used to copy to/from a buffer/texture.

Layout of a texture in a buffer’s memory.

Workaround for the fact that image::SubImage requires a Deref impl on the wrapped image.

A wrapper around a slice of bytes representing an image.

Context for all other wgpu objects. Instance of wgpu.

Represents the sets of limits an adapter/device supports.

Describes the multi-sampling state of a render pipeline.

Pair of load and store operations for an attachment aspect.

Origin of a copy to/from a texture.

Handle to a pipeline layout.

Describes a pipeline layout.

Flags for which pipeline data should be recorded.

Describes the state of primitive assembly and rasterization in a render pipeline.

A range of push constant memory to pass to a shader stage.

Handle to a query set.

Describes how to create a QuerySet.

Handle to a command queue on a device.

Pre-prepared reusable bundle of GPU operations.

Encodes a series of GPU operations into a reusable “render bundle”.

Describes a RenderBundleEncoder.

In-progress recording of a render pass.

A builder type to simplify the process of creating a render pass descriptor.

Describes a color attachment to a RenderPass.

A builder type to simplify the process of creating a render pass descriptor.

Describes a depth/stencil attachment to a RenderPass.

Describes the attachments of a render pass.

Handle to a rendering (graphics) pipeline.

A builder type to help simplify the construction of a RenderPipeline.

Describes a render (graphics) pipeline.

Options for requesting adapter.

Requesting a device failed.

A wrapper around a wgpu buffer suitable for copying to and from Textures. Automatically handles the padding necessary for buffer-to-texture and texture-to-buffer copies.

Handle to a sampler.

Simplifies the construction of a Sampler with a set of reasonable defaults.

Describes a Sampler

Flags controlling the shader processing.

Handle to a compiled shader module.

Descriptor for a shader module.

Describes the shader stages that a binding will be visible from.

Describes stencil state in a render pipeline.

State of the stencil operation (fixed-pipeline stage).

Handle to a presentable surface.

Handle to a swap chain.

Describes a [SwapChain].

Result of a successful call to SwapChain::get_current_frame.

Swap chain image that can be rendered to.

A snapshot captured by a Capturer.

A convenient wrapper around a handle to a texture on the GPU along with its descriptor.

A type aimed at simplifying the construction of a Texture.

A type dedicated to capturing a texture as a non-linear sRGBA image that can be read on the CPU.

An error indicating that the threadpool timed out while waiting for a worker to become available.

Handle to a texture on the GPU.

A unique identifier associated with a Texture.

Reshapes a texture from its original size, sample_count and format to the destination size, sample_count and format.

Different ways that you can use a texture.

A convenient wrapper around a handle to a texture view along with its descriptor.

Describes a TextureView.

Handle to a texture view.

A unique identifier associated with a TextureView.

Vertex inputs (attributes) to shaders.

Describes how the vertex buffer is interpreted.

Describes the vertex process in a render pipeline.

Enums

How edges should be handled in texture addressing.

Backends supported by wgpu.

Resource that can be bound to a pipeline.

Specific type of a binding.

Alpha blend factor.

Alpha blend operation.

Specific type of a buffer binding.

Comparison function used for depth and stencil operations.

Supported physical device types.

Error type

Face of a vertex.

Texel mixing mode when sampling between texels.

Winding order which classifies the “front” face.

Format of indices used with pipeline.

Rate that determines when vertex data is advanced.

Operation to perform to the output attachment at the start of a renderpass.

Passed to Device::poll to control if it should block or not. This has no effect on the web.

Type of buffer mapping.

Type of drawing mode for polygons

Power Preference when choosing a physical adapter.

Behavior of the presentation engine based on frame rate.

Primitive type the input mesh is composed of.

Type of query contained in a QuerySet.

Color variation to use when sampler addressing mode is AddressMode::ClampToBorder

Source of a shader module.

Operation to perform on the stencil value.

Specific type of a sample in a texture binding.

Result of an unsuccessful call to SwapChain::get_current_frame.

Status of the recieved swapchain image.

Kind of data the texture holds.

Dimensionality of a texture.

Underlying texture data format.

Specific type of a sample in a texture binding.

Dimensions of a particular texture view.

Vertex Format for a Vertex Attribute (input).

Constants

Bound uniform/storage buffer offsets must be aligned to this number.

Buffer to buffer copy as well as buffer clear offsets and sizes must be aligned to this number.

Buffer-Texture copies must have bytes_per_row aligned to this number.

Nannou’s default WGPU backend preferences.

The default power preference used for requesting the WGPU adapter.

Alignment all push constants need

Traits

Types that can produce a texture view.

Type for the callback of uncaptured error handler

Functions

Adds a simple render pass command to the given encoder that simply clears the given texture with the given colour.

Shorthand for creating the pipeline layout from a slice of bind group layouts.

The default device descriptor used to instantiate a logical device when creating windows.

Returns true if the given wgpu::Extent3ds are equal.

Adds a simple render pass command to the given encoder that resolves the given multisampled src_texture to the given non-multisampled dst_texture.

Whether or not the sampler descriptor describes a sampler that might perform linear filtering.

Returns true if the given texture descriptors are equal.

Convert the given color type from the image crate to the corresponding wgpu texture format.

Return the size of the given texture format in bytes.

Type Definitions

Integral type used for buffer offsets.

Describes a Buffer.

Integral type used for buffer slice sizes.

Describes a CommandEncoder.

Describes a Device.

Integral type used for dynamic bind group offsets.

View of a buffer which can be used to copy to/from a texture.

View of a texture which can be used to copy to/from a buffer/texture.

Object label.

Describes a RenderBundle.

Additional information required when requesting an adapter.

Integral type used for binding locations in shaders.

Describes a Texture.