OpenGL,GLSL访问冲突

时间:2014-02-20 14:59:15

标签: c++ opengl glsl

我正在尝试使用一些示例代码将OpenGL Shading语言实现到项目中。该程序到达此行时现在崩溃了:

glShaderSourceARB(v, 1, &vv,NULL);

我得到的错误说他们是一个访问冲突读取位置0x00000000。在调试时我发现ff,fs,vs和vv的值都是根据visual C ++的值0x00000000。

变量名称来自示例代码,我有一个工作示例,我只是想在我的一个项目中尝试它。

以下是设置着色器的方法,直到程序崩溃为止。

void setShaders() {

    GLint status = 0;
    char *vs = NULL,*fs = NULL;

    // Create empty shader objects:
    v = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
    f = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);

    // read the shader code from text files:
    vs = textFileRead("toon.vert");
    fs = textFileRead("toon.frag");

    const char * ff = fs;
    const char * vv = vs;

    //Set the shader source

    glShaderSourceARB(v, 1, &vv,NULL);

    glShaderSourceARB(f, 1, &ff,NULL);

    . . . .
}

0 个答案:

没有答案