【问题标题】:Improve texture resolution in GLSL fragment shader提高 GLSL 片段着色器中的纹理分辨率
【发布时间】:2016-11-18 04:08:14
【问题描述】:

有没有办法使用 GLSL 片段着色器处理来增加或提高纹理的分辨率?比方说,我有 512x424 像素的源图像,并且希望得到 1024x848 像素的结果,并且像素平滑。

更新。 在“改进”下,我的意思是使用某种重采样算法进行放大。

【问题讨论】:

  • “改善纹理”和“平滑像素”是指通过插值放大吗?
  • @gre_gor 我的意思是使用某种重采样算法进行放大,例如Photoshop 中的“双三次平滑”重采样。
  • 你有没有使用 glTexParameter 设置缩小和放大过滤器?可以设置 GL_NEAREST 和 GL_LINEAR...
  • @WLGfx 我正在设置 GL_LINEAR 插值。然而,这并不是我想要的。很抱歉请求不明确。最后我找到了答案:codeproject.com/articles/236394/…(缩放具有不同插值类型的图像)

标签: opengl-es glsl textures webgl shader


【解决方案1】:
  1. 创建 FBO,附加具有所需尺寸的大型目标纹理
  2. 使用小源纹理边界渲染“全屏”纹理四边形

【讨论】:

  • 感谢您的回答。我按照你的建议做了(通过three.js)。并应用双三次三角插值。本文描述了我一直在寻找的内容:codeproject.com/articles/236394/…(缩放具有不同插值类型的图像)。抱歉请求不明确。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多