用于OpenGL中纹理查找的自定义内核过滤器。有可能吗?

时间:2017-03-07 17:09:47

标签: opengl

我想尝试使用此page中描述的子像素渲染技术。

这个想法(如果你没有时间阅读整篇文章),就是利用LCD的每个像素实际上有3个可以被视为3个单独像素的LED这一事实。通过将图像渲染为屏幕水平尺寸的3倍,然后将此图像调整到原始屏幕的宽度,并通过在其间执行一些过滤魔术,我们可以大大改善图像内容的抗锯齿。

现在作者说:

  

图像处理专家会将此称为五元素低通窗口滤波器,系数为[1 / 9,2 / 9,3 / 9,2 / 9,1 / 9]。

enter image description here

当您将纹理从屏幕宽度的3倍过滤到屏幕宽度时,需要应用这种过滤器。

我的问题是:

  • 是否可以在调整纹理大小时指定自定义过滤器内核?
  • 如果没有,有人可以提出一些关于如何在片段着色器中实现这一点的想法。假设一个片段被遮蔽。我有该片段的纹理坐标,我可以用它从纹理中读取纹素。如何将其与纹理坐标的导数一起使用,以便可能访问右邻居像素并平均其贡献?是这样的吗?

任何对这两种技术的提及都将不胜感激。

PS:

现在我的管道如下:

  • 我将内容宽度为3 *屏幕宽度x 1 *屏幕高度渲染为纹理
  • 我将纹理应用于填充屏幕的四边形

0 个答案:

没有答案