Crate pbr Copy item path Source deferred environment_map Environment maps and reflection probes. graph irradiance_volume Irradiance volumes, also known as voxel global illumination. prelude The PBR prelude. wireframe AmbientLight An ambient light, which lights the entire scene equally. AtomicMaterialBindGroupId An atomic version of MaterialBindGroupId
that can be read from and written to
safely from multiple threads. Cascade CascadeShadowConfig Controls how cascaded shadow mapping works.
Prefer using CascadeShadowConfigBuilder
to construct an instance. CascadeShadowConfigBuilder Builder for CascadeShadowConfig
. Cascades CascadesVisibleEntities ClusterZConfig Configure the depth-slicing strategy for clustered forward rendering Clusters CubemapVisibleEntities DefaultOpaqueRendererMethod Default render method used for opaque materials. DirectionalLight A Directional light. DirectionalLightBundle Deprecated A component bundle for DirectionalLight
entities. DirectionalLightShadowMap Controls the resolution of DirectionalLight
shadow maps. DistanceFog Configures the “classic” computer graphics distance fog effect,
in which objects appear progressively more covered in atmospheric haze the further away they are from the camera.
Affects meshes rendered via the PBR StandardMaterial
. DrawMesh EnvironmentMapUniform The uniform struct extracted from EnvironmentMapLight
.
Will be available for use in the Environment Map shader. EnvironmentMapUniformBuffer A GPU buffer that stores the environment map settings for each view. ExtendedMaterial A material that extends a base Material
with additional shaders and data. ExtractMeshesSet A SystemSet
that encompasses both extract_meshes_for_cpu_building
and extract_meshes_for_gpu_building
. ExtractedClusterConfig ExtractedClusterableObjects ExtractedDirectionalLight ExtractedPointLight FogMeta Metadata for fog FogPlugin A plugin that consolidates fog extraction, preparation and related resources/assets FogVolume FogVolumeBundle Deprecated A convenient Bundle
that contains all components necessary to generate a
fog volume. GlobalClusterableObjectMeta GlobalVisibleClusterableObjects GpuClusterableObject GpuClusterableObjectsStorage GpuClusterableObjectsUniform GpuDirectionalCascade GpuDirectionalLight GpuFog The GPU-side representation of the fog configuration that’s sent as a uniform to the shader GpuLights GpuMeshPreprocessPlugin A plugin that builds mesh uniforms on GPU. GpuPreprocessNode The render node for the mesh uniform building pass. LightMeta LightProbe A marker component for a light probe, which is a cuboid region that provides
global illumination to all fragments inside it. LightProbePlugin Adds support for light probes: cuboid bounding regions that apply global
illumination to objects within them. LightProbesBuffer A GPU buffer that stores information about all light probes. LightProbesUniform A per-view shader uniform that specifies all the light probes that the view
takes into account. LightViewEntities Component automatically attached to a light entity to track light-view entities
for each view. Lightmap A component that applies baked indirect diffuse global illumination from a
lightmap. LightmapPlugin A plugin that provides an implementation of lightmaps. MaterialBindGroupId MaterialExtensionKey MaterialExtensionPipeline MaterialMeshBundle Deprecated A component bundle for entities with a Mesh3d
and a MeshMaterial3d
. MaterialPipeline Render pipeline data for a given Material
. MaterialPipelineKey A key uniquely identifying a specialized MaterialPipeline
. MaterialPlugin Adds the necessary ECS resources and render logic to enable rendering entities using the given Material
asset type. MaterialProperties Common Material
properties, calculated for a specific material instance. MeshBindGroupPair MeshBindGroups Bind groups for meshes currently loaded. MeshCullingData Information about each mesh instance needed to cull it on GPU. MeshCullingDataBuffer A GPU buffer that holds the information needed to cull meshes on GPU. MeshFlags Various flags and tightly-packed values on a mesh. MeshInputUniform Information that has to be transferred from CPU to GPU in order to produce
the full MeshUniform
. MeshLayouts All possible BindGroupLayout
s in bevy’s default mesh shader (mesh.wgsl
). MeshMaterial3d A material used for rendering a Mesh3d
. MeshPipeline All data needed to construct a pipeline for rendering 3D meshes. MeshPipelineKey MSAA uses the highest 3 bits for the MSAA log2(sample count) to support up to 128x MSAA. MeshPipelineViewLayout MeshPipelineViewLayoutKey A key that uniquely identifies a MeshPipelineViewLayout
. MeshPipelineViewLayouts Stores the view layouts for every combination of pipeline keys. MeshRenderPlugin Provides support for rendering 3D meshes. MeshTransforms MeshUniform MeshViewBindGroup NotShadowCaster Add this component to make a Mesh3d
not cast shadows. NotShadowReceiver Add this component to make a Mesh3d
not receive shadows. PbrPlugin Sets up the entire PBR infrastructure of bevy. PbrProjectionPlugin CameraProjection
specific PBR functionality.PointLight A light that emits light in all directions from a central point. PointLightBundle Deprecated A component bundle for PointLight
entities. PointLightShadowMap PreparedMaterial Data prepared for a Material
instance. PrepassPipeline PrepassPipelinePlugin Sets up everything required to use the prepass pipeline. PrepassPlugin Sets up the prepasses for a Material
. PrepassViewBindGroup PreprocessBindGroup The compute shader bind group for the mesh uniform building pass. PreprocessPipeline The pipeline for the GPU mesh preprocessing shader. PreprocessPipelineKey Specifies variants of the mesh preprocessing shader. PreprocessPipelines The compute shader pipelines for the mesh uniform building pass. PreviousGlobalTransform RenderCascadesVisibleEntities RenderCubemapVisibleEntities RenderLightmaps Stores data for all lightmaps in the render world. RenderMaterialInstances Stores all extracted instances of a Material
in the render world. RenderMeshInstanceCpu CPU data that the render world keeps for each entity, when not using GPU
mesh uniform building. RenderMeshInstanceFlags Various useful flags for [RenderMeshInstance
]s. RenderMeshInstanceGpu CPU data that the render world needs to keep for each entity that contains a
mesh when using GPU mesh uniform building. RenderMeshInstanceGpuBuilder Information that is gathered during the parallel portion of mesh extraction
when GPU mesh uniform building is enabled. RenderMeshInstanceGpuQueues The per-thread queues containing mesh instances, populated during the
extract phase. RenderMeshInstanceShared CPU data that the render world needs to keep about each entity that contains
a mesh. RenderMeshInstancesCpu Information that the render world keeps about each entity that contains a
mesh, when using CPU mesh instance data building. RenderMeshInstancesGpu Information that the render world keeps about each entity that contains a
mesh, when using GPU mesh instance data building. RenderMeshQueueData Data that crate::material::queue_material_meshes
and similar systems
need in order to place entities that contain meshes in the right batch. RenderViewLightProbes A component, part of the render world, that stores the mapping from asset ID
or IDs to the texture index in the appropriate binding arrays. RenderVisibleMeshEntities ScreenSpaceAmbientOcclusion Component to apply screen space ambient occlusion to a 3d camera. ScreenSpaceAmbientOcclusionBundle Deprecated Bundle to apply screen space ambient occlusion. ScreenSpaceAmbientOcclusionPlugin Plugin for screen space ambient occlusion. ScreenSpaceAmbientOcclusionResources ScreenSpaceReflections Add this component to a camera to enable screen-space reflections (SSR). ScreenSpaceReflectionsBuffer A GPU buffer that stores the screen space reflection settings for each view. ScreenSpaceReflectionsBundle Deprecated A convenient bundle to add screen space reflections to a camera, along with
the depth and deferred prepasses required to enable them. ScreenSpaceReflectionsNode The node in the render graph that traces screen space reflections. ScreenSpaceReflectionsPipeline Information relating to the render pipeline for the screen space reflections
shader. ScreenSpaceReflectionsPipelineId Identifies which screen space reflections render pipeline a view needs. ScreenSpaceReflectionsPipelineKey Identifies a specific configuration of the SSR pipeline shader. ScreenSpaceReflectionsPlugin Enables screen-space reflections for a camera. ScreenSpaceReflectionsUniform A version of ScreenSpaceReflections
for upload to the GPU. SetMaterialBindGroup Sets the bind group for a given Material
at the configured I
index. SetMeshBindGroup SetMeshViewBindGroup SetPrepassViewBindGroup Shadow ShadowBinKey Data used to bin each object in the shadow map phase. ShadowPassNode ShadowSamplers ShadowView SkinIndices Maps each skinned mesh to the applicable offset within the SkinUniforms
buffer. SkinUniforms The GPU buffers containing joint matrices for all skinned meshes. SkipGpuPreprocess Stops the GpuPreprocessNode
attempting to generate the buffer for this view
useful to avoid duplicating effort if the bind group is shared between views SpotLight A light that emits light in a given direction from a central point. SpotLightBundle Deprecated A component bundle for spot light entities StandardMaterial A material with “standard” properties used in PBR lighting
Standard property values with pictures here
https://google.github.io/filament/Material%20Properties.pdf . StandardMaterialFlags Bitflags info about the material a shader is currently rendering.
This is accessible in the shader in the StandardMaterialUniform
StandardMaterialKey The pipeline key for StandardMaterial
, packed into 64 bits. StandardMaterialUniform The GPU representation of the uniform data of a StandardMaterial
. TransmittedShadowReceiver Add this component to make a Mesh3d
using a PBR material with diffuse_transmission
> 0.0
receive shadows on its diffuse transmission lobe. (i.e. its “backside”) ViewClusterBindings ViewEnvironmentMapUniformOffset A component that stores the offset within the
EnvironmentMapUniformBuffer
for each view. ViewFogUniformOffset Inserted on each Entity
with an ExtractedView
to keep track of its offset
in the gpu_fogs
DynamicUniformBuffer
within FogMeta
ViewLightEntities ViewLightProbesUniformOffset A component attached to each camera in the render world that stores the
index of the LightProbesUniform
in the LightProbesBuffer
. ViewLightsUniformOffset ViewScreenSpaceReflectionsUniformOffset A component that stores the offset within the
ScreenSpaceReflectionsBuffer
for each view. ViewShadowBindings VisibleClusterableObjects VisibleMeshEntities Collection of mesh entities visible for 3D lighting. VolumetricFog When placed on a bevy_core_pipeline::core_3d::Camera3d
, enables
volumetric fog and volumetric lighting, also known as light shafts or god
rays. VolumetricFogPlugin A plugin that implements volumetric fog. VolumetricLight Add this component to a DirectionalLight
with a shadow map
(shadows_enabled: true
) to make volumetric fog interact with it. ClusterConfig Configuration of the clustering strategy for clustered forward rendering ClusterFarZMode Configure the far z-plane mode used for the furthest depth slice for clustered forward
rendering FogFalloff Allows switching between different fog falloff modes, and configuring their parameters. GpuClusterableObjects LightEntity OpaqueRendererMethod Render method used for opaque materials. ParallaxMappingMethod The parallax mapping method to use to compute depth based on the
material’s depth_map
. RenderMeshInstanceGpuQueue The per-thread queues used during extract_meshes_for_gpu_building
. RenderMeshInstances Information that the render world keeps about each entity that contains a
mesh. ScreenSpaceAmbientOcclusionQualityLevel ShadowFilteringMethod Add this component to a Camera3d
to control how to anti-alias shadow edges. SimulationLightSystems System sets used to run light-related systems. UvChannel An enum to define which UV attribute to use for a texture. CLUSTERED_FORWARD_HANDLE CLUSTERED_FORWARD_STORAGE_BUFFER_COUNT FOG_SHADER_HANDLE Handle for the fog WGSL Shader internal asset FORWARD_IO_HANDLE LIGHTMAP_SHADER_HANDLE The ID of the lightmap shader. LIGHT_PROBE_SHADER_HANDLE MAX_CASCADES_PER_LIGHT Non-webgl
or non-WebAssembly or webgpu
MAX_DIRECTIONAL_LIGHTS Non-webgl
or non-WebAssembly or webgpu
MAX_JOINTS Maximum number of joints supported for skinned meshes. MAX_UNIFORM_BUFFER_CLUSTERABLE_OBJECTS MAX_VIEW_LIGHT_PROBES The maximum number of each type of light probe that each view will consider. MESH_BINDINGS_HANDLE MESH_FUNCTIONS_HANDLE MESH_PIPELINE_VIEW_LAYOUT_SAFE_MAX_TEXTURES Debug-assertions enabled How many textures are allowed in the view bind group layout (@group(0)
) before
broader compatibility with WebGL and WebGPU is at risk, due to the minimum guaranteed
values for MAX_TEXTURE_IMAGE_UNITS
(in WebGL) and maxSampledTexturesPerShaderStage
(in WebGPU),
currently both at 16. MESH_PREPROCESS_SHADER_HANDLE The handle to the mesh_preprocess.wgsl
compute shader. MESH_SHADER_HANDLE MESH_TYPES_HANDLE MESH_VIEW_BINDINGS_HANDLE MESH_VIEW_TYPES_HANDLE MORPH_HANDLE PARALLAX_MAPPING_SHADER_HANDLE PBR_AMBIENT_HANDLE PBR_BINDINGS_SHADER_HANDLE PBR_DEFERRED_FUNCTIONS_HANDLE PBR_DEFERRED_TYPES_HANDLE PBR_FRAGMENT_HANDLE PBR_FUNCTIONS_HANDLE PBR_LIGHTING_HANDLE PBR_PREPASS_FUNCTIONS_SHADER_HANDLE PBR_PREPASS_SHADER_HANDLE PBR_SHADER_HANDLE PBR_TRANSMISSION_HANDLE PBR_TYPES_SHADER_HANDLE PREPASS_BINDINGS_SHADER_HANDLE PREPASS_IO_SHADER_HANDLE PREPASS_SHADER_HANDLE PREPASS_UTILS_SHADER_HANDLE RGB9E5_FUNCTIONS_HANDLE SHADOWS_HANDLE SHADOW_SAMPLING_HANDLE SKINNING_HANDLE TONEMAPPING_LUT_SAMPLER_BINDING_INDEX TONEMAPPING_LUT_TEXTURE_BINDING_INDEX UTILS_HANDLE VIEW_TRANSFORMATIONS_SHADER_HANDLE LightProbeComponent A trait implemented by all components that represent light probes. Material Materials are used alongside MaterialPlugin
, Mesh3d
, and MeshMaterial3d
to spawn entities that are rendered with a specific Material
type. They serve as an easy to use high level
way to render Mesh3d
entities with custom shader logic. MaterialExtension A subset of the Material
trait for defining extensions to a base Material
, such as the builtin StandardMaterial
. add_clusters alpha_mode_pipeline_key build_directional_light_cascades calculate_cluster_factors check_dir_light_mesh_visibility check_point_light_mesh_visibility clear_directional_light_cascades collect_meshes_for_gpu_building Creates the RenderMeshInstanceGpu
s and MeshInputUniform
s when GPU
mesh uniforms are built. extract_camera_previous_view_data extract_clusters Extracts clusters from the main world from the render world. extract_lights extract_mesh_materials extract_meshes_for_cpu_building Extracts meshes from the main world into the render world, populating the
RenderMeshInstances
. extract_meshes_for_gpu_building Extracts meshes from the main world into the render world and queues
MeshInputUniform
s to be uploaded to the GPU. extract_skins generate_view_layouts Generates all possible view layouts for the mesh pipeline, based on all combinations of
MeshPipelineViewLayoutKey
flags. get_bind_group_layout_entries get_bindings prepare_clusters prepare_environment_uniform_buffer Gathers up environment map settings for each applicable view and
writes them into a GPU buffer. prepare_fog Prepares fog metadata and writes the fog-related uniform buffers to the GPU prepare_lights prepare_mesh_bind_group prepare_mesh_view_bind_groups prepare_prepass_view_bind_group prepare_preprocess_bind_groups A system that attaches the mesh uniform buffers to the bind groups for the
variants of the mesh preprocessing compute shader. prepare_preprocess_pipelines A system that specializes the mesh_preprocess.wgsl
pipelines if necessary. prepare_previous_view_uniforms prepare_skins prepare_ssr_pipelines Sets up screen space reflection pipelines for each applicable view. prepare_ssr_settings Gathers up screen space reflection settings for each applicable view and
writes them into a GPU buffer. queue_material_meshes For each view, iterates over all the meshes visible from that view and adds
them to BinnedRenderPhase
s or SortedRenderPhase
s as appropriate. queue_prepass_material_meshes queue_shadows For each shadow cascade, iterates over all the meshes “visible” from it and
adds them to BinnedRenderPhase
s or SortedRenderPhase
s as
appropriate. screen_space_specular_transmission_pipeline_key setup_morph_and_skinning_defs tonemapping_pipeline_key update_directional_light_frusta update_mesh_previous_global_transforms update_point_light_frusta update_previous_view_data update_spot_light_frusta write_mesh_culling_data_buffer Writes the information needed to do GPU mesh culling to the GPU. DrawPrepass FogSettings Deprecated PbrBundle Deprecated A component bundle for PBR entities with a Mesh3d
and a MeshMaterial3d<StandardMaterial>
. ScreenSpaceAmbientOcclusionSettings Deprecated ScreenSpaceReflectionsSettings Deprecated VolumetricFogSettings Deprecated WithLight A convenient alias for Or<(With<PointLight>, With<SpotLight>, With<DirectionalLight>)>
, for use with bevy_render::view::VisibleEntities
.