小编LoK*_*Kat的帖子

GLSL链接错误

我目前正在试图编译GLSL着色器时遇到的错误让我的头发脱落,我已成功设法编译两个着色器,但是当涉及到链接它们时,我得到一个错误.没有输出,但链接失败.

这是编译+链接代码:

GLuint program = NULL;
GLint compile_ok = GL_FALSE, link_ok = GL_FALSE;

GLuint vs = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vs, 1, &vertCont, NULL);
glCompileShader(vs);
glGetShaderiv(vs, GL_COMPILE_STATUS, &compile_ok);
char logBuf[1024];
int len;
if (0 == compile_ok)
{
    glGetShaderInfoLog(vs, sizeof(logBuf), &len, logBuf);
    LogMgr::logMessage(LogMgr::CRITICAL, "Error in vertex shader\n", logBuf);
    return false;
}

GLuint fs = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fs, 1, &fragCont, NULL);
glCompileShader(fs);
glGetShaderiv(fs, GL_COMPILE_STATUS, &compile_ok);
if (!compile_ok) 
{
    glGetShaderInfoLog(vs, sizeof(logBuf), &len, logBuf);
    LogMgr::logMessage(LogMgr::CRITICAL, "Error in fragment shader", logBuf);
    return false;
}

glAttachShader(program, vs);
glAttachShader(program, fs);
glLinkProgram(program); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glsl

1
推荐指数
1
解决办法
3915
查看次数

标签 统计

c++ ×1

glsl ×1

opengl ×1