// pub fn align(size: u32, alignment: u32) -> u32 {
// ((size + alignment - 1) / alignment) * alignment
// }
// pub fn align_usz(size: usize, alignment: usize) -> usize {
// ((size + alignment - 1) / alignment) * alignment
// }
// https://iolite-engine.com/blog_posts/reverse_z_cheatsheet
//transforms a reverse-z depth buffer to linear depth
//https://stackoverflow.com/a/77388975