mirror of
https://github.com/lisk77/comet.git
synced 2025-12-12 17:18:50 +00:00
feat(renderer2d): added a simple draw order to the Renderer2D which can be defined by the draw_index in the Render2D component
This commit is contained in:
parent
dab38c1e32
commit
ca47efba42
2 changed files with 33 additions and 3 deletions
|
|
@ -686,7 +686,15 @@ impl<'a> Renderer2D<'a> {
|
|||
return;
|
||||
}
|
||||
|
||||
let entities = scene.get_entities_with(vec![Transform2D::type_id(), Render2D::type_id()]);
|
||||
let mut entities =
|
||||
scene.get_entities_with(vec![Transform2D::type_id(), Render2D::type_id()]);
|
||||
|
||||
entities.sort_by(|&a, &b| {
|
||||
let ra = scene.get_component::<Render2D>(a).unwrap();
|
||||
let rb = scene.get_component::<Render2D>(b).unwrap();
|
||||
ra.draw_index().cmp(&rb.draw_index())
|
||||
});
|
||||
|
||||
let texts =
|
||||
scene.get_entities_with(vec![Transform2D::type_id(), comet_ecs::Text::type_id()]);
|
||||
|
||||
|
|
@ -713,8 +721,9 @@ impl<'a> Renderer2D<'a> {
|
|||
let region = t_region.unwrap();
|
||||
let (dim_x, dim_y) = region.dimensions();
|
||||
|
||||
let half_width = dim_x as f32 * 0.5;
|
||||
let half_height = dim_y as f32 * 0.5;
|
||||
let scale = renderer_component.scale();
|
||||
let half_width = dim_x as f32 * 0.5 * scale.x();
|
||||
let half_height = dim_y as f32 * 0.5 * scale.y();
|
||||
|
||||
let buffer_size = vertex_buffer.len() as u16;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue