Skip to main content Crate bevy_pbr Copy item path Source pub use contact_shadows::ContactShadows ;pub use contact_shadows::ContactShadowsBuffer ;pub use contact_shadows::ContactShadowsPlugin ;pub use contact_shadows::ContactShadowsUniform ;pub use contact_shadows::ViewContactShadowsUniformOffset ;pub use decal::clustered::ClusteredDecalPlugin ;contact_shadows Contact shadows implemented via screenspace raymarching. decal Decal rendering. deferred diagnostic environment_map Environment maps and reflection probes. generate Like EnvironmentMapLight , but filtered in realtime from a cubemap. irradiance_volume Irradiance volumes, also known as voxel global illumination. prelude The PBR prelude. resources wireframe AreaLightLuts LTC (Linearly Transformed Cosines) LUT textures for area light shading. AtmosphereSettings This component controls the resolution of the atmosphere LUTs, and
how many samples are used when computing them. BinUnpackingBindGroups A resource, part of the render world, that stores all the bind groups for
the bin unpacking shader. BinUnpackingPipeline The pipeline for the unpack_bins compute shader. Bluenoise A resource that stores the spatio-temporal blue noise texture. BuildIndirectParametersBindGroups The bind groups for the compute shaders that reset indirect draw counts and
build indirect parameters. BuildIndirectParametersPipeline The pipeline for the indirect parameter building shader. BuildIndirectParametersPipelineKey Specifies variants of the indirect parameter building shader. DefaultOpaqueRendererMethod Default render method used for opaque materials. DeferredAlphaMaskDrawFunction DeferredFragmentShader DeferredOpaqueDrawFunction DeferredVertexShader DfgLut The split-sum approximation LUT (F_AB) indexed by (NdotV, perceptual_roughness). DirectionalLightViewEntities Component automatically attached to a light entity to track light-view entities
for each view. 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 EntitiesNeedingSpecialization Temporarily stores entities that were determined to either need their
specialized pipelines updated or to have their specialized pipelines
removed. ExtendedMaterial A material that extends a base Material with additional shaders and data. ExtractedAtmosphere The render-world representation of an Atmosphere, but which
hasn’t been converted into shader uniforms yet. ExtractedClusterConfig ExtractedClusterableObjects ExtractedDirectionalLight ExtractedPointLight ExtractedRectLight FallbackBindlessResources Dummy instances of various resources that we fill unused slots in binding
arrays with. FogMeta Metadata for fog FogPlugin A plugin that consolidates fog extraction, preparation and related resources/assets GlobalClusterableObjectMeta Contains information about clusterable objects in the scene that’s global:
i.e. not specific to any view. GpuAtmosphereSettings GpuClusteredLight The GPU-side structure that stores information about a clustered light
(point or spot). GpuClusteredLights GPU buffers that hold data about the clustered lights. 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. GpuMorphDescriptor Information that the GPU needs about a single mesh instance that uses morph
targets. GpuRectLight GpuScatteringMedium The GPU representation of a ScatteringMedium . LightKeyCache LightMeta 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. Lightmap A component that applies baked indirect diffuse global illumination from a
lightmap. LightmapPlugin A plugin that provides an implementation of lightmaps. LightmapSlab A binding array that contains lightmaps. LightmapSlabIndex The index of the slab (binding array) in which a lightmap is located. LightmapSlotIndex The index of the slot (element within the binding array) in the slab in
which a lightmap is located. LightmapTemplate MainPassAlphaMaskDrawFunction MainPassOpaqueDrawFunction MainPassTransmissiveDrawFunction MainPassTransparentDrawFunction MaterialBindGroupAllocators 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. 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. MaterialExtensionBindGroupData MaterialExtensionKey MaterialExtensionPipeline MaterialExtractionSystems A SystemSet that contains all extract_mesh_materials systems. MaterialFragmentShader MaterialPipeline Render pipeline data for a given Material . MaterialPipelineKey A key uniquely identifying a specialized MaterialPipeline . MaterialPipelineSpecializer MaterialPlugin Adds the necessary ECS resources and render logic to enable rendering entities using the given Material
asset type. MaterialSlab The public interface to a slab, which represents a single bind group. MaterialVertexShader MaterialsPlugin MeshBatchSetCompareData Data that must be identical for meshes to be multi-drawn together. MeshBindGroupPair MeshCullingData Information about each mesh instance needed to cull it on GPU. MeshCullingDataBlob MeshCullingDataBuffer A GPU buffer that holds the information needed to cull meshes on GPU. MeshExtractionSystems A SystemSet that encompasses both extract_meshes_for_cpu_building
and extract_meshes_for_gpu_building . 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 . MeshInputUniformBlob MeshLayouts All possible BindGroupLayout s in bevy’s default mesh shader (mesh.wgsl). MeshMaterial3d A material used for rendering a Mesh3d . MeshMaterial3dTemplate MeshMorphTargetStorageBindGroups The bind groups associated with a single morph displacements slab. MeshPhaseBindGroups The bind groups for meshes currently loaded. MeshPipeline All data needed to construct a pipeline for rendering 3D meshes. MeshPipelineKey MeshPipelineSystems MeshPipelineViewLayout MeshPipelineViewLayoutKey A key that uniquely identifies a MeshPipelineViewLayout . MeshPipelineViewLayouts Stores the view layouts entries for creating bind group layouts of pipeline keys. MeshRenderPlugin Provides support for rendering 3D meshes. MeshTransforms MeshUniform MeshViewBindGroup MeshesToReextractNextFrame Holds a list of meshes that couldn’t be extracted this frame because their
materials weren’t prepared yet. MeshletDeferredFragmentShader MeshletFragmentShader MeshletPrepassFragmentShader MorphDescriptorIndex The index of the GpuMorphDescriptor in the morph_descriptors buffer. MorphIndex MorphUniforms The GPU buffers containing morph weights for all meshes with morph targets. MorphWeightsInfo Information that the CPU needs about each morh target for the purposes of
weight calculation. PbrPlugin Sets up the entire PBR infrastructure of bevy. PendingMeshMaterialQueues Holds all entities with mesh materials that couldn’t be specialized and/or
queued because their materials hadn’t loaded yet. PendingPrepassMeshMaterialQueues Holds all entities with mesh materials for which the prepass couldn’t be
specialized and/or queued because their materials hadn’t loaded yet. PendingShadowQueues Holds all entities with mesh materials for which the shadow pass couldn’t be
specialized and/or queued because their materials hadn’t loaded yet. PhaseBuildIndirectParametersBindGroups The per-phase set of bind groups for the compute shaders that reset indirect
draw counts and build indirect parameters. PointAndSpotLightViewEntities A component that stores the shadow maps associated with a point or spot
light. PreparedMaterial Data prepared for a Material instance. PrepassAlphaMaskDrawFunction PrepassFragmentShader PrepassOpaqueDepthOnlyDrawFunction PrepassOpaqueDrawFunction PrepassPipeline PrepassPipelinePlugin Sets up everything required to use the prepass pipeline. PrepassPipelineSpecializer PrepassPlugin Sets up the prepasses for a material. PrepassVertexShader PrepassViewBindGroup PreprocessBindGroups The compute shader bind group for the mesh preprocessing pass for each
render phase. PreprocessPhasePipelines Compute shader pipelines for a specific phase: early, late, or main. PreprocessPipeline The pipeline for the GPU mesh preprocessing shader. PreprocessPipelineKey Specifies variants of the mesh preprocessing shader. PreprocessPipelines The compute shader pipelines for the GPU mesh preprocessing and indirect
parameter building passes. PreviousGlobalTransform RenderGpuCulledEntities A resource, part of the render world, that stores all entities that are
potentially-visible and have NoCpuCulling components. RenderLightProbeFlags Various flags that can be associated with light probes. RenderLightmaps Stores data for all lightmaps in the render world. RenderMaterialBindings A resource that maps each untyped material ID to its binding. RenderMaterialInstance The material associated with a single mesh instance in the main world. RenderMaterialInstances Stores all extracted instances of all Material s 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. RenderMeshInstanceGpuFlat Data in RenderMeshInstanceGpu that’s both specific to the GPU
preprocessing path and POD. RenderMeshInstanceGpuFlatBlob RenderMeshInstanceGpuPrepared Data needed to construct the RenderMeshInstanceGpu for a mesh instance. 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. RenderMeshInstanceSharedFlat The thread-safe POD that’s stored for each mesh, common to both the CPU and
GPU preprocessing paths. RenderMeshInstanceSharedFlatBlob 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. ResetIndirectBatchSetsPipeline The pipeline for the batch set count reset shader. ScatteringMediumSampler The default sampler for all scattering media LUTs. ScreenSpaceAmbientOcclusion Component to apply screen space ambient occlusion to a 3d camera. 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. 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. ScreenSpaceTransmission Configures transmission behavior, offering a trade-off between performance and visual fidelity. ScreenSpaceTransmissionPlugin Enables screen-space transmission for cameras. SetMaterialBindGroup Sets the bind group for a given Material at the configured I index. SetMeshBindGroup SetMeshViewBindGroup SetMeshViewBindingArrayBindGroup SetMeshViewEmptyBindGroup SetPrepassEmptyMaterialBindGroup SetPrepassViewBindGroup SetPrepassViewEmptyBindGroup Shadow ShadowBatchSetKey Information that must be identical in order to place opaque meshes in the
same batch set . ShadowBinKey Data used to bin each object in the shadow map phase. ShadowSamplers ShadowView ShadowsDepthOnlyDrawFunction ShadowsDrawFunction 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 SpecializedMaterialPipelineCache Stores the SpecializedMaterialViewPipelineCache for each view. SpecializedMaterialViewPipelineCache Stores the cached render pipeline ID for each entity in a single view, as
well as the last time it was changed. SpecializedPrepassMaterialPipelineCache Stores the SpecializedPrepassMaterialViewPipelineCache for each view. SpecializedPrepassMaterialViewPipelineCache Stores the cached render pipeline ID for each entity in a single view, as
well as the last time it was changed. SpecializedShadowMaterialPipelineCache SpecializedShadowMaterialViewPipelineCache SsaoBindGroups A render world component that stores the bind groups necessary to perform
Screen Space Ambient Occlusion. SsaoPipelineId A render world component that holds the cached pipeline id for Ssao. StandardMaterial A material with “standard” properties used in PBR lighting.
Standard property values with pictures here:
https://google.github.io/filament/notes/material_properties.html . 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 . Transmissive3d ViewClusterBindings ViewFogUniformOffset Inserted on each Entity with an ExtractedView to keep track of its offset
in the gpu_fogs DynamicUniformBuffer within FogMeta ViewKeyCache This resource caches MeshPipelineKey s for each view with pre-enabled features needed to properly
setup the MeshViewBindGroup layout in specialized MeshPipeline s. ViewKeyPrepassCache ViewLightEntities A component that holds the shadow cascade views for all shadow cascades
associated with a camera. ViewLightProbesUniformOffset A component attached to each camera in the render world that stores the
index of the LightProbesUniform in the LightProbesBuffer . ViewLightsUniformOffset ViewPhaseBinUnpackingBindGroup The bind group for the unpack_bins shader for a single combination of
view, phase, and mesh indexed-ness. ViewPhaseBinUnpackingBindGroups The bind groups for the unpack_bins shader for a single (view, phase)
combination. ViewScreenSpaceReflectionsUniformOffset A component that stores the offset within the
ScreenSpaceReflectionsBuffer for each view. ViewShadowBindings ViewTransmissionTexture VolumetricFogPlugin A plugin that implements volumetric fog. AtmosphereMode Selects how the atmosphere is rendered. Choose based on scene scale and
volumetric shadow quality, and based on performance needs. FogFalloff Allows switching between different fog falloff modes, and configuring their parameters. LightEntity MaterialBindGroupAllocator A resource that places materials into bind groups and tracks their
resources. MeshBindGroups All bind groups for meshes currently loaded. MeshMorphBindGroupKey Data related to morph targets that we need in order to look up the bind
group for a mesh. MeshMorphTargetBindGroups Stores bind groups for each mesh with morph targets. MorphIndices Maps each mesh affected by morph targets to the applicable offset within the
MorphUniforms buffer. ParallaxMappingMethod The parallax mapping method to use to compute depth based on the
material’s depth_map . PhasePreprocessBindGroups The compute shader bind group for the mesh preprocessing step for a single
render phase on a single view. 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 ScreenSpaceTransmissionQuality The quality of the screen space transmission blur effect, applied to whatever’s behind transmissive
objects when their roughness is greater than 0.0. CLUSTERED_FORWARD_STORAGE_BUFFER_COUNT EARLY_SHADOW_PASS GPU_CLUSTERING_INITIAL_INDEX_LIST_CAPACITY The initial capacity of the clustered object index list. GPU_CLUSTERING_INITIAL_Z_SLICE_LIST_CAPACITY The initial capacity of the Z slice list. LATE_SHADOW_PASS LIGHTMAPS_PER_SLAB The number of lightmaps that we store in a single slab, if bindless textures
are in use. MATERIAL_BIND_GROUP_INDEX MAX_CASCADES_PER_LIGHT MAX_DIRECTIONAL_LIGHTS MAX_JOINTS Maximum number of joints supported for skinned meshes. MAX_RECT_LIGHTS MAX_UNIFORM_BUFFER_CLUSTERABLE_OBJECTS MAX_VIEW_LIGHT_PROBES The maximum number of each type of light probe that each view will consider. MESH_PIPELINE_VIEW_LAYOUT_SAFE_MAX_TEXTURES 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. TONEMAPPING_LUT_SAMPLER_BINDING_INDEX TONEMAPPING_LUT_TEXTURE_BINDING_INDEX 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. alpha_mode_pipeline_key area_light_luts_placeholder base_specialize build_dummy_white_gpu_image A 1x1x1 ‘all 1.0’ texture to use as a dummy texture in place of optional crate::pbr_material::StandardMaterial textures check_entities_needing_specialization Finds 3D entities that have changed in such a way as to potentially require
specialization and adds them to the EntitiesNeedingSpecialization list. check_prepass_views_need_specialization check_views_lights_need_specialization check_views_need_specialization clear_indirect_parameters_metadata collect_gpu_culled_meshes Transfers entities from RenderGpuCulledEntities to the
RenderVisibleEntities and RenderShadowMapVisibleEntities components
on each view. collect_meshes_for_gpu_building Creates the RenderMeshInstanceGpu s and MeshInputUniform s when GPU
preprocessing is in use. early_gpu_preprocess early_prepass_build_indirect_parameters extract_ambient_light extract_ambient_light_resource extract_atmosphere For each camera with AtmosphereSettings , picks the nearest Atmosphere by world-space
distance to its origin, copies it as ExtractedAtmosphere , and builds GpuAtmosphereSettings . extract_camera_previous_view_data extract_clusters_for_cpu_clustering Extracts the clusters that the CPU produced into the render world. extract_entities_needs_specialization extract_entities_that_need_specializations_removed A system that adds entities that were judged to need their specializations
removed to the appropriate table in DirtySpecializations . extract_lights 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 to thread-local buffers in the render
world. extract_morphs extract_shadow_filtering_method extract_shadow_lod_origin An extraction system that determines the origin for LOD computation for
point and spot light shadow maps and updates the RenderShadowLodOrigin
with the result. extract_skins get_bind_group_layout_entries get_bindings get_image_texture get_mesh_instance_world_from_local Returns the world-from-local transform for the given mesh instance. gpu_clustering_is_enabled A run condition that tests whether GPU clustering is enabled. gpu_clustering_is_enabled_during_extraction A run condition that tests whether GPU clustering is enabled. init_fallback_bindless_resources init_global_clusterable_object_meta init_material_pipeline init_mesh_pipeline_view_layouts init_prepass_pipeline init_prepass_view_bind_group init_render_lightmaps init_screen_space_reflections_pipeline init_shadow_samplers late_gpu_preprocess late_prepass_build_indirect_parameters late_sweep_material_instances Removes mesh materials from RenderMaterialInstances when their
ViewVisibility components are removed. main_build_indirect_parameters Builds indirect parameters for the main opaque and transparent passes. main_transmissive_pass_3d material_uses_bindless_resources Returns true if the material will actually use bindless resources or false
if it won’t. no_automatic_morph_batching per_view_shadow_pass Renders the shadow maps that are associated with a specific view. prepare_clusters_for_cpu_clustering Creates and populates the GPU buffers that store clusters when CPU
clustering is being used. prepare_fog Prepares fog metadata and writes the fog-related uniform buffers to the GPU prepare_lights prepare_material_bind_groups Creates and/or recreates any bind groups that contain materials that were
modified this frame. prepare_mesh_bind_groups Creates the per-mesh bind groups for each type of mesh and each phase. prepare_mesh_view_bind_groups prepare_morph_descriptors A system that writes GpuMorphDescriptor values to the MorphUniforms
for each mesh instance with morph targets. prepare_prepass_view_bind_group prepare_preprocess_bind_groups A system that attaches buffers to bind groups for the variants of the
compute shaders relating to mesh preprocessing. prepare_preprocess_pipelines A system that specializes the pipelines relating to mesh preprocessing if
necessary. prepare_previous_view_uniforms prepare_skins Uploads the buffers containing the joints to the GPU. 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_reflections set_mesh_motion_vector_flags A system that sets the RenderMeshInstanceFlags for each mesh based on
whether the previous frame had skins and/or morph targets. setup_morph_and_skinning_defs shared_shadow_pass Renders the shadow maps that aren’t associated with a specific view. skins_use_uniform_buffers Returns true if skinning must use uniforms (and dynamic offsets) because
storage buffers aren’t supported on the current platform. stbn_placeholder tonemapping_pipeline_key unpack_bins A rendering system that invokes a compute shader for each batch set in order
to generate preprocessing jobs for the subsequent mesh preprocessing shader. update_mesh_previous_global_transforms update_previous_view_data write_material_bind_group_buffers Uploads the contents of all buffers that the MaterialBindGroupAllocator
manages to the GPU. write_mesh_culling_data_buffer Writes the information needed to do GPU mesh culling to the GPU. write_morph_buffers A system that writes the buffers inside MorphUniforms to the GPU. DrawDepthOnlyPrepass DrawMaterial DrawPrepass