Cómo indexar una textura como una tabla de búsqueda discreta de un shader?
Pregunta
Estoy escribiendo un shader en GLSL y tengo que pasar una cierta cantidad de información. La única forma práctica de pasar esta información está utilizando una textura 1-D.
Estoy creando la textura y el establecimiento de GL_TEXTURE_MIN_FILTER
y GL_TEXTURE_MAG_FILTER
a GL_NEAREST
Ahora desde el shader necesito para acceder a la textura así que seré capaz de exactamente índice de cada número de 3 valor de vector que puse en él.
¿Qué es una manera segura de hacer esto fácilmente?
Lo que estoy buscando es una fórmula que tiene el tamaño de la matriz y el índice que quiero y dame el número de [0,1] que corresponde a la Texel quiero.
Solución
idx/(size-1)
tal vez? Sólo asegúrese de IDX y el tamaño son los flotadores en primer lugar.
Otros consejos
acabo de enterar que OpenGL 3.0 hace que esta necesidad obsoleta con la introducción de las funciones texelFetch()
que también están disponibles con la GL_EXT_gpu_shader4
extensión