Class ARBCopyBuffer


  • public class ARBCopyBuffer
    extends java.lang.Object
    Native bindings to the ARB_copy_buffer extension.

    This extension provides a mechanism to do an accelerated copy from one buffer object to another. This may be useful to load buffer objects in a "loading thread" while minimizing cost and synchronization effort in the "rendering thread."

    Promoted to core in OpenGL 3.1.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int GL_COPY_READ_BUFFER
      GL_COPY_WRITE_BUFFER
      Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void glCopyBufferSubData​(int readTarget, int writeTarget, long readOffset, long writeOffset, long size)
      Copies all or part of one buffer object's data store to the data store of another buffer object.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER

        Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
    • Method Detail

      • glCopyBufferSubData

        public static void glCopyBufferSubData​(int readTarget,
                                               int writeTarget,
                                               long readOffset,
                                               long writeOffset,
                                               long size)
        Copies all or part of one buffer object's data store to the data store of another buffer object.

        An INVALID_VALUE error is generated if any of readoffset, writeoffset, or size are negative, if readoffset+size exceeds the size of the buffer object bound to readtarget, or if writeoffset+size exceeds the size of the buffer object bound to writetarget.

        An INVALID_VALUE error is generated if the same buffer object is bound to both readtarget and writetarget, and the ranges [readoffset, readoffset+size) and [writeoffset, writeoffset+size) overlap.

        An INVALID_OPERATION error is generated if zero is bound to readtarget or writetarget.

        An INVALID_OPERATION error is generated if the buffer objects bound to either readtarget or writetarget are mapped.

        Parameters:
        readTarget - the source buffer object target. One of:
        ARRAY_BUFFERCOPY_READ_BUFFERCOPY_WRITE_BUFFERELEMENT_ARRAY_BUFFER
        PIXEL_PACK_BUFFERPIXEL_UNPACK_BUFFERTRANSFORM_FEEDBACK_BUFFERTEXTURE_BUFFER
        UNIFORM_BUFFER
        writeTarget - the destination buffer object target
        readOffset - the source buffer object offset, in bytes
        writeOffset - the destination buffer object offset, in bytes
        size - the number of bytes to copy