The set of function calls added to OpenGL to create and manipulate shaders is actually quite small. The interface mimics the software development process followed by a C/C++ programmer. To install and use OpenGL shaders, do the following:
User-defined attribute variables can be explicitly associated with a generic vertex attribute index with glBindAttribLocation, or such associations can be assigned implicitly at link time and queried with glGetAttribLocation. Generic vertex attribute values can then be supplied by the application a vertex at a time with one of the variants of glVertexAttrib or as vertex arrays by using glVertexAttribPointer and glEnableVertexArrayPointer in conjunction with standard OpenGL commands to draw vertex arrays.
A number of query functions obtain information about shader and program objects.