08/02/19 03:27:11
遅レスすまん
f・・・vec.h・・・?こんなの知らなかったよ。
fvec.h は実数、dvec. h は整数の CPU 拡張機能を用いた演算関連のヘッダー、でいいのかな
class Vector4 : public F32vec4
{
public:
Vector4() {}
Vector4(float ix, float iy, float iz, float iw) : F32vec4(ix, iy, iz, iw) {}
Vector4 & operator =(const F32vec4 & rhs) {*this = rhs; return *this;}
};
inline void Add(Vector4 * pO, Vector4 & iA, Vector4 & iB)
{
*pO = iA + iB;
}
inline void Normalize(Vector4 * pO, const Vector4 & i)
{
F32vec4 v2(i * i);
F32vec4 norm(sqrt(v2[0] + v2[1] + v2[2] + v2[3]));
*pO = i / norm;
}
正規化関数も作ってみた。俺の理解力だと今はこれが限界
Vector3 とかも作ってみたいが、float * 4 をパックにしなくちゃいかんから、float 1つ分余計にメモリ必要なんだな
fvec.h & dvec.h は xmmintrin.h をインクルードしてるが、直接使っても構わないかな
>>400
今まではそうしてた。あと、「};」が抜けてるからメンバ関数が inline か否か判らんぞ
追伸:Intrinsics の発音はイントリンシックスでおk?