Skip to content

Commit

Permalink
Differentiate between program and shader error when printing
Browse files Browse the repository at this point in the history
  • Loading branch information
Hugues Evrard committed May 8, 2017
1 parent d6f6c39 commit 8a34770
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions get_image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,30 @@ bool readFile(const std::string& fileName, std::string& contentsOut) {
return true;
}

void printShaderError(GLuint shader) {
GLint length = 0;
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length);

// The maxLength includes the NULL character

std::vector<GLchar> errorLog((size_t) length, 0);

glGetShaderInfoLog(shader, length, &length, &errorLog[0]);
if(length > 0) {
std::string s(&errorLog[0]);
std::cout << s << std::endl;
}
}

void printProgramError(GLuint program) {
GLint length = 0;
glGetShaderiv(program, GL_INFO_LOG_LENGTH, &length);
glGetProgramiv(program, GL_INFO_LOG_LENGTH, &length);

// The maxLength includes the NULL character

std::vector<GLchar> errorLog((size_t) length, 0);

glGetShaderInfoLog(program, length, &length, &errorLog[0]);
glGetProgramInfoLog(program, length, &length, &errorLog[0]);
if(length > 0) {
std::string s(&errorLog[0]);
std::cout << s << std::endl;
Expand Down Expand Up @@ -400,7 +415,7 @@ int main(int argc, char* argv[]) {
glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &compileOk);
if (!compileOk) {
std::cerr << "Error compiling fragment shader." << std::endl;
printProgramError(program);
printShaderError(fragmentShader);
return COMPILE_ERROR_EXIT_CODE;
}
std::cerr << "Fragment shader compiled successfully." << std::endl;
Expand Down Expand Up @@ -436,7 +451,7 @@ int main(int argc, char* argv[]) {
glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &compileOk);
if (!compileOk) {
std::cerr << "Error compiling vertex shader." << std::endl;
printProgramError(program);
printShaderError(vertexShader);
return EXIT_FAILURE;
}
std::cerr << "Vertex shader compiled successfully." << std::endl;
Expand Down

0 comments on commit 8a34770

Please sign in to comment.