public static void UniformMatrix3x4(int location, bool transpose, ref Matrix3x4d matrix) { unsafe { fixed(double *matrix_ptr = &matrix.Row0.X) { GL.UniformMatrix3x4(location, 1, transpose, matrix_ptr); } } }
public static unsafe double[,] toArr(this Matrix3x4d mat) { double[,] ret = new double[3, 4]; fixed(double *retp = ret) { CopyMemory(retp, &mat, 3 * 4 * 8); } return(ret); }
public static void UniformMatrix3x4(int location, bool transpose, ref Matrix3x4d matrix) { unsafe { fixed (double* matrix_ptr = &matrix.Row0.X) { GL.UniformMatrix3x4(location, 1, transpose, matrix_ptr); } } }
public void SetUniform(Matrix3x4d matrix, int id) { GL.UniformMatrix3x4(id, true, ref matrix); }
private static void Set(int location, Matrix3x4d value) => GL.UniformMatrix3x4(location, false, ref value);