moved over to the enum method of drawing. Not flexible, but type safe
This commit is contained in:
65
src/main.rs
65
src/main.rs
@@ -22,7 +22,6 @@ use sprite::Sprite;
|
||||
|
||||
use crate::util::load_raw;
|
||||
|
||||
use crate::sprite::{Poly, Text, TextHandle, TextVertex, TextInstance};
|
||||
use vulkano::instance::debug::DebugCallback;
|
||||
use crate::compute::compu_frame::CompuFrame;
|
||||
use crate::canvas::canvas_frame::{CanvasFrame, CanvasFrameTest, DrawableTest};
|
||||
@@ -30,6 +29,7 @@ use crate::compute::managed::compu_sprite::CompuSprite;
|
||||
use std::sync::Arc;
|
||||
use crate::canvas::managed::handles::{CanvasTextureHandle, Handle};
|
||||
use crate::canvas::canvas_frame::dynhash::DynHash;
|
||||
use crate::util::vertex::{VertexTypes, TextureVertex2D};
|
||||
|
||||
|
||||
pub mod util;
|
||||
@@ -57,48 +57,6 @@ pub mod compute;
|
||||
|
||||
*/
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct TextureVertex2D {
|
||||
pub v_position: [f32; 2],
|
||||
pub ti_position: [f32; 2],
|
||||
}
|
||||
vulkano::impl_vertex!(TextureVertex2D, v_position, ti_position);
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct ColorVertex2D {
|
||||
pub v_position: [f32; 2],
|
||||
pub color: [f32; 4],
|
||||
}
|
||||
vulkano::impl_vertex!(ColorVertex2D, v_position, color);
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct ImageVertex2D {
|
||||
pub v_position: [f32; 2],
|
||||
pub color: [f32; 4],
|
||||
}
|
||||
vulkano::impl_vertex!(ImageVertex2D, v_position, color);
|
||||
|
||||
#[derive(Clone)]
|
||||
pub enum VertexTypes {
|
||||
TextureType(Vec<TextureVertex2D>),
|
||||
ColorType(Vec<ColorVertex2D>),
|
||||
ImageType(Vec<ImageVertex2D>),
|
||||
}
|
||||
|
||||
pub struct DrawableTestee {
|
||||
vertices: VertexTypes,
|
||||
handle: Arc<CanvasTextureHandle>,
|
||||
}
|
||||
|
||||
impl<VTypes: Into<VertexTypes>, H: Handle + DynHash> DrawableTest<VTypes, H> for DrawableTestee {
|
||||
fn get_vertices(&self) -> VTypes {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
fn get_handle(&self) -> H {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
hprof::start_frame();
|
||||
@@ -162,12 +120,12 @@ pub fn main() {
|
||||
let sfml_handle = processor.get_texture_handle(String::from("sfml.png")).unwrap();
|
||||
let font_handle = processor.get_font_handle(String::from("sansation.ttf")).unwrap();
|
||||
|
||||
let funky_sprite = Sprite::new_with_texture((0.0, -0.5), (0.5, 0.5), 0, funky_handle.clone());
|
||||
let sfml_sprite = Sprite::new_with_texture((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());
|
||||
let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), font_handle.clone());
|
||||
let funky_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 0, funky_handle.clone());
|
||||
let sfml_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());
|
||||
//let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), font_handle.clone());
|
||||
|
||||
|
||||
let test_polygon = Poly::new_with_color((-0.5, -0.5), (0.5, 0.5), 1, (1.0,0.0,0.0,0.0));
|
||||
//let test_polygon = Poly::new_with_color((-0.5, -0.5), (0.5, 0.5), 1, (1.0,0.0,0.0,0.0));
|
||||
|
||||
drop(q2);
|
||||
drop(q1);
|
||||
@@ -226,17 +184,12 @@ pub fn main() {
|
||||
break;
|
||||
}
|
||||
|
||||
let sprite = Sprite::new((0.0,0.0), (0.0,0.0));
|
||||
|
||||
let dt = DrawableTestee {
|
||||
vertices: VertexTypes::TexturedType(vec![ImplVertexData1 {x:0,y:0}]),
|
||||
handle: Arc::new(CanvasTextureHandle{ handle: 0 })
|
||||
};
|
||||
let mut canvas_frame : CanvasFrameTest<VertexTypes> =
|
||||
CanvasFrameTest{ map: Default::default() };
|
||||
let funky_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 0, funky_handle.clone());
|
||||
|
||||
canvas_frame.draw(dt.vertices);
|
||||
canvas_frame.draw(sprite.get_vertices());
|
||||
let mut canvas_frame = CanvasFrameTest::default();
|
||||
canvas_frame.draw(&funky_sprite);
|
||||
canvas_frame.draw(&sfml_sprite);
|
||||
|
||||
let mut compu_frame = CompuFrame::new();
|
||||
// compu_frame.add(compute_buffer.clone(), compute_kernel.clone());
|
||||
|
||||
Reference in New Issue
Block a user