Class ARBCopyBuffer
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
FieldsModifier and TypeFieldDescriptionstatic final intAccepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData.static final intAccepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, BindBufferRange, BindBufferBase, and CopyBufferSubData. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidglCopyBufferSubData(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.
-
Field Details
-
GL_COPY_READ_BUFFER
public static final int GL_COPY_READ_BUFFERAccepted 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_BUFFERAccepted 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_VALUEerror 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_VALUEerror 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_OPERATIONerror is generated if zero is bound to readtarget or writetarget.An
INVALID_OPERATIONerror 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_BUFFERPIXEL_PACK_BUFFERPIXEL_UNPACK_BUFFERTRANSFORM_FEEDBACK_BUFFERTEXTURE_BUFFERUNIFORM_BUFFERwriteTarget- the destination buffer object targetreadOffset- the source buffer object offset, in byteswriteOffset- the destination buffer object offset, in bytessize- the number of bytes to copy
-