#vfx #graphics #traits #imath #vec3 #vec4

imath-traits

为VFX库提供实用特性,以实现对数学库的透明性

7个版本 (破坏性)

0.7.0 2022年7月28日
0.6.0 2021年11月16日
0.5.0 2021年11月16日
0.4.0 2021年7月3日
0.1.0 2021年5月25日

#451 in 图形API


用于 2 仓库

自定义许可

37KB
1.5K SLoC

imath-traits

imath-traits提供一组特性,这些特性限制了Rust翻译C++ API中使用的类型,这些API依赖于ImathImath-alike类型。

这仅关乎内存布局以及能否将实现类型转换回切片和指针,以便在FFI调用中使用,因此这些特性不包含其他方法,仅包含在切片和原始指针之间进行转换的方法。

使用方法,只需将所需数学库的特性添加到使用imath-traits的任何crate的依赖中(这些将被称为imath_<crate>),并且类型将直接与该crate中任何期望Vec2、Vec3、Vec4、Bound2或Bound3的函数一起工作

openexr = { version = "0.10-3.0.1", features=["imath_cgmath"] }

目前,我们支持glam、nalgebra和nalgebra_glm。如果您需要另一个数学库,实现对其的支持并提交PR,或提出请求。注意,该crate必须支持i32、f32和f64的2维、3维和4维向量。

依赖

~0.2–1.7MB
~42K SLoC