Add editor debug grid
This commit is contained in:
parent
80f150a9f5
commit
0316b7d2d1
|
@ -166,6 +166,7 @@ impl RenderState {
|
||||||
output_format: wgpu::TextureFormat,
|
output_format: wgpu::TextureFormat,
|
||||||
render_pass: &mut egui_wgpu_backend::RenderPass,
|
render_pass: &mut egui_wgpu_backend::RenderPass,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
|
use cyborg::scene::{DebugDrawList, DebugIndex, DebugVertex};
|
||||||
use cyborg::shader::{ShaderStore, ShaderWatcher};
|
use cyborg::shader::{ShaderStore, ShaderWatcher};
|
||||||
|
|
||||||
let mut world = legion::World::default();
|
let mut world = legion::World::default();
|
||||||
|
@ -202,22 +203,42 @@ impl RenderState {
|
||||||
cyborg::legion::build_renderer(viewport_store, &mut resources, &mut render_schedule);
|
cyborg::legion::build_renderer(viewport_store, &mut resources, &mut render_schedule);
|
||||||
let render_schedule = render_schedule.build();
|
let render_schedule = render_schedule.build();
|
||||||
|
|
||||||
|
// make debug draw grid
|
||||||
|
let grid_size = 10;
|
||||||
|
let grid_color = [0.0, 1.0, 0.0];
|
||||||
|
let mut grid_vertices = Vec::new();
|
||||||
|
|
||||||
|
// draw horizontal lines
|
||||||
|
for x in -grid_size..=grid_size {
|
||||||
|
grid_vertices.push(DebugVertex {
|
||||||
|
position: [x as f32, 0.0, -grid_size as f32],
|
||||||
|
color: grid_color.clone(),
|
||||||
|
});
|
||||||
|
grid_vertices.push(DebugVertex {
|
||||||
|
position: [x as f32, 0.0, grid_size as f32],
|
||||||
|
color: grid_color.clone(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw vertical lines
|
||||||
|
for z in -grid_size..=grid_size {
|
||||||
|
grid_vertices.push(DebugVertex {
|
||||||
|
position: [-grid_size as f32, 0.0, z as f32],
|
||||||
|
color: grid_color.clone(),
|
||||||
|
});
|
||||||
|
grid_vertices.push(DebugVertex {
|
||||||
|
position: [grid_size as f32, 0.0, z as f32],
|
||||||
|
color: grid_color.clone(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
world.push((
|
world.push((
|
||||||
cyborg::scene::Transform {
|
cyborg::scene::Transform {
|
||||||
transform: Default::default(),
|
transform: Default::default(),
|
||||||
},
|
},
|
||||||
cyborg::scene::DebugDrawList {
|
DebugDrawList {
|
||||||
vertices: vec![
|
indices: (0..(grid_vertices.len() as u32)).into_iter().collect(),
|
||||||
cyborg::scene::DebugVertex {
|
vertices: grid_vertices,
|
||||||
color: [1.0, 0.0, 0.0],
|
|
||||||
position: [0.0, 0.0, -1.0],
|
|
||||||
},
|
|
||||||
cyborg::scene::DebugVertex {
|
|
||||||
color: [0.0, 0.0, 1.0],
|
|
||||||
position: [0.0, 0.0, 1.0],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
indices: vec![0, 1],
|
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue