/** * <a href="http://www.opengl.org/sdk/docs/man/html/glBufferSubData.xhtml">OpenGL SDK * Reference</a> Updates a subset of a buffer object's data store. * * @param target the target buffer object. One of:<br> * {@link #GL_ARRAY_BUFFER ARRAY_BUFFER}, {@link #GL_ELEMENT_ARRAY_BUFFER * ELEMENT_ARRAY_BUFFER}, {@link GL21#GL_PIXEL_PACK_BUFFER PIXEL_PACK_BUFFER}, {@link * GL21#GL_PIXEL_UNPACK_BUFFER PIXEL_UNPACK_BUFFER}, {@link GL30#GL_TRANSFORM_FEEDBACK_BUFFER * TRANSFORM_FEEDBACK_BUFFER}, {@link GL31#GL_UNIFORM_BUFFER UNIFORM_BUFFER}, {@link * GL31#GL_TEXTURE_BUFFER TEXTURE_BUFFER}, {@link GL31#GL_COPY_READ_BUFFER COPY_READ_BUFFER}, * {@link GL31#GL_COPY_WRITE_BUFFER COPY_WRITE_BUFFER}, {@link GL40#GL_DRAW_INDIRECT_BUFFER * DRAW_INDIRECT_BUFFER}, {@link GL42#GL_ATOMIC_COUNTER_BUFFER ATOMIC_COUNTER_BUFFER}, {@link * GL43#GL_DISPATCH_INDIRECT_BUFFER DISPATCH_INDIRECT_BUFFER}, {@link * GL43#GL_SHADER_STORAGE_BUFFER SHADER_STORAGE_BUFFER}, {@link * ARBIndirectParameters#GL_PARAMETER_BUFFER_ARB PARAMETER_BUFFER_ARB} * @param offset the offset into the buffer object's data store where data replacement will begin, * measured in bytes * @param size the size in bytes of the data store region being replaced * @param data a pointer to the new data that will be copied into the data store */ public static void glBufferSubData(int target, long offset, long size, ByteBuffer data) { if (LWJGLUtil.CHECKS) checkBuffer(data, size); nglBufferSubData(target, offset, size, memAddress(data)); }
/** DoubleBuffer version of: {@link #glBufferSubData BufferSubData} */ public static void glBufferSubData(int target, long offset, DoubleBuffer data) { nglBufferSubData(target, offset, data.remaining() << 3, memAddress(data)); }
/** Unsafe version of {@link #glBufferSubData BufferSubData} */ @JavadocExclude public static void nglBufferSubData(int target, long offset, long size, long data) { long __functionAddress = getInstance().BufferSubData; nglBufferSubData(target, offset, size, data, __functionAddress); }