rFactor2_vk_hud/src/overlay/elements/mod.rs

48 lines
1.2 KiB
Rust

mod leaderboard;
mod pedals;
mod radar;
mod watermark;
pub use leaderboard::*;
pub use pedals::*;
pub use radar::*;
pub use watermark::*;
#[derive(Clone)]
pub struct PositionOnlyVertex {
pub position: cgmath::Vector4<f32>,
}
impl PositionOnlyVertex {
///
/// corners[0] - bottom left
/// corners[1] - top left
/// corners[2] - top right
/// corners[3] - bottom right
///
pub fn from_2d_corners(
ortho: cgmath::Matrix4<f32>,
corners: [cgmath::Vector2<f32>; 4],
) -> [Self; 6] {
[
Self {
position: ortho * corners[0].extend(0.0).extend(1.0),
},
Self {
position: ortho * corners[1].extend(0.0).extend(1.0),
},
Self {
position: ortho * corners[2].extend(0.0).extend(1.0),
},
Self {
position: ortho * corners[2].extend(0.0).extend(1.0),
},
Self {
position: ortho * corners[3].extend(0.0).extend(1.0),
},
Self {
position: ortho * corners[0].extend(0.0).extend(1.0),
},
]
}
}