bool ShaderProgramGL::getShaderBuildLog(GLuint shader, std::string& str) { GLint length = 0; GLint success = GL_TRUE; oxglGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); if (length) { str.resize(length); oxglGetShaderInfoLog(shader, (int)str.size(), NULL, &str[0]); } else str.clear(); GLint status = GL_TRUE; oxglGetShaderiv(shader, GL_COMPILE_STATUS, &status); return status == GL_TRUE; }
void printShaderInfoLog(GLuint shader) { GLint length = 0; oxglGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); if (length) { std::vector<char> bf; bf.resize(length); oxglGetShaderInfoLog(shader, (int)bf.size(), NULL, &bf.front()); log::messageln("shader compiled: %s", &bf.front()); GLint success; oxglGetShaderiv(shader, GL_COMPILE_STATUS, &success); if (success != GL_TRUE) { OX_ASSERT(!"shader build error"); exit(1); } } CHECKGL(); }