0
我目前正在基於OpenGL的Qt和試圖建立一個幀緩衝區對象使用以下調用幀緩衝區對象中的Qt不工作4.8.1
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, scene_img, 0);
當我嘗試編譯我的項目,我獲得以下錯誤:
Error: C2065: 'GL_FRAMEBUFFER_EXT' : undeclared identifier
顯然名稱GL_FRAMEBUFFER_EXT不被任何標識。我嘗試導入QtOpenGL,QGLShaderProgram和QGLFramebufferObject沒有運氣。還是一樣的錯誤。我在ql.h中看了一下,仍然沒有運氣。還有什麼我必須導入?請注意,除了FRAMEBUFFER問題,我的正常QGLWidget沒有問題。
順便說一句:在Windows 7
到目前爲止感謝。我做了你所說的一切。沒有我的應用程序不再抱怨了,但現在我只是得到一個錯誤返回碼。似乎我做錯了什麼或有不兼容的編譯器。 – anopheles
好吧,我把它縮小到glewInit();我有多個視圖(QGLWidget的子類),我在每個initializeGL()調用中調用glewInit()。這是錯誤的,或者我應該如何使用glewInit()? – anopheles
@ user1509533:是的,您必須爲每個上下文調用glewInit。如果這不起作用,請嘗試在每個「paintGL」的開頭添加glewInit()。如果這樣的話,你必須添加更多的代碼纔能有效(否則GLEW會重新加載所有函數指針,而不是使用緩存)。 – datenwolf