public static OGLBufferId[] CreateBufferIds(OpenGL gl, int amount)
        {
            uint[] ids = new uint[amount];
            OGLBufferId[] bIds = new OGLBufferId[amount];
            gl.GenBuffers(amount, ids);

            for (int i = 0; i < amount; i++)
            {
                bIds[i] = new OGLBufferId(ids[i]);
            }

            return bIds;
        }
        public static OGLBufferId[] CreateBufferIds(OpenGL gl, int amount)
        {
            uint[]        ids  = new uint[amount];
            OGLBufferId[] bIds = new OGLBufferId[amount];
            gl.GenBuffers(amount, ids);

            for (int i = 0; i < amount; i++)
            {
                bIds[i] = new OGLBufferId(ids[i]);
            }

            return(bIds);
        }
 public VBO(OGLBufferId bufferId)
     : base(bufferId)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="buffer"></param>
 /// <param name="pointer">Usually used to provide information about how the shader accepts this buffer as input parameter. </param>
 public OGLBufferObject(OGLBufferId buffer, VertexAttribPointer pointer = null)
 {
     BufferId            = buffer;
     VertexAttribPointer = pointer;
 }
 public IBO(OGLBufferId bufferId)
     : base(bufferId)
 {
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="buffer"></param>
 /// <param name="pointer">Usually used to provide information about how the shader accepts this buffer as input parameter. </param>
 public OGLBufferObject(OGLBufferId buffer, VertexAttribPointer pointer = null)
 {
     BufferId = buffer;
     VertexAttribPointer = pointer;
 }