3D 图形中的数学对象:向量、矩阵、射线与平面
1. 向量与矩阵乘法的 SSE 实现
在进行向量与矩阵乘法时,采用了 SSE(Streaming SIMD Extensions)优化技术,代码如下:
else {
float *ptrRet = (float*)&vcResult;
__asm {
mov ecx, this ; vector
mov edx, m ; matrix
movss xmm0, [ecx]
mov eax, ptrRet ; result vector
shufps xmm0, xmm0, 0
movss xmm1, [ecx+4]
mulps xmm0, [edx]
shufps xmm1, xmm1, 0
movss xmm2, [ecx+8]
mulps xmm1, [edx+16]
shufps xmm2, xmm2, 0
movss xmm3, [ecx+12]
mulps xmm2, [edx+32]
shufps xmm3, xmm3, 0
addps xmm0, xmm1
mulps xmm3, [edx+48]
addps xmm2, xmm3
addps xmm0, xmm2
超级会员免费看
订阅专栏 解锁全文
1848

被折叠的 条评论
为什么被折叠?



