bevy_render::view::visibility

Function check_visibility

Source
pub fn check_visibility<QF>(
    thread_queues: Local<'_, Parallel<Vec<Entity>>>,
    view_query: Query<'_, '_, (Entity, &mut VisibleEntities, &Frustum, Option<&RenderLayers>, &Camera, Has<NoCpuCulling>)>,
    visible_aabb_query: Query<'_, '_, (Entity, &InheritedVisibility, &mut ViewVisibility, Option<&RenderLayers>, Option<&Aabb>, &GlobalTransform, Has<NoFrustumCulling>, Has<VisibilityRange>), QF>,
    visible_entity_ranges: Option<Res<'_, VisibleEntityRanges>>,
)
where QF: QueryFilter + 'static,
Expand description

System updating the visibility of entities each frame.

The system is part of the VisibilitySystems::CheckVisibility set. Each frame, it updates the ViewVisibility of all entities, and for each view also compute the VisibleEntities for that view.

This system needs to be run for each type of renderable entity. If you add a new type of renderable entity, you’ll need to add an instantiation of this system to the VisibilitySystems::CheckVisibility set so that Bevy will detect visibility properly for those entities.