Added sprite and better vertex format. works, but now I lost texturing
This commit is contained in:
34
src/sprite.rs
Normal file
34
src/sprite.rs
Normal file
@@ -0,0 +1,34 @@
|
||||
use crate::vertex_2d::ColoredVertex2D;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Sprite {
|
||||
vertices: [ColoredVertex2D; 6],
|
||||
color: [f32; 4],
|
||||
}
|
||||
|
||||
impl Sprite {
|
||||
|
||||
pub fn new(position: (f32, f32), size: (u32, u32)) -> Sprite {
|
||||
Sprite::new_with_color(position, size, (0.,0.,0.,0.))
|
||||
}
|
||||
|
||||
pub fn new_with_color(position: (f32, f32), size: (u32, u32), color: (f32, f32, f32, f32)) -> Sprite {
|
||||
|
||||
let size = (size.0 as f32, size.1 as f32);
|
||||
|
||||
let color = [color.0, color.1, color.2, color.3];
|
||||
|
||||
Sprite {
|
||||
vertices: [
|
||||
ColoredVertex2D { position: [ position.0, position.1 ], color }, // top left
|
||||
ColoredVertex2D { position: [ position.0, position.1 + size.1], color }, // bottom left
|
||||
ColoredVertex2D { position: [ position.0 + size.0, position.1 + size.1 ], color }, // bottom right
|
||||
|
||||
ColoredVertex2D { position: [ position.0, position.1 ], color }, // top left
|
||||
ColoredVertex2D { position: [ position.0 + size.0, position.1 + size.1 ], color }, // bottom right
|
||||
ColoredVertex2D { position: [ position.0 + size.0, position.1 ], color }, // top right
|
||||
],
|
||||
color: color,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user