unit OpenGL11;

(*
 * OpenGL 1.1 functionality
 *)
interface

uses
  OpenGL;
(*
 * Vertex arrays
 *)
const
  GL_VERTEX_ARRAY                 = $8074;
  GL_NORMAL_ARRAY                 = $8075;
  GL_COLOR_ARRAY                  = $8076;
  GL_INDEX_ARRAY                  = $8077;
  GL_TEXTURE_COORD_ARRAY          = $8078;
  GL_EDGE_FLAG_ARRAY              = $8079;
  GL_VERTEX_ARRAY_SIZE            = $807A;
  GL_VERTEX_ARRAY_TYPE            = $807B;
  GL_VERTEX_ARRAY_STRIDE          = $807C;
  GL_NORMAL_ARRAY_TYPE            = $807E;
  GL_NORMAL_ARRAY_STRIDE          = $807F;
  GL_COLOR_ARRAY_SIZE             = $8081;
  GL_COLOR_ARRAY_TYPE             = $8082;
  GL_COLOR_ARRAY_STRIDE           = $8083;
  GL_INDEX_ARRAY_TYPE             = $8085;
  GL_INDEX_ARRAY_STRIDE           = $8086;
  GL_TEXTURE_COORD_ARRAY_SIZE     = $8088;
  GL_TEXTURE_COORD_ARRAY_TYPE     = $8089;
  GL_TEXTURE_COORD_ARRAY_STRIDE   = $808A;
  GL_EDGE_FLAG_ARRAY_STRIDE       = $808C;
  GL_VERTEX_ARRAY_POINTER         = $808E;
  GL_NORMAL_ARRAY_POINTER         = $808F;
  GL_COLOR_ARRAY_POINTER          = $8090;
  GL_INDEX_ARRAY_POINTER          = $8091;
  GL_TEXTURE_COORD_ARRAY_POINTER  = $8092;
  GL_EDGE_FLAG_ARRAY_POINTER      = $8093;
  GL_V2F                          = $2A20;
  GL_V3F                          = $2A21;
  GL_C4UB_V2F                     = $2A22;
  GL_C4UB_V3F                     = $2A23;
  GL_C3F_V3F                      = $2A24;
  GL_N3F_V3F                      = $2A25;
  GL_C4F_N3F_V3F                  = $2A26;
  GL_T2F_V3F                      = $2A27;
  GL_T4F_V4F                      = $2A28;
  GL_T2F_C4UB_V3F                 = $2A29;
  GL_T2F_C3F_V3F                  = $2A2A;
  GL_T2F_N3F_V3F                  = $2A2B;
  GL_T2F_C4F_N3F_V3F              = $2A2C;
  GL_T4F_C4F_N3F_V4F              = $2A2D;

const
  libGL = 'opengl32.dll';
  
procedure glEnableClientState(param : GLenum);stdcall;external libGL;
procedure glDisableClientState(param : GLenum);stdcall;external libGL;
procedure glVertexPointer(size:GLint;_type:GLenum;stride:GLsizei;data:pointer);stdcall;external libGL;
procedure glNormalPointer(_type:GLenum;stride:GLsizei;ptr:pointer);stdcall;external libGL;
procedure glColorPointer(size:GLint;_type:GLenum;stride:GLsizei;ptr:pointer);stdcall;external libGL;
procedure glIndexPointer(_type:GLenum;stride:GLsizei;ptr:pointer);stdcall;external libGL;
procedure glTexCoordPointer(size:GLint;_type:GLenum;stride:GLsizei;ptr:pointer);stdcall;external libGL;
procedure glEdgeFlagPointer(stride:GLsizei;ptr:pointer);stdcall;external libGL;
procedure glGetPointerv(pname:GLenum;var param:pointer);stdcall;external libGL;
procedure glArrayElement(i:GLint);stdcall;external libGL;
procedure glDrawArrays(mode:GLenum;first:GLint;count:GLsizei);stdcall;external libGL;
procedure glDrawElements(mode:GLenum;count:GLsizei;_type:GLenum;var indices);stdcall;external libGL;
procedure glInterleavedArrays(format:GLenum;stride:GLsizei;ptr:pointer);stdcall;external libGL;

(*
 * TODO: texture objects
 *)

implementation

end.

