Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GLGetProgramResourceIndex异常错误_C++_Opengl_Glew - Fatal编程技术网

C++ GLGetProgramResourceIndex异常错误

C++ GLGetProgramResourceIndex异常错误,c++,opengl,glew,C++,Opengl,Glew,我有一个简单但复杂的问题。我正在运行以下代码: OpenGL::PrintError(__FILE__, __LINE__); GLuint raytracer = CompileRayTracer(); OpenGL::SetProgram(raytracer); OpenGL::PrintError(__FILE__, __LINE__); // Generate the buffer. OpenGL::PrintError(__FILE__, __LINE__); GLuint

我有一个简单但复杂的问题。我正在运行以下代码:

    OpenGL::PrintError(__FILE__, __LINE__);
GLuint raytracer = CompileRayTracer();
OpenGL::SetProgram(raytracer);
OpenGL::PrintError(__FILE__, __LINE__);

// Generate the buffer.
OpenGL::PrintError(__FILE__, __LINE__);
GLuint pixelbuffer;
glGenBuffers(1, &pixelbuffer);
OpenGL::PrintError(__FILE__, __LINE__);

glBindBuffer(GL_SHADER_STORAGE_BUFFER, pixelbuffer);
OpenGL::PrintError(__FILE__, __LINE__);

glBufferData(GL_SHADER_STORAGE_BUFFER, window.GetWidth() * window.GetHeight() * 4 * 3, NULL, GL_DYNAMIC_COPY);
OpenGL::PrintError(__FILE__, __LINE__);

glBindBuffer(GL_SHADER_STORAGE_BUFFER, NULL);
OpenGL::PrintError(__FILE__, __LINE__);

GLuint index = glGetProgramResourceIndex(raytracer, GL_SHADER_STORAGE_BLOCK, "PixelBuffer");
OpenGL::PrintError(__FILE__, __LINE__);

glShaderStorageBlockBinding(raytracer, index, 1);
OpenGL::PrintError(__FILE__, __LINE__);
以下变量的内容为:

光线跟踪器:2

window.GetWidth()*window.GetHeight()*4*3:1228800

像素缓冲区:1

我得到的不是某种OpenGL错误显示,而是一个异常错误,我的程序正好在这一行中断/chrash

有人知道问题出在哪里吗

编辑:


我发现glGetProgramResourceIndex为null(我猜是函数指针),所以我猜这与GLEW有关?

答案如下:

glewExperimental=GL_TRUE

显然,没有设置此标志,某些函数无法加载