/// <summary> /// Start to read/write buffer. /// </summary> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="access"></param> /// <param name="bind"></param> /// <returns></returns> public virtual IntPtr MapBufferRange(int offset, int length, MapBufferRangeAccess access, bool bind = true) { if (bind) { glBindBuffer((uint)this.Target, this.BufferId); } return(glMapBufferRange((uint)this.Target, offset, length, (uint)access)); }
/// <summary> /// Start to read/write buffer. /// </summary> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="access"></param> /// <param name="bind"></param> /// <returns></returns> public virtual IntPtr MapBufferRange(int offset, int length, MapBufferRangeAccess access, bool bind = true) { if (bind) { if (glBindBuffer == null) { glBindBuffer = OpenGL.GetDelegateFor <OpenGL.glBindBuffer>(); } glBindBuffer((uint)this.Target, this.BufferId); } if (glMapBufferRange == null) { glMapBufferRange = OpenGL.GetDelegateFor <OpenGL.glMapBufferRange>(); } IntPtr pointer = glMapBufferRange((uint)this.Target, offset, length, (uint)access); return(pointer); }
/// <summary> /// Start to read/write buffer. /// <para>This will returns IntPtr.Zero as this buffer allocates no data in memory.</para> /// </summary> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="access"></param> /// <param name="bind"></param> /// <returns></returns> public override IntPtr MapBufferRange(int offset, int length, MapBufferRangeAccess access, bool bind = true) { return(IntPtr.Zero); }
/// <summary> /// Start to read/write buffer. /// <para>This will returns IntPtr.Zero as this buffer allocates no data in memory.</para> /// </summary> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="access"></param> /// <param name="bind"></param> /// <returns></returns> public override IntPtr MapBufferRange(int offset, int length, MapBufferRangeAccess access, bool bind = true) { return IntPtr.Zero; }
/// <summary> /// Start to read/write buffer. /// </summary> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="access"></param> /// <param name="bind"></param> /// <returns></returns> public virtual IntPtr MapBufferRange(int offset, int length, MapBufferRangeAccess access, bool bind = true) { if (bind) { if (glBindBuffer == null) { glBindBuffer = OpenGL.GetDelegateFor<OpenGL.glBindBuffer>(); } glBindBuffer((uint)this.Target, this.BufferId); } if (glMapBufferRange == null) { glMapBufferRange = OpenGL.GetDelegateFor<OpenGL.glMapBufferRange>(); } IntPtr pointer = glMapBufferRange((uint)this.Target, offset, length, (uint)access); return pointer; }