1
我想在使用QGLWidget的項目中使用RBOs。現在,當我想使用RBO快速讀取紋理時,編譯器說'glGenRenderbuffersEXT'沒有在此範圍內聲明。與FBO(glGenFramebuffersEXT)相同的工作正常。glGenRenderbuffersEXT未聲明,但glGenFramebuffersEXT工作
GL的相關包括使用:
#include <GL/glew.h>
#include <QtOpenGL>
我對GLEW庫鏈接了。 這裏我的CMakeLists.txt的轉儲:
include_directories(
${GLEW_INCLUDE_PATH}
${PROJECT_SOURCE_DIR}/include
${OpenCV_INCLUDE_DIRS}
${CG_INCLUDE_PATH}
)
set(LIBS
${GLEW_LIBRARY}
${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}
${CG_LIBRARY}
${CG_GL_LIBRARY}
${OpenCV_LIBS}
${GFlags_LIBS}
${QT_LIBRARIES}
common
ndiolib
optimization-static
LightingLib-static
)
SOURCE_GROUP("Shader Files" FILES ${SHADER_FILES})
add_executable(Relighting ${HDRS} ${SRCS} ${MOCSRC} ${SHADER_FILES} main.cxx)
target_link_libraries(Project ${LIBS})
任何人有一個想法,可能是什麼問題?當我嘗試使用glext.h(+ gl.h)而不是glew.h時,無法找到RBO和FBO。
附加問題:我應該使用RBO讀出紋理嗎?或者,使用我用來讀出紋理的FBO同樣快?
謝謝你,這有助於!以爲我不需要使用glew ... – Guanta 2011-04-14 19:36:32
如果你使用glext而不是glew,你只需要定義GL_GLEXT_PROTOTYPES。但是如果你使用glew,你必須調用glewInit()! – Guanta 2011-04-19 16:01:54