MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / vm_MatrixMul

Function vm_MatrixMul

vecmat/vector.cpp:344–360  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

342}
343
344void vm_MatrixMul(matrix *dest, matrix *src0, matrix *src1) {
345 // For multiplying two 3x3 matrices together
346
347 assert((dest != src0) && (dest != src1));
348
349 dest->rvec.x = vm_Dot3Vector(src0->rvec.x, src0->uvec.x, src0->fvec.x, &src1->rvec);
350 dest->uvec.x = vm_Dot3Vector(src0->rvec.x, src0->uvec.x, src0->fvec.x, &src1->uvec);
351 dest->fvec.x = vm_Dot3Vector(src0->rvec.x, src0->uvec.x, src0->fvec.x, &src1->fvec);
352
353 dest->rvec.y = vm_Dot3Vector(src0->rvec.y, src0->uvec.y, src0->fvec.y, &src1->rvec);
354 dest->uvec.y = vm_Dot3Vector(src0->rvec.y, src0->uvec.y, src0->fvec.y, &src1->uvec);
355 dest->fvec.y = vm_Dot3Vector(src0->rvec.y, src0->uvec.y, src0->fvec.y, &src1->fvec);
356
357 dest->rvec.z = vm_Dot3Vector(src0->rvec.z, src0->uvec.z, src0->fvec.z, &src1->rvec);
358 dest->uvec.z = vm_Dot3Vector(src0->rvec.z, src0->uvec.z, src0->fvec.z, &src1->uvec);
359 dest->fvec.z = vm_Dot3Vector(src0->rvec.z, src0->uvec.z, src0->fvec.z, &src1->fvec);
360}
361
362// Multiply a matrix times the transpose of a matrix
363void vm_MatrixMulTMatrix(matrix *dest, matrix *src0, matrix *src1) {

Callers 2

OnDrawMethod · 0.50
TCSSSCallbackFunction · 0.50

Calls 1

vm_Dot3VectorFunction · 0.85

Tested by

no test coverage detected