public static D2D_MATRIX_4X4_F Scale(float x, float y, float z) { var scale = new D2D_MATRIX_4X4_F(); scale._11 = x; scale._22 = y; scale._33 = z; scale._44 = 1f; return(scale); }
public static D2D_MATRIX_4X4_F Identity() { var m = new D2D_MATRIX_4X4_F(); m._11 = 1; m._22 = 1; m._33 = 1; m._44 = 1; return(m); }
// C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\d2d1_1helper.h public static D2D_MATRIX_4X4_F Translation(float x, float y, float z) { var translation = new D2D_MATRIX_4X4_F(); translation._11 = 1f; translation._22 = 1f; translation._33 = 1f; translation._44 = 1f; translation._41 = x; translation._42 = y; translation._43 = z; return(translation); }
public static D2D_MATRIX_4X4_F Multiply(ref D2D_MATRIX_4X4_F a, ref D2D_MATRIX_4X4_F b) { var m = new D2D_MATRIX_4X4_F(); m._11 = a._11 * b._11 + a._12 * b._21 + a._13 * b._31 + a._14 * b._41; m._12 = a._11 * b._12 + a._12 * b._22 + a._13 * b._32 + a._14 * b._42; m._13 = a._11 * b._13 + a._12 * b._23 + a._13 * b._33 + a._14 * b._43; m._14 = a._11 * b._14 + a._12 * b._24 + a._13 * b._34 + a._14 * b._44; m._21 = a._21 * b._11 + a._22 * b._21 + a._23 * b._31 + a._24 * b._41; m._22 = a._21 * b._12 + a._22 * b._22 + a._23 * b._32 + a._24 * b._42; m._23 = a._21 * b._13 + a._22 * b._23 + a._23 * b._33 + a._24 * b._43; m._24 = a._21 * b._14 + a._22 * b._24 + a._23 * b._34 + a._24 * b._44; m._31 = a._31 * b._11 + a._32 * b._21 + a._33 * b._31 + a._34 * b._41; m._32 = a._31 * b._12 + a._32 * b._22 + a._33 * b._32 + a._34 * b._42; m._33 = a._31 * b._13 + a._32 * b._23 + a._33 * b._33 + a._34 * b._43; m._34 = a._31 * b._14 + a._32 * b._24 + a._33 * b._34 + a._34 * b._44; m._41 = a._41 * b._11 + a._42 * b._21 + a._43 * b._31 + a._44 * b._41; m._42 = a._41 * b._12 + a._42 * b._22 + a._43 * b._32 + a._44 * b._42; m._43 = a._41 * b._13 + a._42 * b._23 + a._43 * b._33 + a._44 * b._43; m._44 = a._41 * b._14 + a._42 * b._24 + a._43 * b._34 + a._44 * b._44; return(m); }