+function TglcArrayBuffer.MapBufferRange(const aOffset: GLintptr; const aSize: GLsizeiptr; const aAccess: TglcBufferAccess): Pointer;
+begin
+ {$IFNDEF OPENGL_ES}
+ if not (GL_ARB_map_buffer_range or GL_VERSION_3_0) then
+ raise EglcArrayBuffer.Create('map buffer range is not supported by video card');
+ result := glMapBufferRange(GLenum(fTarget), aOffset, aSize, GLenum(aAccess));
+ {$ELSE}
+ if not GL_VERSION_3_0 then
+ raise EglcArrayBuffer.Create('map buffer range is not supported by video card');
+ result := glMapBufferRange(GLenum(fTarget), aOffset, aSize, GLenum(aAccess));
+ {$ENDIF}
+end;
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////[c]