我目前有一个使用多个过程的渲染引擎,其中图像的各个部分在纹理上渲染,然后使用着色器进行组合。它有效,现在我想激活多次采样。
我在这里阅读(http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA),使用OpenGL,您无法将GL_TEXTURE2D_MULTISAMPLE
附加到帧缓冲对象。
似乎使用多次采样的一种方法仍然可以访问结果,因为纹理是使用多次采样的渲染缓冲区,然后将结果复制到多重采样纹理中。
我的问题是:前进的最佳方式是什么?
感谢。
答案 0 :(得分:6)
我在这里阅读(http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA),使用OpenGL,你不能将GL_TEXTURE2D_MULTISAMPLE附加到帧缓冲对象。
再读一遍。它没有说明GL_TEXTURE_2D_MULTISAMPLE纹理。实际上,我接回来了:不再次阅读该页面。如果您想获得良好的FBO信息,请阅读解释3.x行为的the page on Framebuffer Objects。您链接的页面已经过时了。
回到EXT时代,您所拥有的只是多重采样渲染缓冲区,因为多重采样纹理不存在。您可以创建多重采样缓冲区,但不能使用它们纹理。你只能搞砸他们。
在3.3 OpenGL中,您可以创建多重采样纹理。你可以将它们像任何其他纹理一样附加到FBO上。