我正在使用 OpenTK 和 C#。我正在渲染到渲染缓冲区,我需要将其内容(ColorAttachment0)复制到 Texture2D,以便我可以对其进行一些后期处理,并将其绘制到屏幕上。我该怎么做呢?我会使用纹理而不是渲染缓冲区,但我需要对帧缓冲区进行抗锯齿处理,并且使用 GL.RenderbufferStorageMultisample 是我知道的唯一方法。
问问题
1395 次
1 回答
3
只需创建另一个 FBO 并将纹理附加到它。将多重采样的 FBO 绑定到 GL_READ_FRAMEBUFFER,将纹理 FBO 绑定到 GL_DRAW_FRAMEBUFFER。然后使用正确的参数调用glBlitFramebuffer 。这将复制和解析样本以生成非多重采样数据,并将其输出到纹理。
如果您想直接解析样本,可以使用 GL_ARB_texture_multisample 扩展。
于 2011-01-22T01:18:13.910 回答