这将是我第一次渲染到默认帧缓冲区以外的任何内容,我的搜索表明 FBO 是完成此任务的方法。实际上,它们似乎是我所看到的唯一方法 - 如果我在这方面错了,请纠正我。
我特别试图将自己限制在自3.1以来一直是核心的 OpenGL 功能。根据OpenGL wiki,自 3.0 以来,FBO 一直是核心。
我找到了大量关于设置 FBO 以及如何将纹理附加到它们的资源,但它们都使用自 3.2 以来仅作为核心的函数(根据 OpenGL wiki)(例如glFrameBufferTexture和glFrameBufferTextureLayer)。
使用 OpenGL 3.1 或更低版本渲染到纹理的正确/推荐方法是什么?应该注意的是,我将需要一个深度缓冲区来处理我正在渲染的内容(FBO 提供的一项功能)。
注意:我最初的标题是“如何在 OpenGL 3.1 中将纹理附加到帧缓冲区对象。”,但如果有其他选项,则使用更通用的标题。