2009-02-25 12 views
1

我正在GLSL中着色,我需要傳遞一定量的信息。傳遞這些信息的唯一可行方法是使用一維紋理。
我創建紋理和着色器我需要訪問紋理設置GL_TEXTURE_MIN_FILTERGL_TEXTURE_MAG_FILTERGL_NEAREST
,所以我現在就可以給我投入它的每一個數字3-值向量準確指標。
什麼是一個容易做到這一點的確定的方法?
我正在尋找的是一個公式,它需要數組的大小和我想要的索引,並給我與[0,1]中對應於我想要的texel的數字。如何將紋理索引爲來自着色器的離散查找表?

回答

2
idx/(size-1) 

也許?只要確保idx和大小是首先浮動。

+0

雖然該作品(感謝近鄰),正確的方法應該是(IDX + 0.5)/大小。 – 2009-02-27 10:37:40

1

剛剛發現的OpenGL 3.0,使這一需求過時引進的texelFetch()功能,這也可與擴展GL_EXT_gpu_shader4