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 and 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 and 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