Estoy pasando una textura con el tamaño NxM como una muestra en el sombreador de fragmentos GLSL (OpenGL ES 2.0). ¿Cuál es la forma correcta de leer los datos de texel del texel vecino? No tengo una coordenada de textura "variable" en el sombreador de fragmentos. Solo puedo usar la coordenada de fragmento para leer la información de textura.En OpenGL ES 2.0, ¿cómo leer los texels vecinos de un Sampler?
siguiente es mi shader, no estoy seguro de si es en realidad la lectura de los datos:
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;
}
muestra el valor inicial debe ser de 1,0 o algo más de N x M textura tamaño?
¿Qué estás tratando de hacer exactamente aquí? – IDWMaster
@IDWMaster Supongo que accediendo a los valores de texel vecinos, como él dijo. No sé dónde hay algo poco claro o si importa lo que realmente quiere lograr al final. –
Bienvenido a StackOverflow, espero que lea las [preguntas frecuentes] (http://stackoverflow.com/faq#howtoask). –