在D中打印GLSL着色器信息日志

时间:2014-11-09 08:36:35

标签: opengl shader d

我有一个不能编译的着色器。我想打印其信息日志,但只能获得"?"符号而不是日志。这是打印代码:

    GLint shaderCompiled = GL_FALSE;
    glGetShaderiv( shader, GL_COMPILE_STATUS, &shaderCompiled );

    if (shaderCompiled != GL_TRUE)
    {
        char[1000] errorLog;
        auto info = errorLog.ptr;
        glGetShaderInfoLog( shader, 1000, null, info );
        writeln( errorLog );
    }

我使用Nvidia GT 750M在OS X Mavericks上使用DerelictSDL2和OpenGL 3.3。我可以在相同的设置上打印用C ++编写的程序中的信息日志,这样我可能会错误地使用D语言。

1 个答案:

答案 0 :(得分:1)

解决。当我应该调用glGetProgramInfoLog时,我也在为GL_LINK_STATUS调用glGetShaderInfoLog。