我正在尝试使用一些示例代码将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);
. . . .
}