#include "shaderprogram.h"
+#include "log.h"
using namespace IPDF;
GLuint shader_obj = glCreateShader(type);
glShaderSource(shader_obj, 1, &src, 0);
glCompileShader(shader_obj);
+ int did_compile = 0;
+ glGetShaderiv(shader_obj, GL_COMPILE_STATUS, &did_compile);
+ if (!did_compile)
+ {
+ char info_log[2048];
+
+ glGetShaderInfoLog(shader_obj, 2048, nullptr, info_log);
+ Error("Shader compile error: %s\n", info_log);
+ return false;
+ }
m_shaders.push_back(Shader{type, shader_obj});
LazyCreateProgram();
return AttachShader(src, GL_FRAGMENT_SHADER);
}
+bool ShaderProgram::AttachGeometryProgram(const char *src)
+{
+ return AttachShader(src, GL_GEOMETRY_SHADER);
+}
+
bool ShaderProgram::Link()
{
glLinkProgram(m_program);