Small but effective optimisations.

Allow inlining the function helps a bit!
This commit is contained in:
Godzil
2020-03-13 01:04:56 +00:00
parent 4f2e327533
commit 5b6b627a43
4 changed files with 25 additions and 7 deletions

View File

@@ -101,9 +101,10 @@ Matrix Matrix::operator*(const Matrix &b) const
return ret;
}
#define FastGet4(_x, _y) (this->data[4 * (_x) + (_y)])
//#define FastGet4(_x, _y) (this->data[4 * (_x) + (_y)])
/* TODO: Check if we can optimise this function. It is called a lot */
/*
Tuple Matrix::operator*(const Tuple &b) const
{
return Tuple(b.x * FastGet4(0, 0) + b.y * FastGet4(0, 1) + b.z * FastGet4(0, 2) + b.w * FastGet4(0, 3),
@@ -111,7 +112,7 @@ Tuple Matrix::operator*(const Tuple &b) const
b.x * FastGet4(2, 0) + b.y * FastGet4(2, 1) + b.z * FastGet4(2, 2) + b.w * FastGet4(2, 3),
b.x * FastGet4(3, 0) + b.y * FastGet4(3, 1) + b.z * FastGet4(3, 2) + b.w * FastGet4(3, 3));
}
*/
Matrix Matrix::identity()
{
int i;