In our OpenGL initialization function, and after the compilation of shader objects referred to by vertShader and fragShader, perform the following steps:
- Create the program object using the following code:
GLuint programHandle = glCreateProgram(); if( 0 == programHandle ) { std::cerr << "Error creating program object." << std::endl; exit(EXIT_FAILURE); }
- Attach the shaders to the program object as follows:
glAttachShader( programHandle, vertShader ); glAttachShader( programHandle, fragShader );
- Link the program:
glLinkProgram( programHandle );
- Verify the link status:
GLint status; glGetProgramiv( programHandle, GL_LINK_STATUS, &status ); if( GL_FALSE == status ) { std::cerr << "Failed to link shader program!" << ...