Module Documentation
FM4, S6E2DH/S6E2DF/S6E2D5/S6E2D3 Series, 32-Bit Microcontroller, Graphic Driver User Manual, Doc. No. 002-04387 Rev. *A
168
utMat4x4RotX(m44, 40);
//fAngle);
utMat4x4RotZ(m44, 30);
//fAngle2);
utMat4x4Scale(m44, (float)2 / iw, (float)2 / ih, 1);
utMat4x4Translate(m44, -iw / 2.0f, -ih/2.0f, 0);
//utMat4x4Trace("M4x4", m44);
utMat4x4ToMat3x3(m44, m33);
//utMat3x3Trace("M3x3", m33);
mmlGdcPeSetMatrix(ctx, MML_GDC_PE_SRC, MML_GDC_PE_GEO_MATRIX_FORMAT_3X3, m33);
11.17.2 Macro Definition Documentation
11.17.2.1 #define MML_GDC_2D_MATRIX_API extern
MML_GDC_2D_MATRIX_API can be used to define function types like dll export.
11.17.3 Typedef Documentation
11.17.3.1 typedef MM_FLOAT Mat3x2[6]
Matrix with 3 columns and 2 rows for a fine geometry operations. If m is a Mat3x2 matrix type and x,y in an
input vector the resulting vector is:
�
m[0] m[2] m[4]
m[1] m[3] m[5]
�
×
�
x
y
�
=
�
(m[0] × x) + (m[2] × y) + m[4]
(m[1] × x) + (m[3] × y) + m[5]
�
11.17.3.2 typedef MM_FLOAT Mat3x3[9]
Matrix with 3 columns and 3 rows for perspective geometry operations. If m is a Mat3x3 matrix type and x,y in an
input vector the resulting vector is:
�
m[0] m[3] m[6]
m[1] m[4] m[7]
m[2] m[5] m[8]
�
×
�
y
x
1
�
=
⎝
⎜
⎜
⎜
⎜
⎛
m[0] × x + m[3] × y + m[6]
m[2] × x + m[5] × y + m[8]
m[1] × x + m[4] × y + m[7]
m[2] × x + m[5] × y + m[8]
1
⎠
⎟
⎟
⎟
⎟
⎞
11.17.3.3 typedef MM_FLOAT Mat4x3[12]
Matrix with 4 columns and 3 rows for color operations with the R, G, B or Y, U, V channels. If m is a Mat4x3 matrix
type and R, G, B in an input vector the resulting vector is:
�
m[0] m[3] m[6] m[9]
m[1] m[4] m[7] m[12]
m[2] m[5] m[8] m[11]
�
×
�
R
G
B
�
=
�
m[0] × R + m[3] × G + m[6] × B + m[9]
m[1] × R + m[4] × G + m[7] × B + m[10]
m[2] × R + m[5] × G + m[8] × B + m[11]
�