当前位置: 首页>>代码示例>>C++>>正文


C++ mat4::m128方法代码示例

本文整理汇总了C++中mat4::m128方法的典型用法代码示例。如果您正苦于以下问题:C++ mat4::m128方法的具体用法?C++ mat4::m128怎么用?C++ mat4::m128使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mat4的用法示例。


在下文中一共展示了mat4::m128方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: transpose

mat4 transpose( const mat4& m )
{
	mat4 res;

#ifdef SLMATH_SSE2_MSVC
    
	const m128_t* const mp = m.m128();
	m128_t* const resp = res.m128();
    m128_t tmp0 = _mm_shuffle_ps(mp[0], mp[1], 0x44);
    m128_t tmp2 = _mm_shuffle_ps(mp[0], mp[1], 0xEE);
    m128_t tmp1 = _mm_shuffle_ps(mp[2], mp[3], 0x44);
    m128_t tmp3 = _mm_shuffle_ps(mp[2], mp[3], 0xEE);
	resp[0] = _mm_shuffle_ps(tmp0, tmp1, 0x88);
    resp[1] = _mm_shuffle_ps(tmp0, tmp1, 0xDD);
    resp[2] = _mm_shuffle_ps(tmp2, tmp3, 0x88);
    resp[3] = _mm_shuffle_ps(tmp2, tmp3, 0xDD);

#else
	
	for ( size_t j = 0 ; j < 4 ; ++j )
	{
		res[0][j] = m[j][0];
		res[1][j] = m[j][1];
		res[2][j] = m[j][2];
		res[3][j] = m[j][3];
	}

#endif

	return res;
}
开发者ID:kajala,项目名称:slmath,代码行数:31,代码来源:mat4.cpp


注:本文中的mat4::m128方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。