Class ARBCopyBuffer

java.lang.Object
org.lwjgl.opengl.ARBCopyBuffer

public class ARBCopyBuffer extends 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 final int
    Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
    static final int
    Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
  • Method Summary

    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 Details

    • GL_COPY_READ_BUFFER

      public static final int GL_COPY_READ_BUFFER
      Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
      See Also:
    • GL_COPY_WRITE_BUFFER

      public static final int GL_COPY_WRITE_BUFFER
      Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.
      See Also:
  • Method Details

    • 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