Skip to main content

Crate bevy_shader_plugin

Crate bevy_shader_plugin 

Source

Modules§

prelude

Macros§

fragment_layout
Build a BindGroupLayoutDescriptor with sequential fragment-stage bindings.

Structs§

ArrayBufferChanges
Main-world resource for queuing index-value changes to a fixed-size array buffer.
ArrayBufferState
Render-world resource holding the persistent GPU buffer and element stride.
AutoBufferBindGroups
Assembled bind groups for all auto-managed buffers, keyed by WGSL group index.
AutoBufferCompiledLayouts
Compiled BindGroupLayout per group, populated at startup.
AutoBufferLayoutDescriptors
Layout descriptors for every auto-managed group, in group order, populated at startup.
AutoBufferLayouts
(group → binding → kind) for all auto-managed buffers.
BindingTable
Persistent (group, binding) → GPU resource table for all auto-managed bindings.
ComputePasses
Main-world control over the compute passes.
ComputeShaderPlugin
Bevy plugin that runs compute shader passes once per frame, before any camera renders.
FragmentBindGroupBuilder
Fluent builder for creating a single extra bind group.
FragmentExtraBindGroups
Per-frame bind groups for manual extra groups.
FragmentExtraLayouts
Bind group layout descriptors for the manual extra bind groups.
FullscreenFragmentPlugin
Bevy plugin that wires up a fullscreen fragment shader pipeline.
FullscreenPipeline
Render-world resource created by init_pipeline.
FullscreenPipelineConfig
Inserted during Plugin::build so init_pipeline can read the shader path and entry point.
GpuBuffer
Main-world handle to a GPU-owned buffer registered with register_gpu_buffer.
GpuReadback
The most recent CPU copy of an array buffer or GPU buffer, decoded into T values.
StorageReadback
The most recent CPU copy of a storage buffer, decoded as the registered resource type S (which may itself contain arrays).
Workgroups
How many workgroups a compute pass dispatches.

Enums§

AutoBufferKind
Whether a registered auto-managed buffer is a uniform or a storage buffer.
BoundResource
A GPU resource bound at one (group, binding) slot.
FragmentSystems
System set label for the pipeline initialisation system so users can order their static-resource init systems before it.
ReadbackMode
When a read-back buffer is copied to the CPU.
ShaderPassSystems
System sets for the GPU passes this crate records, so your own render systems can be ordered around them.
ShaderSystems
System sets for the binding machinery shared by the fragment and compute plugins.

Traits§

ShaderAppExt
Extension methods on App for registering buffers shared by the fullscreen fragment shader and the compute shader.

Functions§

fullscreen_pass
The render system that draws the fullscreen fragment shader for each 3D camera. It runs in the Core3d schedule, in ShaderPassSystems::Fullscreen, just before the main pass.