Matrix buffer
The matrix buffer is used when the output from a function is complex. This is safer than having pointers to special datatypes and still very fast. Use the get methods for different elements after calling a method that returns the result to it.
The get methods are used to retrieve elements from complex results.
float GetX1(void);
float GetY1(void);
...
float GetZ4(void);
float GetW4(void);
The set methods can be used to test if your application can get output from the matrix buffer.
void SetX1(float newValue);
void SetY1(float newValue);
...
void SetZ4(float newValue);
void SetW4(float newValue);
Methods including "_InV2", "_OutV2" uses a 2D vector at (X1,Y1)
Methods including "_InV3", "_OutV3" uses a 3D vector at (X1,Y1,Z1)
Methods including "_InV4", "_OutV4" uses a 4D vector at (X1,Y1,Z1,W1)
Methods including "_InM2", "_OutM2" uses a 2x2 matrix at ((X1,Y1),(X2,Y2))
Methods including "_InM3", "_OutM3" uses a 3x3 matrix at ((X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3))
Methods including "_InM4", "_OutM4" uses a 4x4 matrix at ((X1,Y1,Z1,W1),(X2,Y2,Z2,W2),(X3,Y3,Z3,W3),(X4,Y4,Z4,W4))
Methods including "_In2V3", "_Out2V3" uses a 3D vector at (X1,Y1,Z1) and another 3D vector at (X2,Y2,Z2)
Methods including "_In2V4", "_Out2V4" uses a 4D vector at (X1,Y1,Z1,W1) and another 4D vector at (X2,Y2,Z2,W2)
Methods including "_In3V4", "_Out3V4" uses a 4D vector at (X1,Y1,Z1,W1), another 4D vector at (X2,Y2,Z2,W2) and a third 4D vector at (X3,Y3,Z3,W3)