Я передаю текстуру с размером NxM в качестве сэмплера в GLSL фрагментном шейдере (OpenGL ES 2.0). Как правильно считывать данные текселя из соседнего текселя? У меня нет "изменяющейся" текстурной координаты во фрагментном шейдере. Я могу использовать только координату фрагмента для считывания информации о текстуре.
Ниже приведен мой шейдер, я не уверен, что он действительно читает данные:
precision mediump float;
uniform sampler2D Sampler;
#define OFFSET 1.0
void main()
{
vec2 T = gl_FragCoord.xy;
//Find neighboring velocities:
vec2 N = texture2D(Sampler,vec2(T.x,T.y+OFFSET)).xy;
vec2 S = texture2D(Sampler,vec2(T.x,T.y-OFFSET)).xy;
vec2 E = texture2D(Sampler,vec2(T.x+OFFSET,T.y)).xy;
vec2 W = texture2D(Sampler,vec2(T.x-OFFSET,T.y)).xy;
}
Значение OFFSET должно быть 1.0 или что-то другое для текстуры размера NxM?