1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
use bytemuck::Zeroable; use crate::std140::{self, AsStd140}; impl AsStd140 for mint::Vector2<f32> { type Std140Type = std140::Vec2; fn as_std140(&self) -> Self::Std140Type { std140::Vec2 { x: self.x, y: self.y, } } } impl AsStd140 for mint::Vector3<f32> { type Std140Type = std140::Vec3; fn as_std140(&self) -> Self::Std140Type { std140::Vec3 { x: self.x, y: self.y, z: self.z, } } } impl AsStd140 for mint::Vector4<f32> { type Std140Type = std140::Vec4; fn as_std140(&self) -> Self::Std140Type { std140::Vec4 { x: self.x, y: self.y, z: self.z, w: self.w, } } } impl AsStd140 for mint::ColumnMatrix2<f32> { type Std140Type = std140::Mat2; fn as_std140(&self) -> Self::Std140Type { std140::Mat2 { x: self.x.as_std140(), y: self.y.as_std140(), ..Zeroable::zeroed() } } } impl AsStd140 for mint::ColumnMatrix3<f32> { type Std140Type = std140::Mat3; fn as_std140(&self) -> Self::Std140Type { std140::Mat3 { x: self.x.as_std140(), y: self.y.as_std140(), z: self.z.as_std140(), ..Zeroable::zeroed() } } } impl AsStd140 for mint::ColumnMatrix4<f32> { type Std140Type = std140::Mat4; fn as_std140(&self) -> Self::Std140Type { std140::Mat4 { x: self.x.as_std140(), y: self.y.as_std140(), z: self.z.as_std140(), w: self.w.as_std140(), } } }