MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / GetMxbCombine

Function GetMxbCombine

src/OpenColorIO/MathUtils.cpp:316–332  ·  view source on GitHub ↗

All m(s) are 4x4. All v(s) are size 4 vectors. Return mout, vout, where mout*x+vout == m2*(m1*x+v1)+v2 mout = m2*m1 vout = m2*v1 + v2

Source from the content-addressed store, hash-verified

314// mout = m2*m1
315// vout = m2*v1 + v2
316void GetMxbCombine(float* mout, float* vout,
317 const float* m1_, const float* v1_,
318 const float* m2_, const float* v2_)
319{
320 float m1[16];
321 float v1[4];
322 float m2[16];
323 float v2[4];
324 memcpy(m1, m1_, 16*sizeof(float));
325 memcpy(v1, v1_, 4*sizeof(float));
326 memcpy(m2, m2_, 16*sizeof(float));
327 memcpy(v2, v2_, 4*sizeof(float));
328
329 GetM44M44Product(mout, m2, m1);
330 GetM44V4Product(vout, m2, v1);
331 GetV4Sum(vout, vout, v2);
332}
333
334bool GetMxbInverse(float* mout, float* vout,
335 const float* m_, const float* v_)

Callers 1

OCIO_ADD_TESTFunction · 0.85

Calls 3

GetM44M44ProductFunction · 0.85
GetM44V4ProductFunction · 0.85
GetV4SumFunction · 0.85

Tested by 1

OCIO_ADD_TESTFunction · 0.68