Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 如何将纹理索引为着色器中的离散查找表?_Opengl_Textures_Shader_Glsl_Gpgpu - Fatal编程技术网

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

Opengl 如何将纹理索引为着色器中的离散查找表?,opengl,textures,shader,glsl,gpgpu,Opengl,Textures,Shader,Glsl,Gpgpu,我正在用GLSL编写一个着色器,我需要向它传递一定数量的信息。传递此信息的唯一实用方法是使用一维纹理。 我正在创建纹理并将GL\u纹理\u MIN\u过滤器和GL\u纹理\u MAG\u过滤器设置为GL\u最近的过滤器 现在,从着色器中,我需要访问纹理,这样我就能够准确地索引我放入其中的每个数字3值向量。 什么是可靠的方法可以轻松做到这一点? 我要找的是一个公式,它取数组的大小和我想要的索引,然后给我[0,1]中的数字,它对应于我想要的texel idx/(size-1) 也许吧?只需确保id

我正在用GLSL编写一个着色器,我需要向它传递一定数量的信息。传递此信息的唯一实用方法是使用一维纹理。
我正在创建纹理并将
GL\u纹理\u MIN\u过滤器
GL\u纹理\u MAG\u过滤器
设置为
GL\u最近的过滤器

现在,从着色器中,我需要访问纹理,这样我就能够准确地索引我放入其中的每个数字3值向量。
什么是可靠的方法可以轻松做到这一点?
我要找的是一个公式,它取数组的大小和我想要的索引,然后给我[0,1]中的数字,它对应于我想要的texel

idx/(size-1)

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

刚刚发现OpenGL 3.0引入了
texelFetch()
函数,使这一需求变得过时,扩展名
GL\u EXT\u gpu\u shader4

也可以使用这些函数(感谢最近邻),正确的方法应该是(idx+0.5)/size>。