Newer
Older
Import / research / ui / TweakableProperties / toolkit / src / GL / Math.cpp
@John John on 29 Dec 2020 569 bytes bulk import from macbookpro checkouts
#include "GL/Math.h"


BEGIN_NAMESPACE


Mat4x4f MatrixMult(Mat4x4f& a_mat1, Mat4x4f& a_mat2)
{
	Mat4x4f res;
	for (int i = 0; i < 4; ++i)
	{
		for (int j = 0; j < 4; ++j)
		{
			res.m[i*4+j] = 0;
			for (int k = 0; k < 4; ++k)
				res.m[i*4+j] += a_mat1.m[j*4+k] * a_mat2.m[k*4+i];
		}
	}
	return res;
}


Vec4f Transform(Mat4x4f& a_mat, Vec4f& a_vec)
{
	Vec4f res;
	for (int i = 0; i < 4; ++i)
	{
		res.v[i] = 0;
		for (int j = 0; j < 4; ++j)
		{
			res.v[i] += a_mat.m[j*4+i] * a_vec.v[j];
		}
	}
	return res;
}


END_NAMESPACE