Мой код OpenGl создается и запускается без ошибок в Visual Studio 2019 в режиме отладки.
Когда я запускаю исполняемый файл из выходного каталога, я получаю следующие ошибки в консоли, но приложение работает как будто ошибок не произошло (все текстуры, униформа, события работают должным образом):
SHADER_ID_COMPILE error has been generated. GLSL compile failed for shader 5, "":
Failed to compile: 35633
Я также получаю несколько ошибок униформ и отрисовки, которые, как я полагаю, являются следствием сбоя компиляции шейдера.
Я использовал абсолютные пути для своих путей шейдера.
Код компиляции шейдера:
Shader(const std::string& vertexShaderPath, const std::string& fragmentShaderPath)
: m_id(glCreateProgram())
{
const GLuint vs = CompileShader(GL_VERTEX_SHADER, getShaderSource(vertexShaderPath));
const GLuint fs = CompileShader(GL_FRAGMENT_SHADER, getShaderSource(fragmentShaderPath));
glAttachShader(m_id, vs);
glAttachShader(m_id, fs);
glLinkProgram(m_id);
glValidateProgram(m_id);
glDeleteShader(vs);
glDeleteShader(fs);
}
Функция CompileShader:
unsigned int CompileShader(GLenum type, const std::string& source)
{
GLuint shader = glCreateShader(type);
const GLchar* src = source.c_str();
glShaderSource(shader, 1, &src, nullptr);
glCompileShader(shader);
return shader;
}