我的代码看起来大致如下:
GLenum glewStatus = glewInit();
if (glewStatus != GLEW_OK)
exit(1);
if (!GLEW_ARB_framebuffer_object)
exit(1);
printf("%p\n", glFramebufferTexture);
Run Code Online (Sandbox Code Playgroud)
这打印0,这解释了为什么glFramebufferTexture()立即调用segfaults.
但是,为什么是0?很多其他的帧缓冲功能都工作得很好(例如glBindFramebuffer,glFramebufferRenderbuffer和glBindFramebuffer).
我是否需要以不同的方式初始化GLEW或扩展名?
glFramebufferTexture()是一个比glBindFramebuffer()其他FBO相关切入点更新的切入点.在核心OpenGL规范中,glFramebufferTexture()在3.2中添加,而其余的FBO功能是3.0的一部分.glFramebufferTexture()也不是ARB_framebuffer_object的一部分.
您可以glFramebufferTexture2D()在大多数情况下使用,这是原始FBO功能的一部分.glFramebufferTexture()仅适用于纹理数组,立方体贴图等.
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |