pub fn check_visibility(
thread_queues: Local<'_, Parallel<TypeIdMap<Vec<Entity>>>>,
view_query: Query<'_, '_, (Entity, &mut VisibleEntities, &Frustum, Option<&RenderLayers>, &Camera, Has<NoCpuCulling>)>,
visible_aabb_query: Query<'_, '_, (Entity, &InheritedVisibility, &mut ViewVisibility, &VisibilityClass, Option<&RenderLayers>, Option<&Aabb>, &GlobalTransform, Has<NoFrustumCulling>, Has<VisibilityRange>)>,
visible_entity_ranges: Option<Res<'_, VisibleEntityRanges>>,
previous_visible_entities: ResMut<'_, PreviousVisibleEntities>,
)
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.
To ensure that an entity is checked for visibility, make sure that it has a
VisibilityClass
component and that that component is nonempty.