多重采样渲染缓冲区的目的是什么

What's the purpose of multisample renderbuffers

如果我没理解错的话,renderbuffer只能作为framebuffer的附件使用,不能以任何方式读取或重用。如果是这样,那么多采样渲染缓冲区的用例是什么,如果它们没有效果,将什么数据写入其他 FBO 附件?或者是否有可能以某种方式使用它们在主后缓冲区之外获取硬件 MSAA(WebGL2 尚不支持多重采样纹理)?

您渲染到多重采样渲染缓冲区。然后调用 gl.blitFramebuffer 将其 解析 为普通纹理或后备缓冲区。通过这种方式,您可以获得多重采样抗锯齿 (MSAA)

这就是浏览器本身为您提供抗锯齿的方式 canvas。在 WebGL2 中,您可以自己制作多重采样渲染缓冲区。在 WebGL1 中你不能。