experiment with types...

This commit is contained in:
Brandon Thomas
2021-01-14 01:04:43 -05:00
parent 201c0953ed
commit 4416b53c3f
2 changed files with 67 additions and 16 deletions
+35
View File
@@ -41,4 +41,39 @@ impl Color {
Color::Custom {r, g, b} => *b, Color::Custom {r, g, b} => *b,
} }
} }
pub fn get_u32_r(&self) -> u32 {
match &self {
Color::Black => 0,
Color::White => 255,
Color::Red => 255,
Color::Green => 0,
Color::Blue => 0,
Color::Custom {r, g, b} => *r as u32,
}
}
pub fn get_u32_g(&self) -> u32 {
match &self {
Color::Black => 0,
Color::White => 255,
Color::Red => 0,
Color::Green => 255,
Color::Blue => 0,
Color::Custom {r, g, b} => *g as u32,
}
}
pub fn get_u32_b(&self) -> u32 {
match &self {
Color::Black => 0,
Color::White => 255,
Color::Red => 0,
Color::Green => 0,
Color::Blue => 255,
Color::Custom {r, g, b} => *b as u32,
}
}
} }
+32 -16
View File
@@ -9,10 +9,14 @@ pub struct Point {
pub y: f32, pub y: f32,
pub z: f32, pub z: f32,
_unused: f32, _unused: f32,
pub r: f32, //pub r: f32,
pub g: f32, //pub g: f32,
pub b: f32, //pub b: f32,
pub a: f32, //pub a: f32,
pub r: u32,
pub g: u32,
pub b: u32,
pub a: u32,
} }
impl Point { impl Point {
@@ -23,10 +27,14 @@ impl Point {
y, y,
z, z,
_unused: 0.0f32, _unused: 0.0f32,
r: color.get_f32_r(), //r: color.get_f32_r(),
g: color.get_f32_g(), //g: color.get_f32_g(),
b: color.get_f32_b(), //b: color.get_f32_b(),
a: 1.0f32, //a: 1.0f32,
r: color.get_u32_r(),
g: color.get_u32_g(),
b: color.get_u32_b(),
a: 1,
} }
} }
@@ -43,10 +51,14 @@ impl Point {
y, y,
z, z,
_unused: 0.0f32, _unused: 0.0f32,
r: color.get_f32_r(), //r: color.get_f32_r(),
g: color.get_f32_g(), //g: color.get_f32_g(),
b: color.get_f32_b(), //b: color.get_f32_b(),
a: 1.0f32, //a: 1.0f32,
r: color.get_u32_r(),
g: color.get_u32_g(),
b: color.get_u32_b(),
a: 1,
} }
} }
@@ -57,10 +69,14 @@ impl Point {
buf.put_f32(self.y); buf.put_f32(self.y);
buf.put_f32(self.z); buf.put_f32(self.z);
buf.put_f32(0.0f32); // Unused buf.put_f32(0.0f32); // Unused
buf.put_f32(self.r); //buf.put_f32(self.r);
buf.put_f32(self.g); //buf.put_f32(self.g);
buf.put_f32(self.b); //buf.put_f32(self.b);
buf.put_f32(self.a); //buf.put_f32(self.a);
buf.put_u32(self.r);
buf.put_u32(self.g);
buf.put_u32(self.b);
buf.put_u32(self.a);
buf.to_vec() buf.to_vec()
} }