fixed maybe?

This commit is contained in:
2021-10-29 17:07:29 +02:00
parent 28576035eb
commit 6ecd5b6082
8 changed files with 66 additions and 20 deletions

View File

@@ -230,7 +230,7 @@ impl VulkanRenderer {
q.supports_graphics() && surface.is_supported(q).unwrap_or(false)
}).unwrap();
let device_ext = DeviceExtensions { khr_swapchain: true, ..DeviceExtensions::none() };
let device_ext = DeviceExtensions { khr_swapchain: true, khr_maintenance1: true, ..DeviceExtensions::none() };
let (device, mut queues) = Device::new(physical, &Features::none(), &device_ext,
[(queue_family, 0.5)].iter().cloned()).unwrap();
let queue = queues.next().unwrap();
@@ -261,11 +261,7 @@ impl VulkanRenderer {
};
let size = images[0].dimensions().width_height();
let viewport = Viewport {
origin: [0.0, 0.0],
dimensions: [size[0] as f32, size[1] as f32],
depth_range: 0.0..1.0,
};
let viewport = create_viewport(size[0] as f32, size[1] as f32);
// Render pass
let render_pass = renderpass::create_render_pass(device.clone(), &render_config, swapchain.format());
@@ -368,12 +364,7 @@ impl VulkanRenderer {
};
let size = new_images[0].dimensions().width_height();
self.viewport = Viewport {
origin: [0.0, 0.0],
dimensions: [size[0] as f32, size[1] as f32],
depth_range: 0.0..1.0,
};
self.viewport = create_viewport(size[0] as f32, size[1] as f32);
self.render_pass = renderpass::create_render_pass(self.device.clone(), &self.render_config, new_swapchain.format());
@@ -694,6 +685,9 @@ pub fn start_event_loop(mut renderer: VulkanRenderer, mut game: Box<dyn Game>, e
Event::WindowEvent { event: WindowEvent::CloseRequested, .. } => {
*control_flow = ControlFlow::Exit;
},
Event::WindowEvent { event: WindowEvent::Resized(..), .. } => {
renderer.recreate_swapchain = true;
},
Event::RedrawEventsCleared => {
let ubo = game.update(&mut renderer);
renderer.render_loop(ubo, &game.get_game_objects());
@@ -706,3 +700,15 @@ pub fn start_event_loop(mut renderer: VulkanRenderer, mut game: Box<dyn Game>, e
});
}
pub fn create_viewport(width: f32, height: f32) -> Viewport {
Viewport {
origin: [0.0, 0.0],
dimensions: [width, height],
depth_range: 0.0..1.0,
}
// Viewport {
// origin: [0.0, height],
// dimensions: [width, -height],
// depth_range: 0.0..1.0,
// }
}