Code:
error C3861: '_mm_cvtss_f32': identifier not found
Only MSVC2008 and GCC/MinGW 4.x are supporting this intrinsic and it isn't included in MSVC2005 and GCC/MinGW 3.x [check out the xmmintrin.h]
We must find an equivalent/macro for this intrinsic, because most of Horde3D guys are using MSVC2005 or GCC/MinGW 3.x and older ones.
Code:
error C2719: 'v': formal parameter with __declspec(align('16')) won't be aligned
error C2719: 'axis': formal parameter with __declspec(align('16')) won't be aligned
We can't use aligned data with functions on MSVC so we must change the following codes :
Code:
explicit Vec4f( Vec3f v ) : x( v.x ), y( v.y ), z( v.z ), w( 1.0f )
{
}
static Matrix4f RotMat( Vec3f axis, float angle )
{
axis = axis * sinf( angle / 2 );
return Matrix4f( Quaternion( axis.x, axis.y, axis.z, cosf( angle / 2 ) ) );
}
to this :
Code:
explicit Vec4f( Vec3f &v ) : x( v.x ), y( v.y ), z( v.z ), w( 1.0f )
{
}
static Matrix4f RotMat( Vec3f &axis, float angle )
{
axis = axis * sinf( angle / 2 );
return Matrix4f( Quaternion( axis.x, axis.y, axis.z, cosf( angle / 2 ) ) );
}
But I'm not sure that this is a safe way to solve this problem.
Anybody have better ideas ?