嘿,我正在尝试使用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/

10-15 15:21