嘿,我正在尝试使用Mono的SIMD处理项目中的坐标(X,Y,Z),
但我只看到对Vector2和Vector4类型的支持。之前有人遇到过这种情况吗?有没有解决方法?
提前致谢。
最佳答案
这与寄存器的工作方式有关。您可以只使用Vector4f并将W
部分设置为0或1(取决于您要对向量执行的操作),一切都会好起来的。
http://tirania.org/blog/archive/2008/Nov-03.html解释:
在x86处理器上,这些说明
使用新的注册银行(XMM
寄存器),并可以配置为
使用一次每次处理16个字节
可能的组合数量:
* byte-level operations on 16 elements.
* short-level operations on 8 elements.
* single precision or integer-level operations on 4 elements.
* double precision or long-integer operations on 2 elements.
关于c# - Mono.Simd Vector3(浮点数)丢失了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1627699/