glGenRenderbuffersEXT не объявлено, но glGenFramebuffersEXT работает - PullRequest
1 голос
/ 14 апреля 2011

Я пытаюсь использовать RBO в проекте, который использует QGLWidget.Теперь, когда я хочу использовать RBO для быстрого чтения текстуры, компилятор говорит, что 'glGenRenderbuffersEXT' не было объявлено в этой области.То же самое с FBO (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, который я использую для считывания текстуры?

1 Ответ

2 голосов
/ 14 апреля 2011

Я проверяю сайт OpenGL, и кажется, что упомянутая вами функция определена, только если вы определили GL_GLEXT_PROTOTYPES.

http://www.opengl.org/registry/api/glext.h

Дальнейшее копание показывает, что вам нужно определитьэтот символ для использования прототипов расширений.

http://www.opengl.org/registry/ABI/#5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...