如何将纹理索引为着色器中的离散查找表?

时间:2009-02-25 13:33:30

标签: opengl textures shader glsl gpgpu

我正在用GLSL写一个着色器,我需要传递一定数量的信息。传递此信息的唯一实用方法是使用1-D纹理 我正在创建纹理并将GL_TEXTURE_MIN_FILTERGL_TEXTURE_MAG_FILTER设置为GL_NEAREST
现在从着色器我需要访问纹理,这样我就可以精确地索引我输入的每个数字3值向量。
什么是一种可靠的方法来轻松完成这项工作?
我正在寻找的是一个公式,它采用数组的大小和我想要的索引,并给我[0,1]中的数字,它对应于我想要的纹素。

2 个答案:

答案 0 :(得分:2)

idx/(size-1)

也许?只需确保idx和size首先浮动。

答案 1 :(得分:1)

刚刚发现OpenGL 3.0通过引入texelFetch()功能使这一需求变得过时,这些功能也可用于扩展名GL_EXT_gpu_shader4