GLGetProgramResourceIndex अपवाद त्रुटि - सी ++, opengl, glew

मेरे पास एक सरल लेकिन जटिल समस्या है। मैं निम्नलिखित कोड चला रहा हूं:

    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

खिड़की। गेटविड्थ () * खिड़की। गेटहाइट () * 4 * 3: 1228800

पिक्सेलबफर: 1

किसी भी प्रकार के ओपनजीएल त्रुटि प्रदर्शन के बजाय मुझे एक अपवाद त्रुटि मिलती है और मेरा प्रोग्राम बिल्कुल उस रेखा पर टूट जाता है।

क्या कोई जानता है कि परेशानी क्या है?

संपादित करें:

मुझे पता चला कि glGetProgramResourceIndex शून्य है (फ़ंक्शन पॉइंटर मुझे लगता है), तो मुझे लगता है कि इसका GLEW के साथ कुछ करना है?

उत्तर:

जवाब के लिए 0 № 1

जवाब निम्नलिखित पंक्ति थी:

glewExperimental = GL_TRUE;

स्पष्ट रूप से कुछ फ़ंक्शंस इस ध्वज सेट के बिना लोड नहीं होते हैं।


संबंधित सवाल
सबसे लोकप्रिय