{$IFNDEF OPENGL_ES}
result := glMapBuffer(GLenum(fTarget), GLenum(aAccess));
{$ELSE}
- if not GL_OES_mapbuffer then
+ if GL_OES_mapbuffer then
+ result := glMapBufferOES(GLenum(fTarget), GLenum(aAccess))
+ else
raise EglcArrayBuffer.Create('map buffer is not supported by video card');
- result := glMapBufferOES(GLenum(fTarget), GLenum(aAccess));
{$ENDIF}
glcCheckAndRaiseError;
end;
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
+ if GL_VERSION_3_0 then
+ result := glMapBufferRange(GLenum(fTarget), aOffset, aSize, GLenum(aAccess))
+ else if GL_EXT_map_buffer_range then
+ result := glMapBufferRangeEXT(GLenum(fTarget), aOffset, aSize, GLenum(aAccess))
+ else
raise EglcArrayBuffer.Create('map buffer range is not supported by video card');
- result := glMapBufferRange(GLenum(fTarget), aOffset, aSize, GLenum(aAccess));
{$ENDIF}
end;
{$IFNDEF OPENGL_ES}
glUnmapBuffer(GLenum(fTarget));
{$ELSE}
- if not (GL_OES_mapbuffer or GL_VERSION_3_0) then
+ if GL_VERSION_3_0 then
+ glUnmapBuffer(GLenum(fTarget))
+ else if GL_OES_mapbuffer then
+ glUnmapBufferOES(GLenum(fTarget))
+ else
raise EglcArrayBuffer.Create('unmap buffer is not supported by video card');
- glUnmapBuffer(GLenum(fTarget));
{$ENDIF}
end;
if not GL_VERSION_2_0 then
raise EglcArrayBuffer.Create('Create - VertexBuffer: not supported');
{$ENDIF}
+ glGetError();
inherited Create;
glGenBuffers(1, @fID);
fDataCount := 0;