3个不稳定版本
0.1.1 | 2020年9月28日 |
---|---|
0.1.0 | 2020年5月14日 |
0.0.1 | 2020年5月12日 |
#15 in #simplex-noise
155KB
3.5K SLoC
FastNoise SIMD
FastNoiseSIMD的绑定,用于安全包装 fastnoise-simd-bindings。
FastNoise SIMD是我噪声库 FastNoise 的SIMD实现。它旨在通过使用内建(SIMD)CPU函数来提供更快的性能。代码向量化允许噪声函数以4/8/16的集合处理数据,在某些情况下(Simplex)性能提高700%。
发布FastNoise后,我与FastNoise SIMD(命名巧合)的作者取得联系,并受到启发自己使用SIMD函数。通过他的代码和他的讨论,我创建了一个实现,通过移除查找表实现了更多的优化。
运行时检测最高支持的指令集确保只编译一次即可获得最快的性能。如果没有找到支持,它将回退到标准类型(float/int)。
特性
- 值噪声3D
- Perlin噪声3D
- Simplex噪声3D
- 立方噪声3D
- 所有上述内容的多重分形选项
- 白噪声3D
- 细胞噪声3D
- 在3D空间中扰动输入坐标
- 集成上采样
- 易于使用的3D洞穴噪声
感谢CubicNoise提供立方噪声算法
支持的指令集
- ARM NEON
- AVX-512F
- AVX2 - FMA3
- SSE4.1
- SSE2
无运行时依赖
~0–2MB
~37K SLoC