Я передаю текстуру с размером 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?