public void FakeDrawCuboids(List <Cuboid> cuboids, int offset) { for (int i = 0; i < cuboids.Count; i++) { Cuboid cuboid = cuboids[i]; GL.UseProgram(colorShaderID); GL.EnableVertexAttribArray(0); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); Matrix4 mvp = cuboid.modelMatrix * worldView; GL.UniformMatrix4(matrixID, false, ref mvp); byte[] cols = BitConverter.GetBytes(i + offset); GL.Uniform4(colorID, new Vector4(cols[0] / 255f, cols[1] / 255f, cols[2] / 255f, 1)); cuboid.GetVBO(); cuboid.GetIBO(); GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, 0, 0); GL.DrawElements(PrimitiveType.Triangles, Cuboid.cubeElements.Length, DrawElementsType.UnsignedShort, 0); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); } }