2013-11-27 84 views
0

我想在我的程序中实现一个Framebuffer对象。我已经包括帧缓冲区对象错误?

#include <GL/glew.h> 
#include <GL/glut.h> 

我收到以下错误:

error: ‘glGenFrameBuffers’ was not declared in this scope 

error: ‘GL_FRAME_BUFFER’ was not declared in this scope 

error: ‘glBindFrameBuffer’ was not declared in this scope 

我的代码来创建帧缓冲区对象如下:

GLuint fbo; 
glGenFrameBuffers(1 , &fbo); 
glBindFrameBuffer(GL_FRAME_BUFFER, fbo); 

当我运行下面的代码来创建项目编译的顶点缓冲区对象:

GLuint vbod; 
glGenBuffers(1 , &vbod); 
glBindBuffer(GL_ARRAY_BUFFER, vbod); 

回答

3

帧缓冲区被认为是一个字,所以使用downcase buffers,并从不断删除下划线:

GLuint fbo; 
glGenFramebuffers(1 , &fbo); 
glBindFramebuffer(GL_FRAMEBUFFER, fbo); 
+0

它的工作。谢谢。 – Coffee

+0

@ user2670468:为此,如果您承认“Framebuffer”是一个单词,则它们更清晰,它们不是缓冲对象。它们只是名称恰好以“... buffer”结尾的对象;)对于许多事情来说,这是一个重要的区别,因为OpenGL中的缓冲区对象在资源分配,共享等方面具有独特的属性。 –