Skip to main content

Module material_bind_groups

Module material_bind_groups 

Source
Expand description

Material bind group management for bindless resources.

In bindless mode, Bevy’s renderer groups materials into bind groups. This allocator manages each bind group, assigning slots to materials as appropriate.

Structs§

FallbackBindlessResources
Dummy instances of various resources that we fill unused slots in binding arrays with.
FallbackBuffer
A dummy buffer that substitutes for a shader buffer if that shader buffer points to an invalid buffer.
MaterialBindGroupAllocators
A resource that places materials into bind groups and tracks their resources.
MaterialBindGroupBindlessAllocator
The allocator that places bindless materials into bind groups and tracks their resources.
MaterialBindGroupIndex
The index of each material bind group.
MaterialBindGroupNonBindlessAllocator
The allocator that stores bind groups for non-bindless materials.
MaterialBindGroupPlugin
A Plugin that provides the material bind group allocator.
MaterialBindGroupSlot
The index of the slot containing material data within each material bind group.
MaterialBindingId
The location of a material (either bindless or non-bindless) within the slabs.
MaterialBindlessSlab
A single bind group and the bookkeeping necessary to allocate into it.
MaterialSlab
The public interface to a slab, which represents a single bind group.
RenderMaterialBindings
A resource that maps each untyped material ID to its binding.

Enums§

MaterialBindGroupAllocator
The allocator that manages a specific material.

Functions§

material_uses_bindless_resources
Returns true if the material will actually use bindless resources or false if it won’t.
prepare_material_bind_groups
Creates and/or recreates any bind groups that contain materials that were modified this frame.
write_material_bind_group_buffers
Uploads the contents of all buffers that the MaterialBindGroupAllocator manages to the GPU.