]> git.tdb.fi Git - libs/gl.git/blobdiff - source/buffer.cpp
Make animation curve creation more generic
[libs/gl.git] / source / buffer.cpp
index 100e4b2ea40a08b4858b41abf043f7b4d84c11eb..2b18d7d7d7d3bf0a47611207850aec5aabc4cc9d 100644 (file)
@@ -46,6 +46,7 @@ void Buffer::require_buffer_type(BufferType type)
 
 void Buffer::set_usage(BufferUsage u)
 {
+       // TODO OpenGL ES 2.0 doesn't support read or copy usages
        usage = u;
 }
 
@@ -98,22 +99,27 @@ void *Buffer::map(BufferAccess access)
        }
        else if(ARB_direct_state_access)
                return glMapNamedBuffer(id, access);
-       else
+       else if(OES_mapbuffer)
        {
                BindRestore _bind(this, type);
                return glMapBuffer(type, access);
        }
+       else
+               throw invalid_operation("Buffer::map");
 }
 
 bool Buffer::unmap()
 {
+       // TODO check if it's mapped
        if(ARB_direct_state_access)
                return glUnmapNamedBuffer(id);
-       else
+       else if(OES_mapbuffer)
        {
                BindRestore _bind(this, type);
                return glUnmapBuffer(type);
        }
+       else
+               return true;
 }
 
 void Buffer::bind_to(BufferType t) const