diff --git a/wrap/glw/config.h b/wrap/glw/config.h index ab0a0648..011be09c 100644 --- a/wrap/glw/config.h +++ b/wrap/glw/config.h @@ -9,4 +9,8 @@ # define GLW_IMPLEMENT_CUSTOM_UNIFORMS #endif +#ifndef GLW_PRINT_LOG_TO_STDERR +# define GLW_PRINT_LOG_TO_STDERR 1 +#endif + #endif // GLW_CONFIG_H diff --git a/wrap/glw/program.h b/wrap/glw/program.h index 2e7025d4..da2b525d 100644 --- a/wrap/glw/program.h +++ b/wrap/glw/program.h @@ -357,6 +357,13 @@ class Program : public Object this->m_log = ThisType::getInfoLog(this->m_name); this->m_linked = (linkStatus != GL_FALSE); +#if GLW_PRINT_LOG_TO_STDERR + std::cerr << "---------------------------" << std::endl; + std::cerr << "[Program Link Log]: " << ((this->m_linked) ? ("OK") : ("FAILED")) << std::endl; + std::cerr << this->m_log << std::endl; + std::cerr << "---------------------------" << std::endl; +#endif + if (this->m_linked) { this->postLink(); diff --git a/wrap/glw/shader.h b/wrap/glw/shader.h index c5b59a78..4203bcf1 100644 --- a/wrap/glw/shader.h +++ b/wrap/glw/shader.h @@ -2,6 +2,7 @@ #define GLW_SHADER_H #include +#include #include "./object.h" @@ -108,6 +109,21 @@ class Shader : public Object this->m_source = source; this->m_log = ThisType::getInfoLog(this->m_name); this->m_compiled = (compileStatus != GL_FALSE); + +#if GLW_PRINT_LOG_TO_STDERR + std::cerr << "---------------------------" << std::endl; + std::cerr << "["; + switch (this->shaderType()) + { + case GL_VERTEX_SHADER : std::cerr << "Vertex "; break; + case GL_GEOMETRY_SHADER : std::cerr << "Geometry "; break; + case GL_FRAGMENT_SHADER : std::cerr << "Fragment "; break; + default: break; + } + std::cerr << "Shader Compile Log]: " << ((this->m_compiled) ? ("OK") : ("FAILED")) << std::endl; + std::cerr << this->m_log << std::endl; + std::cerr << "---------------------------" << std::endl; +#endif } private: diff --git a/wrap/glw/utility.h b/wrap/glw/utility.h index ee18f67e..e1467e6d 100644 --- a/wrap/glw/utility.h +++ b/wrap/glw/utility.h @@ -11,7 +11,7 @@ #include "./context.h" -#define GLW_STRINGFY(S) #S +#define GLW_STRINGIFY(S) #S #define GLW_OFFSET_OF(TYPE, MEMBER) ((const void *)(offsetof(TYPE, MEMBER))) namespace glw