名称
glFlushMappedBufferRange — 指示对映射缓冲区范围的修改
C 规范
void glFlushMappedBufferRange( GLenum target,
GLintptr offset,
GLsizeiptr length);
参数
target
指定glFlushMappedBufferRange缓冲区对象绑定到的目标,该对象必须是下表中的缓冲区绑定目标之一:
缓冲区绑定目标 | 用途 |
---|---|
GL_ARRAY_BUFFER | Vertex attributes |
GL_ATOMIC_COUNTER_BUFFER | Atomic counter storage |
GL_COPY_READ_BUFFER | Buffer copy source |
GL_COPY_WRITE_BUFFER | Buffer copy destination |
GL_DISPATCH_INDIRECT_BUFFER | Indirect compute dispatch commands |
GL_DRAW_INDIRECT_BUFFER | Indirect command arguments |
GL_ELEMENT_ARRAY_BUFFER | Vertex array indices |
GL_PIXEL_PACK_BUFFER | Pixel read target |
GL_PIXEL_UNPACK_BUFFER | Texture data source |
GL_SHADER_STORAGE_BUFFER | Read-write storage for shaders |
GL_TEXTURE_BUFFER | Texture data buffer |
GL_TRANSFORM_FEEDBACK_BUFFER | Transform feedback buffer |
GL_UNIFORM_BUFFER | Uniform block storage |
offset
以基本机器单位指定缓冲区子范围的开始。
length
指定缓冲区子范围的长度,以基本机器单位为单位。
描述
glFlushMappedBufferRange表示已对映射缓冲区的范围进行了修改。缓冲区必须先前已使用GL_MAP_FLUSH_EXPLICIT标志进行了映射。 offset和length以基本单位表示映射的修改子范围。指定要刷新的子范围是相对于缓冲区当前映射范围的开始。可以多次调用glFlushMappedBufferRange来指示需要刷新的映射的不同子范围。
注意
仅当GL ES版本为3.0或更高版本时,才可以使用GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER和GL_UNIFORM_BUFFER目标。
仅当GL ES版本为3.1或更高版本时,GL_ATOMIC_COUNTER_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER和GL_SHADER_STORAGE_BUFFER目标才可用。
仅当GL ES版本为3.2或更高版本时,GL_TEXTURE_BUFFER目标才可用。
错误
如果offset或length为负,或者offset + length超过映射的大小,则生成GL_INVALID_VALUE。
如果将零绑定到目标,则生成GL_INVALID_OPERATION。
如果绑定到目标的缓冲区未映射,或者未映射GL_MAP_FLUSH_EXPLICIT标志,则生成GL_INVALID_OPERATION。
API版本支持
函数名 | 2.0 | 3.0 | 3.1 | 3.2 |
---|---|---|---|---|
glFlushMappedBufferRange | - | ✔ | ✔ | ✔ |
另见
glMapBufferRange, glUnmapBuffer
版权
https://www.khronos.org/registry/OpenGL-Refpages/es3/html/glFlushMappedBufferRange.xhtml
Copyright © 2010-2015 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.