使用PyOpenGL和GLFW对AA进行超采样

时间:2019-01-18 14:11:25

标签: opengl glfw antialiasing pyopengl

我正在开发以OpenGL + GLFW和Linux为目标平台的应用程序。

默认栅格化具有非常强的别名。我已经在流水线的顶部实现了FXAA,但仍然得到了很好的别名。特别是当存在某种动画或运动时,网格的边缘会闪烁。从字面上看,这会使整个项目变得毫无用处。

因此,我想我也应该添加一个超级采样,并且我已经尝试实施了两个星期,但仍然无法使其正常工作。我开始认为结合使用PyOpenGL + GLFW + Ubuntu18.04是不可能的。

所以,问题是,我可以手动进行超级采样(没有OpenGL扩展)吗?在(延迟的)渲染管道的末尾,我将所有数据从不同的通道保存到硬盘驱动器,所以我想我会做这样的事情:

  1. 2x / 3x分辨率的图像渲染到纹理。
  2. 将纹理缓冲区保存到数组。
  3. 从每个2x2 / 3x3 / 4x4块中获取平均像素值 此数组的
  4. 将其保存到硬盘驱动器上。

显然,它比使用OpenGL扩展进行多重采样要慢,并且需要更多的内存,但是我不需要很高的fps,而且我的分辨率也很小(例如480x640或类似的东西),所以它可以解决。

你们对此有什么想法吗?我很乐意提供任何建议。

0 个答案:

没有答案