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;
    }
Beispiel #2
0
	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();
	}