Module render_resource

Module render_resource 

Source

Modules§

binding_types
encase
resource_macros

Structs§

BindGroup
Bind groups are responsible for binding render resources (e.g. buffers, textures, samplers) to a TrackedRenderPass. This makes them accessible in the pipeline (shaders) as uniforms.
BindGroupDescriptor
Describes a group of bindings and the resources to be bound.
BindGroupEntries
Helper for constructing bindgroups.
BindGroupEntry
An element of a BindGroupDescriptor, consisting of a bindable resource and the slot to bind it to.
BindGroupId
BindGroupLayout
Bind group layouts define the interface of resources (e.g. buffers, textures, samplers) for a shader. The actual resource binding is done via a BindGroup.
BindGroupLayoutDescriptor
Describes a BindGroupLayout.
BindGroupLayoutEntries
BindGroupLayoutEntry
Describes a single binding inside a bind group.
BindGroupLayoutEntryBuilder
Helper for constructing bind group layouts.
BindGroupLayoutId
BindingNumber
The index of the actual binding in the bind group.
BindingResources
A pair of binding index and binding resource, used as part of PreparedBindGroup and UnpreparedBindGroup.
BindlessBufferDescriptor
Describes a bindless buffer.
BindlessDescriptor
Information about the bindless resources in this object.
BindlessIndex
The index in the bindless index table.
BindlessIndexTableDescriptor
Describes the layout of the bindless index table, which maps bindless indices to indices within the binding arrays.
Blas
Bottom Level Acceleration Structure (BLAS).
BlasBuildEntry
Builds the given sets of geometry into the given Blas.
BlasTriangleGeometry
Definition for a triangle geometry for a Bottom Level Acceleration Structure (BLAS).
BlendComponent
Describes a blend component of a BlendState.
BlendState
Describe the blend state of a render pipeline, within ColorTargetState.
Buffer
BufferAsyncError
Error occurred when trying to async map a buffer.
BufferBinding
Describes the segment of a buffer to bind.
BufferId
BufferInitDescriptor
Describes a Buffer when allocating.
BufferSlice
BufferUsages
Different ways that you can use a buffer.
BufferVec
Like RawBufferVec, but doesn’t require that the data type T be NoUninit.
CachedComputePipelineId
Index of a cached compute pipeline in a PipelineCache.
CachedPipeline
CachedRenderPipelineId
Index of a cached render pipeline in a PipelineCache.
ColorTargetState
Describes the color state of a render pipeline.
ColorWrites
Color write mask. Disabled color channels will not be written to.
CommandEncoder
Encodes a series of GPU operations.
ComputePass
In-progress recording of a compute pass.
ComputePassDescriptor
Describes the attachments of a compute pass.
ComputePipeline
A ComputePipeline represents a compute pipeline and its single shader stage.
ComputePipelineDescriptor
Describes a compute pipeline.
ComputePipelineId
DefaultImageSampler
A rendering resource for the default image sampler which is set during renderer initialization.
DepthBiasState
Describes the biasing setting for the depth target.
DepthStencilState
Describes the depth/stencil state in a render pipeline.
DispatchIndirectArgs
Argument buffer layout for dispatch_indirect commands.
DownlevelFlags
Binary flags listing features that may or may not be present on downlevel adapters.
DrawIndexedIndirectArgs
Argument buffer layout for draw_indexed_indirect commands.
DrawIndirectArgs
Argument buffer layout for draw_indirect commands.
DynamicBindGroupEntries
DynamicBindGroupLayoutEntries
DynamicStorageBuffer
Stores data to be transferred to the GPU and made accessible to shaders as a dynamic storage buffer.
DynamicUniformBuffer
Stores data to be transferred to the GPU and made accessible to shaders as a dynamic uniform buffer.
DynamicUniformBufferWriter
A writer that can be used to directly write elements into the target buffer.
Extent3d
Extent of a texture related operation.
FragmentState
Describes the fragment process in a render pipeline.
GpuArrayBufferIndex
An index into a GpuArrayBuffer for a given element.
ImageSubresourceRange
Subresource range within an image
MultisampleState
Describes the multi-sampling state of a render pipeline.
NoFragmentStateError
Operations
Pair of load and store operations for an attachment aspect.
Origin3d
Origin of a copy to/from a texture.
OwnedData
Data that will be copied into a GPU buffer.
PipelineCache
Cache for render and compute pipelines.
PipelineCompilationOptions
Advanced options for use when a pipeline is compiled
PipelineLayout
Handle to a pipeline layout.
PipelineLayoutDescriptor
Describes a PipelineLayout.
PreparedBindGroup
A prepared bind group returned as a result of AsBindGroup::as_bind_group.
PrimitiveState
Describes the state of primitive assembly and rasterization in a render pipeline.
PushConstantRange
A range of push constant memory to pass to a shader stage.
RawBufferVec
A structure for storing raw bytes that have already been properly formatted for use by the GPU.
RawComputePipelineDescriptor
Describes a compute pipeline.
RawFragmentState
Describes the fragment processing in a render pipeline.
RawRenderPipelineDescriptor
Describes a render (graphics) pipeline.
RawVertexBufferLayout
Specifies an interpretation of the bytes of a vertex buffer as vertex attributes.
RawVertexState
Describes the vertex processing in a render pipeline.
RenderPassColorAttachment
Describes a color attachment to a RenderPass.
RenderPassDepthStencilAttachment
Describes a depth/stencil attachment to a RenderPass.
RenderPassDescriptor
Describes the attachments of a render pass.
RenderPipeline
A RenderPipeline represents a graphics pipeline and its stages (shaders), bindings and vertex buffers.
RenderPipelineDescriptor
Describes a render (graphics) pipeline.
RenderPipelineId
Sampler
A Sampler defines how a pipeline will sample from a TextureView. They define image filters (including anisotropy) and address (wrapping) modes, among other things.
SamplerId
ShaderModule
Handle to a compiled shader module.
ShaderModuleDescriptor
Descriptor for use with Device::create_shader_module.
ShaderStages
Describes the shader stages that a binding will be visible from.
SpecializedComputePipelines
A convenience cache for creating different variants of a compute pipeline based on some key.
SpecializedMeshPipelines
A cache of different variants of a render pipeline based on a key and the particular mesh’s vertex buffer layout.
SpecializedRenderPipelines
A convenience cache for creating different variants of a render pipeline based on some key.
StencilFaceState
Describes stencil state in a render pipeline.
StencilState
State of the stencil operation (fixed-pipeline stage).
StorageBuffer
Stores data to be transferred to the GPU and made accessible to shaders as a storage buffer.
SurfaceTexture
TexelCopyBufferLayout
Layout of a texture in a buffer’s memory.
Texture
A GPU-accessible texture.
TextureFormatFeatureFlags
Feature flags for a texture format.
TextureFormatFeatures
Features supported by a given texture format
TextureId
TextureUsages
Different ways that you can use a texture.
TextureView
Describes a Texture with its associated metadata required by a pipeline or BindGroup.
TextureViewId
Tlas
Top Level Acceleration Structure (TLAS).
TlasInstance
Safe instance for a Tlas.
UniformBuffer
Stores data to be transferred to the GPU and made accessible to shaders as a uniform buffer.
UninitBufferVec
Like a BufferVec, but only reserves space on the GPU for elements instead of initializing them CPU-side.
UnpreparedBindGroup
a map containing OwnedBindingResources, keyed by the target binding index
Variants
A cache for variants of a resource type created by a specializer. At most one resource will be created for each key.
VertexAttribute
Vertex inputs (attributes) to shaders.
VertexState
WgpuAdapterInfo
Information about an adapter.
WgpuFeatures
Features that are not guaranteed to be supported.
WgpuLimits
Represents the sets of limits an adapter/device supports.
WgpuSampler
Handle to a sampler.
WgpuTextureView
Handle to a texture view.

Enums§

AddressMode
How edges should be handled in texture addressing.
AsBindGroupError
An error that occurs during AsBindGroup::as_bind_group calls.
AstcBlock
ASTC block dimensions
AstcChannel
ASTC RGBA channel
BindingResource
Resource to be bound by a BindGroup for use with a pipeline.
BindingType
Type of a binding in a bind group layout.
BindlessResourceType
The type of potentially-bindless resource.
BindlessSlabResourceLimit
The maximum number of resources that can be stored in a slab.
BlasGeometries
Contains the sets of geometry that go into a Blas.
BlendFactor
Alpha blend factor.
BlendOperation
Alpha blend operation.
BufferBindingType
Specific type of a buffer binding.
CachedPipelineState
State of a cached pipeline inserted into a PipelineCache.
CompareFunction
Comparison function used for depth and stencil operations.
Face
Face of a vertex.
FilterMode
Texel mixing mode when sampling between texels.
FrontFace
Vertex winding order which classifies the “front” face of a triangle.
GpuArrayBuffer
Stores an array of elements to be transferred to the GPU and made accessible to shaders as a read-only array.
IndexFormat
Format of indices used with pipeline.
LoadOp
Operation to perform to the output attachment at the start of a render pass.
MapMode
Type of buffer mapping.
OwnedBindingResource
An owned binding resource of any type (ex: a Buffer, TextureView, etc). This is used by types like PreparedBindGroup to hold a single list of all render resources used by bindings.
Pipeline
A pipeline defining the data layout and shader logic for a specific GPU task.
PipelineDescriptor
A descriptor for a Pipeline.
PolygonMode
Type of drawing mode for polygons
PrimitiveTopology
Primitive type the input mesh is composed of.
SamplerBindingType
Specific type of a sampler binding.
ShaderSource
Source of a shader module.
ShaderStage
Stage of the programmable pipeline.
SpecializedMeshPipelineError
StencilOperation
Operation to perform on the stencil value.
StorageTextureAccess
Specific type of a sample in a texture binding.
StoreOp
Operation to perform to the output attachment at the end of a render pass.
TextureAspect
Selects a subset of the data a Texture holds.
TextureDataOrder
Order in which texture data is laid out in memory.
TextureDimension
Dimensionality of a texture.
TextureFormat
Format in which a texture’s texels are stored in GPU memory.
TextureSampleType
Specific type of a sample in a texture binding.
TextureViewDimension
Dimensions of a particular texture view.
VertexFormat
Vertex Format for a VertexAttribute (input).
VertexStepMode
Whether a vertex buffer is indexed by vertex or by instance.
WgpuSamplerBindingType
Specific type of a sampler binding.
WriteBufferRangeError
Error returned when write_buffer_range fails

Constants§

AUTO_BINDLESS_SLAB_RESOURCE_LIMIT
The default value for the number of resources that can be stored in a slab on this platform.
COPY_BUFFER_ALIGNMENT
Buffer to buffer copy as well as buffer clear offsets and sizes must be aligned to this number.

Statics§

BINDING_NUMBERS
The binding numbers for the built-in binding arrays of each bindless resource type.

Traits§

AsBindGroup
Converts a value to a BindGroup with a given BindGroupLayout, which can then be used in Bevy shaders. This trait can be derived (and generally should be). Read on for details and examples.
AsBindGroupShaderType
Converts a value to a ShaderType for use in a bind group.
GpuArrayBufferable
Trait for types able to go in a GpuArrayBuffer.
IntoBindGroupLayoutEntryBuilder
IntoBindGroupLayoutEntryBuilderArray
IntoBinding
IntoBindingArray
IntoIndexedBindGroupLayoutEntryBuilderArray
IntoIndexedBindingArray
ShaderSize
Trait implemented for all WGSL fixed-footprint types
ShaderType
Base trait for all WGSL host-shareable types
Specializable
Defines a type that is able to be “specialized” and cached by creating and transforming its descriptor type. This is implemented for RenderPipeline and ComputePipeline, and likely will not have much utility for other types.
SpecializedComputePipeline
A trait that allows constructing different variants of a compute pipeline from a key.
SpecializedMeshPipeline
A trait that allows constructing different variants of a render pipeline from a key and the particular mesh’s vertex buffer layout.
SpecializedRenderPipeline
A trait that allows constructing different variants of a render pipeline from a key.
Specializer
Defines a type capable of “specializing” values of a type T.
SpecializerKey
Defines a type that is able to be used as a key for Specializers

Functions§

create_bindless_bind_group_layout_entries
Creates the bind group layout entries common to all shaders that use bindless bind groups.
empty_bind_group_layout

Type Aliases§

AccelerationStructureFlags
Flags for an acceleration structure.
AccelerationStructureGeometryFlags
Flags for a geometry inside a bottom level acceleration structure.
AccelerationStructureUpdateMode
Update mode for acceleration structure builds.
BlasGeometrySizeDescriptors
Descriptor for the size defining attributes, for a bottom level acceleration structure.
BlasTriangleGeometrySizeDescriptor
Descriptor for the size defining attributes of a triangle geometry, for a bottom level acceleration structure.
BufferAddress
Integral type used for Buffer offsets and sizes.
BufferDescriptor
Describes a Buffer.
BufferSize
Integral type used for BufferSlice sizes.
Canonical
CommandEncoderDescriptor
Describes a CommandEncoder.
CreateBlasDescriptor
Descriptor to create bottom level acceleration structures.
CreateTlasDescriptor
Descriptor to create top level acceleration structures.
PollType
Passed to Device::poll to control how and if it should block.
SamplerDescriptor
Describes a Sampler.
TexelCopyBufferInfo
View of a buffer which can be used to copy to/from a texture.
TexelCopyTextureInfo
View of a texture which can be used to copy to/from a buffer/texture.
TextureDescriptor
Describes a Texture.
TextureViewDescriptor
Describes a TextureView.

Derive Macros§

AsBindGroup
ShaderType
Specializer
Derive macro generating an impl of the trait Specializer
SpecializerKey
Derive macro generating the most common impl of the trait SpecializerKey