如果我在visual studio程序中运行我的程序运行良好,但是当我尝试从.exe文件运行时出现异常:ERROR :: SHADER :: VERTEX :: COMPILATION_FAILED
我在Shader.h文件中发现了这个异常:
GLuint vertex, fragment;
GLint success;
GLchar infoLog[512];
// Vertex Shader
vertex = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex, 1, &vShaderCode, NULL);
glCompileShader(vertex);
// Print compile errors if any
glGetShaderiv(vertex, GL_COMPILE_STATUS, &success);
if (!success)
{
glGetShaderInfoLog(vertex, 512, NULL, infoLog);
std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" << infoLog << std::endl;
}
为什么会发生这种情况,也许我需要在.exe文件夹中添加一些额外的文件?
只提供您提供的信息,很难说出问题所在。可能是,程序无法找到着色器源文件(您怀疑的路径错误)。它也可能由于着色器源文件中存在编程错误而发生 - OpenGL着色器作为源字符串加载并由驱动程序编译。也可能是,着色器是使用OpenGL版本配置文件编写的,系统不支持该版本(即着色器可能是针对高于系统可以执行的版本编写的)。
我发现了这种情况发生的原因,只是在我的exe文件中缺少文件core.vs文件。