Question

Heya, j'essaie d'utiliser le SIMD de Mono pour gérer les coordonnées (X, Y, Z) de mon projet, mais je ne vois que le support pour les types Vector2 et Vector4. Quelqu'un at-il déjà rencontré ce problème auparavant et existe-t-il des solutions de rechange?

Merci d'avance.

Était-ce utile?

La solution

Cela est lié à la façon dont les registres fonctionnent. Vous pouvez simplement utiliser Vector4f et définir la partie W sur 0 ou 1 (selon ce que vous voulez faire avec le vecteur) et tout ira bien.

http://tirania.org/blog/archive/2008/Nov -03.html explique:

  

Sur les processeurs x86, ces instructions   utiliser une nouvelle banque de registres (le XMM   registres) et peut être configuré pour   travailler sur 16 octets à la fois en utilisant un   nombre de combinaisons possibles:

* 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.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top