| 
                  Vertex Specification
                   In "Modern" OpenGL  | 
            
| 
                   
                      
                     Prof. David Bernstein
                       | 
            
| Computer Science Department | 
| bernstdh@jmu.edu | 
               
            
         
            
         
         
            
         
         
            
         
         
            
         
         
            
         
         
            
         
         
            
         void glGenBuffers(GLsizei n,
	    GLuint* buffers) where 
                           n
                        
	    is the inbound number of buffers to create
	    and 
                           buffers
                         is the outbound array of
	    names/handles/IDsvoid glDeleteBuffers(GLsizei n,
	    const GLuint* buffers)
	  where 
                           n
                         is the inbound number of buffers to create
	  and 
                           buffers
                         is the inbound array of
	  names/handles/IDs to deletevoid glBindBuffer(enum target,
	    uint bufferName)
	  binds the buffer object to the context so its state can be changed
	  (where 
                           target
                         is
	  typically GL_ARRAY_BUFFER)
	  glBufferStorage(),
	  glBufferData(), glClearBufferData(), etc...
	  then change the state
	  
         
            
         
         
            
         
         
            
         
         
            
          void glGenVertexArrays(GLsizei n,
	    GLuint* arrays);
	  where 
                           n
                         is the inbound number of buffers to create
	  and 
                           arrays
                         is the outbound array of
	  names/handles/IDsvoid glDeleteVertexArrays(GLsizei n, const
	    GLuint *arrays); where 
                           n
                        
	    is the inbound number of buffers to create
	    and 
                           arrays
                         is the inbound array of
	    names/handles/IDs to deletevoid glBindVertexArray(GLuint array);
	  binds the VAO to the context so it's state can be changedvoid glEnableVertexAttribArray(GLuint index);
	  allows the attribute numbered index to be changedglVertexAttribPointer() can then be used to
	  set the format of the VBO and associate the currently bound VBO
	  with the currently bound VBAvoid glDisableVertexAttribArray(
	    GLuint index);
	  prevents the attribute numbered 
                           index
                         from being
	  changed