Skip to main content

check_point_light_mesh_visibility

Function check_point_light_mesh_visibility 

Source
pub fn check_point_light_mesh_visibility(
    visible_point_lights: Query<'_, '_, &VisibleEntities>,
    point_lights: Query<'_, '_, (&PointLight, &GlobalTransform, &CubemapFrusta, &mut CubemapVisibleEntities, Option<&RenderLayers>)>,
    spot_lights: Query<'_, '_, (&SpotLight, &GlobalTransform, &Frustum, &mut VisibleMeshEntities, Option<&RenderLayers>)>,
    visible_entity_query: Query<'_, '_, (Entity, &InheritedVisibility, &mut ViewVisibility, Option<&RenderLayers>, Option<&Aabb>, Option<&GlobalTransform>, Has<VisibilityRange>, Has<NoFrustumCulling>), (Without<NotShadowCaster>, Without<DirectionalLight>, Without<NoCpuCulling>, With<Mesh3d>)>,
    camera_query: Query<'_, '_, (Entity, &RenderTarget), With<Camera>>,
    shadow_lod_origin_query: Query<'_, '_, Entity, With<ShadowLodOrigin>>,
    point_and_spot_light_query: Query<'_, '_, Entity, Or<(With<PointLight>, With<SpotLight>)>>,
    visible_entity_ranges: Option<Res<'_, VisibleEntityRanges>>,
    cubemap_visible_entities_queue: Local<'_, Parallel<[Vec<Entity>; 6]>>,
    spot_visible_entities_queue: Local<'_, Parallel<Vec<Entity>>>,
    checked_lights: Local<'_, EntityHashSet>,
)
Expand description

Updates the visibility for PointLights and SpotLights so that shadow map rendering can work.

This only processes entities without NoCpuCulling. Entities with NoCpuCulling receive no view-specific processing in the main world.