独立个人博客网站制作/手机百度识图网页版入口
将2维纹理对象绑定到帧缓冲区,帧缓冲区本身是不存放颜色、深度等信息的,这些信息需要通过纹理、深度缓存来存放,这些缓存可以绑定到帧缓冲区上。
这种绑定关系会被opengl记录,不会随着当前帧缓冲区改变而改变。因而这个帧缓冲区和纹理单元有点类似,绑定到纹理单元的纹理对象,也会被opengl记录,不会随着当前纹理单元的改变而改变。不同的是纹理单元与纹理对象的绑定关系是隐式进行的(不需要手工绑定),而帧缓冲区与纹理对象的绑定是显式进行的。
void glFramebufferTexture2D( GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level);
target
Specifies the target to which the framebuffer is bound for all commands except glNamedFramebufferTexture.
指定当前帧缓冲区的操作类型,可以取GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER之一,GL_DRAW_FRAMEBUFFER表示当前帧缓冲区为写类型,GL_READ_FRAMEBUFFER表示当前帧缓冲区为读类型,GL_FRAMEBUFFER等同于GL_DRAW_FRAMEBUFFER(与glBindFramebuffer中的含义不一致,那里面等同于GL_DRAW_FRAMEBUFFER,和GL_READ_FRAMEBUFFER)。
attachment
Specifies the attachment point of the framebuffer.
指定纹理对象在帧缓冲区中的挂载点,可以取GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMENT。GL_COLOR_ATTACHMENTi表示颜色挂载点,可以有多个颜色挂载点,i的范围为0~GL_MAX_COLOR_ATTACHMENTS-1。GL_DEPTH_ATTACHMENT表示深度挂载点。GL_STENCIL_ATTACHMENT表示模板挂载点。GL_DEPTH_STENCIL_ATTACHMENT表示同时挂载到深度和模板挂载点。
textarget
For glFramebufferTexture1D, glFramebufferTexture2D and glFramebufferTexture3D, specifies what type of texture is expected in the texture parameter, or for cube map textures, which face is to be attached.
指定纹理对象中的目标类型,这个和glBindTexture中的目标类型是有区别的。可以取 GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_TEXTURE_2D_MULTISAMPLE。GL_TEXTURE_2D表示纹理对象中的二维纹理,glBindTexture绑定GL_TEXTURE_2D的情况下。GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z表示使用立方体纹理的哪一个面,glBindTexture绑定GL_TEXTURE_CUBE的情况下。GL_TEXTURE_2D_MULTISAMPLE表示***,glBindTexture绑定 GL_TEXTURE_2D_MULTISAMPLE的情况下。
texture
Specifies the name of an existing texture object to attach.
指定纹理对象的名字,与glGenTexture一致。
level
Specifies the mipmap level of the texture object to attach.