Opengl 如何访问默认帧缓冲区的纹理

Opengl 如何访问默认帧缓冲区的纹理,opengl,glsl,Opengl,Glsl,当我创建自己的帧缓冲区时,这就是过程 glGenerateBuffers() // generate a buffer glCreateTextures() // create a texture bind the texture to the buffer once we have rendered in the framebuffer we can use the texture. 我们是否有可用于默认帧缓冲区的纹理?我们可以访问它吗?在创建上下文时定义了所使用的缓冲区,并且由负责创建默

当我创建自己的帧缓冲区时,这就是过程

glGenerateBuffers() // generate a buffer
glCreateTextures()  // create a texture
bind the texture to the buffer
once we have rendered in the framebuffer we can use the texture.

我们是否有可用于默认帧缓冲区的纹理?我们可以访问它吗?

在创建上下文时定义了所使用的缓冲区,并且由负责创建默认帧缓冲区引用的上下文的任何机制拥有。除了作为默认帧缓冲区的一部分之外,您不能以任何方式访问它们(除非上下文创建机制本身为您提供了这样做的方法)。

glGenerateBuffers
这不是OpenGL函数。您可能指的是
glGenBuffers
,但这些生成的缓冲区对象与帧缓冲区无关。如果我想将PBO附加到默认OpenGL帧缓冲区,这是可能的,或者我需要创建自己的帧缓冲区并将PBO附加到缓冲区的纹理。@sam:PBO是缓冲区对象。除了缓冲区纹理,您不会将任何类型的缓冲区对象附加到纹理。当然也不是帧缓冲区。任何类型的。但在任何情况下,都不能将任何内容附加到默认帧缓冲区。如本答案所述,默认帧缓冲区使用的缓冲区由上下文定义和拥有,而不是由您定义和拥有。