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,这解释了为什么调用 glFramebufferTexture() 会立即出现段错误。

但是,为什么是0呢?许多其他帧缓冲区函数都工作得很好(例如 glBindFramebufferglFramebufferRenderbufferglBindFramebuffer)。

我需要以不同的方式初始化 GLEW 或扩展吗?

最佳答案

glFramebufferTexture() 是比 glBindFramebuffer() 和其他 FBO 相关入口点更新的入口点。在核心 OpenGL 规范中,glFramebufferTexture() 是在 3.2 中添加的,而其余的 FBO 功能是 3.0 的一部分。 glFramebufferTexture() 也不是 ARB_framebuffer_object 的一部分。

在大多数情况下,您可以使用 glFramebufferTexture2D(),这是原始 FBO 功能的一部分。 glFramebufferTexture() 仅对于纹理数组、立方体贴图等有所不同。

关于linux - 当 GLEW_ARB_framebuffer_object 不为零时,为什么 glFramebufferTexture 是 NULL 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550052/

相关文章:

linux - Subversion over ssh - 从 Windows 主机访问 Linux 上的远程存储库

c++ - GLEW 无法与 CMAKE 一起使用

c++ - glfw 不创建窗口

Java 渲染网络摄像头图像占用过多 CPU

c++ - 如何将 GLEW 与 MinGW 一起使用

xcode - 包含来自 Xcode 上添加的框架的 header

linux - 无法在 2 个 TSI148 VMEbus Controller 之间设置可靠的 DMA 传输

mysql - mysql中如何配置获取通用查询日志和慢查询日志

linux - checkpatch.pl 是如何工作的,以及通过在补丁上运行它究竟能得到什么?

c++ - GLSL 着色器在 Intel 的集成 GPU 上运行完美但在 NVIDIA 上没有