ねえ、プロジェクトで 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.