Skip to content

Commit

Permalink
Panic when attempting to render with a Camera without Viewport.
Browse files Browse the repository at this point in the history
  • Loading branch information
rmsc committed Mar 4, 2021
1 parent ef79790 commit afe0165
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions crates/bevy_render/src/render_graph/nodes/pass_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,24 +223,17 @@ where
continue;
};

// get camera viewport and apply it
let viewport = world.get::<Viewport>(camera_entity)
.expect("A camera requires a Viewport component.");
let origin = viewport.physical_origin();
let size = viewport.physical_size();
let (min_depth, max_depth) = viewport.depth_range().into_inner();
render_pass.set_viewport(origin.x, origin.y, size.x, size.y, min_depth, max_depth);

// get an ordered list of entities visible to the camera
let visible_entities = world.get::<VisibleEntities>(camera_entity).unwrap();

// get camera viewport and apply it
if let Ok(viewport) = world.get::<Viewport>(camera_entity) {
let origin = viewport.physical_origin();
let size = viewport.physical_size();
let (min_depth, max_depth) = viewport.depth_range().into_inner();
render_pass.set_viewport(
origin.x, origin.y,
size.x, size.y,
min_depth, max_depth,
);
} else {
// a camera requires a valid viewport
continue;
}

// attempt to draw each visible entity
let mut draw_state = DrawState::default();
for visible_entity in visible_entities.iter() {
Expand Down

0 comments on commit afe0165

Please sign in to comment.