| 
                  Using Shaders
                   In "Modern" OpenGL  | 
            
| 
                   
                      
                     Prof. David Bernstein
                       | 
            
| Computer Science Department | 
| bernstdh@jmu.edu | 
               
            
         
            
         
         
            
         
         
            
         
         
            
         GLuint glCreateShader(GLenum shaderType)
                     void glShaderSource(GLuint shaderID,
	    GLsizei count,
	    const GLchar **source,
	    const GLint *length)
                     void glCompileShader(GLuint shaderID)
                     void glGetShaderiv(GLuint shaderID,
	    GLenum paramname,
	    GLint *params)
                     void glGetShaderInfoLog(GLuint shaderID,
	    GLsizei maxLength, GLsizei *actualLength,
	    GLchar *message)
                     
         
            
         
         
            
         
         
            
         GLuint glCreateProgram(void)
                     void glAttachShader(GLuint programID,
	    GLuint shaderID)
                     void glLinkProgram(GLuint programID)
                     void glGetProgramiv(GLuint programID,
	    GLenum paramname,
	    GLint *params)
                     void glGetProgramInfoLog(GLuint programID,
	    GLsizei maxLength, GLsizei *actualLength,
	    GLchar *message)
                     void glDetachShader(GLuint programID,
            GLuint shaderID) and
	  void glDeleteShader(GLuint id)