1. -- This package contains extensions to GL as well as items 
  2.  -- that are in the GL standard but are not (yet) in the GL libraries 
  3.  -- on all platforms. For instance, standard Opengl32.dll on Windows up 
  4.  -- to XP support up to GL 1.1; Vista, up to GL 1.4; and even versions 
  5.  -- provided by graphics card makers lack 1.5 support (as in 2007). 
  6.  
  7.  -- *** Non - Windows version (just part of GL) *** 
  8.  
  9. with GL; 
  10.  
  11. package GL.Extended is 
  12.  
  13.   procedure GenBuffers (n        : GL.Sizei; 
  14.                         buffers  : GL.uintPtr); 
  15.  
  16.   procedure DeleteBuffers (n        : GL.Sizei; 
  17.                            buffers  : GL.uintPtr); 
  18.  
  19.   procedure BindBuffer (target  : GL.VBO_Target; 
  20.                         buffer  : GL.Uint); 
  21.  
  22.   procedure BufferData (target  : GL.VBO_Target; 
  23.                         size    : GL.sizeiPtr; 
  24.                         data    : GL.pointer; 
  25.                         usage   : GL.VBO_Usage); 
  26.  
  27.   procedure BufferSubData (target  : GL.VBO_Target; 
  28.                            offset  : GL.intPtr; 
  29.                            size    : GL.sizeiPtr; 
  30.                            data    : GL.pointer); 
  31.  
  32.   function MapBuffer   (target  : GL.VBO_Target; 
  33.                         Policy  : GL.Access_Policy) return GL.pointer; 
  34.  
  35.   function UnmapBuffer (target  : GL.VBO_Target) return GL.GL_Boolean; 
  36.  
  37.   procedure GetBufferParameter (target  : GL.VBO_Target; 
  38.                                 value   : GL.Buffer_Parameter; 
  39.                                 data    : GL.intPointer); 
  40.  
  41.   -- vertex buffer object imports (GL 1.5) 
  42.   -- 
  43.   pragma Import (Stdcall, GenBuffers,         "glGenBuffers"); 
  44.   pragma Import (Stdcall, DeleteBuffers,      "glDeleteBuffers"); 
  45.   pragma Import (Stdcall, BindBuffer,         "glBindBuffer"); 
  46.   pragma Import (Stdcall, BufferData,         "glBufferData"); 
  47.   pragma Import (Stdcall, BufferSubData,      "glBufferSubData"); 
  48.   pragma Import (Stdcall, MapBuffer,          "glMapBuffer"); 
  49.   pragma Import (Stdcall, UnmapBuffer,        "glUnmapBuffer"); 
  50.   pragma Import (Stdcall, GetBufferParameter, "glGetBufferParameteriv"); 
  51.  
  52. end GL.Extended;