Come indicizzare un texture come una tabella di ricerca discreto da uno shader?
Domanda
Sto scrivendo uno shader in GLSL e ho bisogno di passare una certa quantità di informazioni. L'unico modo pratico per passare queste informazioni sta usando una texture 1-D.
Sto creando la trama e l'impostazione GL_TEXTURE_MIN_FILTER
e GL_TEXTURE_MAG_FILTER
a GL_NEAREST
Ora dal Shader ho bisogno di accedere la texture così sarò in grado di esattamente indice di ogni numero a 3 valore del vettore ho messo dentro.
Che è un modo sicuro per farlo facilmente?
Quello che sto cercando è una formula che tiene la dimensione della matrice e l'indice che voglio e mi danno il numero in [0,1] che corrisponde alla texel che voglio.
Soluzione
idx/(size-1)
forse? Basta fare in modo IDX e le dimensioni sono galleggianti prima.
Altri suggerimenti
appena scoperto che OpenGL 3.0 rende questa necessità obsoleta con l'introduzione delle funzioni texelFetch()
che sono disponibili anche con il GL_EXT_gpu_shader4
estensione