texelFetch的替代方案?

Roh*_*ngh 10 opengl glsl sfml

我正在进入GLSL并需要一些纹理查找帮助.我正在尝试使用纹理进行存储,但我无法获得"正确"的纹理查找.我更喜欢使用通常的texture2D方法(使用GLSL 1.2),但结果不够好.

使用texture2D: 一

使用texelFetch: 二

现在很明显第一个问题出了问题.这是我想要做的事情(是的尺寸是正确的,除非有一些我不知道的事情):

vec4 texelFetch(sampler2D tex, ivec2 size, ivec2 coord)
{
    return texture2D(tex, vec2(float(coord.x) / float(size.x), 
                               float(coord.y) / float(size.y)));
}
Run Code Online (Sandbox Code Playgroud)

那么,这将如何正确完成?

dat*_*olf 8

这已成为某种常见问题解答:

我在这里回答

/sf/answers/411568601/

和这里

/sf/answers/509101001/

以及其他一些地方.

  • 具有讽刺意味的是,这个答案是我搜索结果中的第一个stackoverflow链接. (27认同)
  • 惩罚不用谷歌搜索的人是没有用的; 那些**花时间去搜索的人往往会遇到有人没有搜索过的人生气的所有链接,这最终会让那些真正试图查找解决方案的人无法使用的问题. (14认同)