public bool UpdateUniform(String name, OpenTK.Matrix4[] matArray) { var data = new List<float>(); foreach (var mat in matArray) { // Col 1 data.Add(mat.M11); data.Add(mat.M21); data.Add(mat.M31); data.Add(mat.M41); // Col 2 data.Add(mat.M12); data.Add(mat.M22); data.Add(mat.M32); data.Add(mat.M42); // Col 3 data.Add(mat.M13); data.Add(mat.M23); data.Add(mat.M33); data.Add(mat.M43); } GL.Uniform4(uniforms[name], matArray.Count() * 3, data.ToArray()); CheckError(); return true; }