encase 0.7.0

Provides a mechanism to lay out data into GPU buffers ensuring WGSL's memory layout requirements are met
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use encase::{ShaderType, UniformBuffer};

#[derive(Debug, ShaderType, PartialEq, Eq)]
struct TestUniform {
    a: u32,
    b: u32,
}

#[test]
fn uniform() {
    let mut val = TestUniform { a: 4, b: 23 };

    let mut buffer = UniformBuffer::new(Vec::new());

    buffer.write(&val).unwrap();
    buffer.read(&mut val).unwrap();
    assert_eq!(val, buffer.create().unwrap());
}