Toggle lines
This commit is contained in:
@@ -78,6 +78,7 @@ pub struct GameData {
|
||||
pub game_objects: Vec<GameObject>,
|
||||
pub meshes: Vec<Mesh>,
|
||||
pub textures: Vec<Arc<ImmutableImage<Format>>>,
|
||||
pub use_line_pipeline: bool,
|
||||
}
|
||||
|
||||
type RendererDescriptorSets = dyn DescriptorSet + Send + Sync;
|
||||
@@ -121,6 +122,7 @@ impl VulkanRenderer {
|
||||
meshes: vec![],
|
||||
game_objects: vec![],
|
||||
textures: vec![],
|
||||
use_line_pipeline: true,
|
||||
};
|
||||
|
||||
if enable_validation_layers {
|
||||
@@ -325,10 +327,12 @@ impl VulkanRenderer {
|
||||
}
|
||||
|
||||
fn create_command_buffer(self: &mut Self, fb_index: usize, uniform_buffer_data: vs::ty::ObjectUniformData) -> Arc<AutoCommandBuffer> {
|
||||
// General setup
|
||||
let mut builder = AutoCommandBufferBuilder::primary_simultaneous_use(self.device.clone(), self.queue.family()).unwrap();
|
||||
builder.update_buffer(self.uniform_buffers[fb_index].clone(), uniform_buffer_data).unwrap();
|
||||
builder.begin_render_pass(self.framebuffers[fb_index].clone(), false, vec![ClearValue::Float([0.0, 0.0, 0.0, 1.0]), ClearValue::Depth(1.0)]).unwrap();
|
||||
|
||||
// Load and draw meshes etc.
|
||||
for i in 0..self.game_data.game_objects.len() {
|
||||
let game_object = &self.game_data.game_objects[i];
|
||||
let mesh = &self.game_data.meshes[game_object.mesh_index];
|
||||
@@ -343,9 +347,13 @@ impl VulkanRenderer {
|
||||
self.game_data.push_constants.clone()).unwrap();
|
||||
}
|
||||
|
||||
builder.draw(self.line_pipeline.clone(), &self.dynamic_state, vec![self.line_vertex_buffer.clone()], (), self.game_data.line_push_constants.clone()).unwrap()
|
||||
.end_render_pass().unwrap();
|
||||
// Draw line grid
|
||||
if self.game_data.use_line_pipeline {
|
||||
builder.draw(self.line_pipeline.clone(), &self.dynamic_state, vec![self.line_vertex_buffer.clone()], (), self.game_data.line_push_constants.clone()).unwrap();
|
||||
}
|
||||
|
||||
// General cleanup
|
||||
builder.end_render_pass().unwrap();
|
||||
Arc::new(builder.build().unwrap())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user