more brainstorming on how spriting and computing is going to work
This commit is contained in:
@@ -35,6 +35,7 @@ pub struct VkProcessor<'a> {
|
||||
|
||||
|
||||
impl<'a> VkProcessor<'a> {
|
||||
|
||||
pub fn new(instance: &'a Arc<Instance>, surface: &'a Arc<Surface<Window>>) -> VkProcessor<'a> {
|
||||
let physical = PhysicalDevice::enumerate(instance).next().unwrap();
|
||||
|
||||
@@ -72,12 +73,10 @@ impl<'a> VkProcessor<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pub fn compile_kernel(&mut self, filename: String) {
|
||||
self.compute_kernel = Some(ComputeKernel::new(filename, self.device.clone()));
|
||||
}
|
||||
|
||||
|
||||
pub fn create_swapchain(&mut self, surface: &'a Arc<Surface<Window>>) {
|
||||
let (mut swapchain, images) = {
|
||||
let capabilities = surface.capabilities(self.physical).unwrap();
|
||||
@@ -154,8 +153,11 @@ impl<'a> VkProcessor<'a> {
|
||||
surface: &'a Arc<Surface<Window>>,
|
||||
mut frame_future: Box<dyn GpuFuture>,
|
||||
canvas_frame: CanvasFrame,
|
||||
|
||||
) -> Box<dyn GpuFuture> {
|
||||
|
||||
self.canvas.draw(canvas_frame);
|
||||
self.canvas.allocate_vertex_buffers(self.device.clone());
|
||||
|
||||
let mut framebuffers =
|
||||
self.canvas.window_size_dependent_setup(&self.swapchain_images.clone().unwrap().clone());
|
||||
|
||||
@@ -196,9 +198,6 @@ impl<'a> VkProcessor<'a> {
|
||||
.copy_buffer_to_image(self.compute_image.clone().unwrap().clone().rw_buffers.get(0).unwrap().clone(),
|
||||
self.compute_image.clone().unwrap().clone().get_swap_buffer().clone()).unwrap();
|
||||
|
||||
self.canvas.draw(canvas_frame);
|
||||
self.canvas.allocate_vertex_buffers(self.device.clone());
|
||||
|
||||
let mut command_buffer = self.canvas.draw_commands(command_buffer, framebuffers, image_num);
|
||||
|
||||
let command_buffer = command_buffer.build().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user