Class ARBMapBufferRange


  • public final class ARBMapBufferRange
    extends Object
    • Field Detail

      • GL_MAP_READ_BIT

        public static final int GL_MAP_READ_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
      • GL_MAP_WRITE_BIT

        public static final int GL_MAP_WRITE_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
      • GL_MAP_INVALIDATE_RANGE_BIT

        public static final int GL_MAP_INVALIDATE_RANGE_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
      • GL_MAP_INVALIDATE_BUFFER_BIT

        public static final int GL_MAP_INVALIDATE_BUFFER_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
      • GL_MAP_FLUSH_EXPLICIT_BIT

        public static final int GL_MAP_FLUSH_EXPLICIT_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
      • GL_MAP_UNSYNCHRONIZED_BIT

        public static final int GL_MAP_UNSYNCHRONIZED_BIT
        Accepted by the <access> parameter of MapBufferRange:
        See Also:
        Constant Field Values
    • Method Detail

      • glMapBufferRange

        public static ByteBuffer glMapBufferRange​(int target,
                                                  long offset,
                                                  long length,
                                                  int access,
                                                  ByteBuffer old_buffer)
        glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null, in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null, it will be returned if it points to the same mapped memory and has the same capacity as the buffer object, otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:

        ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);

        Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.

        Parameters:
        old_buffer - A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.

        Returns:
        A ByteBuffer representing the mapped buffer memory.
      • glFlushMappedBufferRange

        public static void glFlushMappedBufferRange​(int target,
                                                    long offset,
                                                    long length)