linux - 当GLEW_ARB_framebuffer_object非零时,为什么glFramebufferTexture是NULL指针?

原文 标签 linux opengl glew

我的代码大致如下:

GLenum glewStatus = glewInit();
if (glewStatus != GLEW_OK)
    exit(1);

if (!GLEW_ARB_framebuffer_object)
    exit(1);

printf("%p\n", glFramebufferTexture);

这会打印0,所以这就解释了为什么要立即调用segfults。
但是,为什么是0?许多其他帧缓冲区函数工作正常(例如glFramebufferTexture()glBindFramebufferglFramebufferRenderbuffer)。
我需要用不同的方式初始化glew还是扩展名?

最佳答案

glFramebufferTexture()是比glBindFramebuffer()和其他与外资银行机构相关的入口点新的入口点。在核心opengl规范中,glFramebufferTexture()是在3.2中添加的,而fbo的其余功能是3.0的一部分。glFramebufferTexture()也不是arb_framebuffer_对象的一部分。
在大多数情况下,您可以使用glFramebufferTexture2D(),这是原始FBO功能的一部分。glFramebufferTexture()只对纹理数组、立方体贴图等不同。

相关文章:

linux - Bash Shell:如何知道TeamViewer是否已断开连接?

linux - Bash脚本写没有覆盖? [关闭]

c++ - 在OpenGL中使用三角形绘制字母?

c++ - OpenGL(GLFW / GLEW)的屏幕上无显示

c++ - 等待线程直到另一个线程结束c ++ linux OS

linux - 使用PuTTY将命令发送到Linux终端

c++ - 在OpenGL中显示多维数据集时出现问题

optimization - 高效比较Kinect深度和OpenGL深度

c++ - 通过OpenGL Assimp加载的对象有时会反转法线

c++ - 使用glfw3 glew和opengl在Visual Studio社区中获取访问冲突异常