Mono.Simd Vector3 (flotadores) ¿falta?
Pregunta
Heya, estoy tratando de usar el SIMD de Mono para manejar coordenadas (X, Y, Z) en mi proyecto, pero solo veo soporte para los tipos Vector2 y Vector4. ¿Alguien se ha encontrado con esto antes, y hay alguna solución?
Gracias de antemano.
Solución
Eso está relacionado con la forma en que funcionan los registros. Puede usar el Vector4f y establecer la parte W
en 0 o 1 (dependiendo de lo que quiera hacer con el vector) y todo estará bien.
http://tirania.org/blog/archive/2008/Nov -03.html explica:
En procesadores x86 estas instrucciones usar un nuevo banco de registro (el XMM registros) y se puede configurar para trabajar en 16 bytes a la vez utilizando un Número de combinaciones posibles:
* 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.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow