3个版本
使用旧的Rust 2015
0.1.2 | 2017年9月2日 |
---|---|
0.1.1 | 2017年9月2日 |
0.1.0 | 2017年9月2日 |
#4 in #cg
124 每月下载量
13KB
111 行
紧凑的4D,32位2-10-10-10向量
这是一个32位的4维向量,其中第一个维度有2位,最后三个维度各有10位。它适用于表示带有alpha通道的颜色,其中alpha通道不需要很高的精度。
它与OpenGL中的GL_UNSIGNED_INT_2_10_10_10_REV
兼容。
示例
extern crate vec_2_10_10_10;
fn main() {
let value = vec_2_10_10_10::Vector::new(0.444, 0.555, 0.666, 0.2);
assert!(approx_equal(value.x(), 0.444));
assert!(approx_equal(value.y(), 0.555));
assert!(approx_equal(value.z(), 0.666));
// 2 bits means only possible values are 0, 0.3(3), 0.6(6) and 1.
assert!(approx_equal(value.w(), 0.333));
}
fn approx_equal(a: f32, b: f32) -> bool {
const DELTA: f32 = 0.001;
a > b - DELTA && a < b + DELTA
}
安装
在你的Cargo.toml
中添加
vec-2-10-10-10 = "0.1"
添加对crate的引用
extern crate vec_2_10_10_10;
许可证
在以下两者中选择一个许可证
- Apache许可证,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则你提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证的定义,应如上双许可,不附加任何额外条款或条件。