wgsl_to_wgpu 0.15.2

Generate typesafe Rust bindings from WGSL shaders to wgpu
Documentation
---
source: wgsl_to_wgpu/src/consts.rs
---
pub struct OverrideConstants {
    pub b1: Option<bool>,
    pub b2: Option<bool>,
    pub b3: bool,
    pub f1: Option<f32>,
    pub f2: f32,
    pub i1: Option<i32>,
    pub i2: i32,
    pub i3: Option<i32>,
    pub a: Option<f32>,
    pub b: Option<f32>,
}
impl OverrideConstants {
    pub fn constants(&self) -> Vec<(&'static str, f64)> {
        let mut entries = vec![
            ("b3", if self.b3 { 1.0 } else { 0.0 }),
            ("f2", self.f2 as f64),
            ("i2", self.i2 as f64),
        ];
        if let Some(value) = self.b1 {
            entries.push(("b1", if value { 1.0 } else { 0.0 }));
        };
        if let Some(value) = self.b2 {
            entries.push(("b2", if value { 1.0 } else { 0.0 }));
        };
        if let Some(value) = self.f1 {
            entries.push(("f1", value as f64));
        };
        if let Some(value) = self.i1 {
            entries.push(("i1", value as f64));
        };
        if let Some(value) = self.i3 {
            entries.push(("i3", value as f64));
        };
        if let Some(value) = self.a {
            entries.push(("0", value as f64));
        };
        if let Some(value) = self.b {
            entries.push(("35", value as f64));
        }
        entries
    }
}