ultraviolet:适用于游戏和图形的宽线性代数板条箱 源码
ultraviolet 这对于计算机图形学和游戏相关的线性和几何代数而言是一个箱子,但是在生产率和运行时性能方面都非常快。 就生产率而言,紫外线不使用任何泛型,并且被设计为尽可能简单地实现界面,从而缩短了编译时间并提供了清晰的代码。另外,缺少泛型和Rust类型系统的“ hacks”会导致清晰明了的错误,易于用户解析和修复。 在运行时性能方面,紫外线从一开始就设计时就考虑到了性能。为此,我们为每种类型提供两种独立的类型,每种具有几乎相同的功能,一种具有通常的标量f32值,另一种是“宽”类型,其为每个值使用SIMD f32x4向量。这种设计的意图是明确而明确的,并且还允许代码充分利用SIMD。 “宽”类型使用“ SoA”(阵列结构)体系结构,这样每个宽数据结构实际上都包含其关联数据类型的4或8个数据,并且将对所有simd“通道”进行任何操作。同时。例如,一个Vec3x8相当于将8个Vec
用户评论