From f1d60493f44483af55b16c09bc8378cae86f4561 Mon Sep 17 00:00:00 2001 From: mitchellhansen Date: Wed, 29 Jul 2020 21:48:12 -0700 Subject: [PATCH] . --- resources/images/ford2.jpg | Bin 0 -> 102232 bytes resources/shaders/simple-edge.compute | 6 ++- src/canvas/canvas_frame.rs | 9 ++++ src/canvas/canvas_state.rs | 3 -- src/drawables/sprite.rs | 63 +++++++++++++++++--------- src/main.rs | 20 ++++---- src/vkprocessor.rs | 1 + 7 files changed, 68 insertions(+), 34 deletions(-) create mode 100644 resources/images/ford2.jpg diff --git a/resources/images/ford2.jpg b/resources/images/ford2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0f215f5bc50027a5067fa36d7c8acac444aa8f1 GIT binary patch literal 102232 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 z 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%0DOz(;_}Uv7~f+wkJrm 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 literal 0 HcmV?d00001 diff --git a/resources/shaders/simple-edge.compute b/resources/shaders/simple-edge.compute index b7f404f5..60b90632 100644 --- a/resources/shaders/simple-edge.compute +++ b/resources/shaders/simple-edge.compute @@ -55,10 +55,12 @@ void main() { if ((m.x + m.y + m.z) > 200){ p.x = 0; p.y = 0; - p.z = p.z * 2; + p.z = 255; } else { - //p.w = 125; + p.x = 0; + p.y = 0; + p.z = 0; } //write_buffer.buf[0] = write_buffer.buf[0]; diff --git a/src/canvas/canvas_frame.rs b/src/canvas/canvas_frame.rs index 41bd52a9..540d28c3 100644 --- a/src/canvas/canvas_frame.rs +++ b/src/canvas/canvas_frame.rs @@ -7,12 +7,18 @@ use crate::canvas::managed::handles::{CanvasTextureHandle, CanvasImageHandle, Ca use vulkano::pipeline::vertex::Vertex; use std::any::Any; use crate::VertexTypes; +use vulkano::sync::Event; /// Trait which may be inherited by objects that wish to be drawn to the screen pub trait Drawable { fn get(&self) -> VertexTypes; } +/// Trait which may be inherited by objects that wish to receive events +pub trait Eventable { + fn notify(&self, event: &Event) -> (); +} + /// Accumulator for Vectors of VertexTypes #[derive(Default)] pub struct CanvasFrame { @@ -26,3 +32,6 @@ impl CanvasFrame { self.map.push(drawable.get()); } } + + + diff --git a/src/canvas/canvas_state.rs b/src/canvas/canvas_state.rs index 1af6d9d3..45d7acc0 100644 --- a/src/canvas/canvas_state.rs +++ b/src/canvas/canvas_state.rs @@ -499,7 +499,6 @@ impl CanvasState { ).unwrap(); } - // Images let mut shader = self.shader_buffers.get( self.get_shader_handle(String::from("simple_image")) @@ -543,8 +542,6 @@ impl CanvasState { } } - - // Text // let mut shader = self.shader_buffers.get( // self.get_shader_handle(String::from("simple_text")) diff --git a/src/drawables/sprite.rs b/src/drawables/sprite.rs index b00f9e12..e7366b0b 100644 --- a/src/drawables/sprite.rs +++ b/src/drawables/sprite.rs @@ -1,13 +1,13 @@ use std::sync::Arc; use crate::canvas::*; use crate::canvas::managed::handles::{CanvasFontHandle, CanvasImageHandle, CanvasTextureHandle, Handle}; -use crate::canvas::canvas_frame::{Drawable}; +use crate::canvas::canvas_frame::{Drawable, Eventable}; use crate::util::vertex::{VertexTypes, TextureVertex3D, Vertex3D}; +use winit::event::{DeviceEvent, MouseButton, ElementState, Event}; /// #[derive(Debug, Clone)] pub struct Sprite { - pub verts: VertexTypes, position: (f32, f32), @@ -16,34 +16,38 @@ pub struct Sprite { /// Container class which implements drawable. impl Sprite { - /// pub fn new(position: (f32, f32), - size: (f32, f32), - depth: u32, - texture_handle: Arc) -> Sprite { - + size: (f32, f32), + depth: u32, + texture_handle: Arc) -> Sprite { let normalized_depth = (depth as f32 / 255.0); let verts = vec![ - TextureVertex3D{ + TextureVertex3D { v_position: [position.0, position.1, normalized_depth], // top left - ti_position: [-0.0, -0.0] }, - TextureVertex3D{ + ti_position: [-0.0, -0.0], + }, + TextureVertex3D { v_position: [position.0, position.1 + size.1, normalized_depth], // bottom left - ti_position: [-0.0, 1.0] }, - TextureVertex3D{ + ti_position: [-0.0, 1.0], + }, + TextureVertex3D { v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right - ti_position: [1.0, 1.0] }, - TextureVertex3D{ + ti_position: [1.0, 1.0], + }, + TextureVertex3D { v_position: [position.0, position.1, normalized_depth], // top left - ti_position: [-0.0, -0.0] }, - TextureVertex3D{ + ti_position: [-0.0, -0.0], + }, + TextureVertex3D { v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right - ti_position: [1.0, 1.0] }, - TextureVertex3D{ + ti_position: [1.0, 1.0], + }, + TextureVertex3D { v_position: [position.0 + size.0, position.1, normalized_depth], // top right - ti_position: [1.0, -0.0] }, + ti_position: [1.0, -0.0], + }, ]; Sprite { @@ -53,12 +57,29 @@ impl Sprite { } } } -impl Drawable for Sprite{ + +impl Drawable for Sprite { fn get(&self) -> VertexTypes { self.verts.clone() } - } +impl Eventable for Sprite { + fn notify(&self, event: &Event) -> () { + match event { + Event::DeviceEvent { event: DeviceEvent::Button{button, state }, .. } => { + match button.id.unwrap() { + MouseButton::Left => { + if state.state == ElementState::Pressed { + // processor.save_edges_image(); + } + }, + _ => () + } + } + _ => {} + } + } +} diff --git a/src/main.rs b/src/main.rs index 2598216c..9663c43a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -87,7 +87,7 @@ pub fn main() { let mut accumulator_time: f32 = 0.0; let mut current_time: f32 = timer.elap_time(); - let image_data = load_raw(String::from("funky-bird.jpg")); + let image_data = load_raw(String::from("ford2.jpg")); let image_dimensions_f: (f32, f32) = ((image_data.1).clone().0 as f32, (image_data.1).clone().1 as f32); let image_dimensions_u: (u32, u32) = image_data.1; let compu_sprite1: CompuSprite = @@ -95,9 +95,6 @@ pub fn main() { // Swap image to render the result to. Must match dimensions processor.new_swap_image(image_dimensions_u)); - - // Demo gpu toolpath generation - // Need to let compute_buffer: Arc = processor.new_compute_buffer(image_data.0.clone(), image_data.1, 4); @@ -149,6 +146,16 @@ pub fn main() { // } + + + + + + + + + + // Events loop is borrowed from the surface events_loop.run(move |event, _, control_flow| { match event { @@ -163,15 +170,12 @@ pub fn main() { let mut canvas_frame = CanvasFrame::default(); canvas_frame.draw(&funky_sprite); canvas_frame.draw(&text_sprite); -// canvas_frame.draw(&rect); + canvas_frame.draw(&compu_sprite1); let mut compu_frame = CompuFrame::new(); - //compu_frame.add(compute_buffer.clone(), compute_kernel.clone()); compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1); compu_frame.add(compute_buffer.clone(), compute_kernel.clone()); - canvas_frame.draw(&compu_sprite1); - { let g = hprof::enter("Run"); processor.run(&surface.clone(), diff --git a/src/vkprocessor.rs b/src/vkprocessor.rs index cf0a1d1d..6c5edf4f 100644 --- a/src/vkprocessor.rs +++ b/src/vkprocessor.rs @@ -153,6 +153,7 @@ impl VkProcessor { /// A hardcoded list of textures which can be preloaded from this function pub fn preload_textures(&mut self) { + self.canvas_state.load_texture(String::from("ford2.jpg")); self.canvas_state.load_texture(String::from("funky-bird.jpg")); self.canvas_state.load_texture(String::from("button.png")); self.canvas_state.load_texture(String::from("background.jpg"));