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 纹理(…)通过纹理偏移(…)在glsl中的性能_Opengl_Glsl_Texture Mapping_Glsles - Fatal编程技术网

Opengl 纹理(…)通过纹理偏移(…)在glsl中的性能

Opengl 纹理(…)通过纹理偏移(…)在glsl中的性能,opengl,glsl,texture-mapping,glsles,Opengl,Glsl,Texture Mapping,Glsles,与手动计算偏移和使用常规纹理(…)函数相比,使用纹理偏移(…)是否提高了性能 由于有一个GL_MAX_PROGRAM_TEXEL_OFFSET属性,我猜它可以在单个或至少尽可能少的情况下获取偏移的TEXEL,从而使其具有极好的效果,例如模糊效果,但我似乎无法了解它在任何地方的内部工作原理 更新: 重新格式化问题:gl驱动程序在使用textureOffset(…)函数时,是否经常对纹理提取进行任何优化?您问错了问题。问题不应该是更具体的功能是否总是有更好的性能。问题是更具体的功能是否会更慢 没有理

与手动计算偏移和使用常规
纹理(…)
函数相比,使用
纹理偏移(…)
是否提高了性能

由于有一个GL_MAX_PROGRAM_TEXEL_OFFSET属性,我猜它可以在单个或至少尽可能少的情况下获取偏移的TEXEL,从而使其具有极好的效果,例如模糊效果,但我似乎无法了解它在任何地方的内部工作原理

更新:
重新格式化问题:gl驱动程序在使用textureOffset(…)函数时,是否经常对纹理提取进行任何优化?

您问错了问题。问题不应该是更具体的功能是否总是有更好的性能。问题是更具体的功能是否会更慢

没有理由期待它会变慢。如果硬件没有用于偏移纹理访问的专用功能,那么编译器将只是手动偏移纹理坐标,就像您可以那样。如果有硬件帮助,那么它将使用它

因此,如果您需要
textureOffset
s,并且可以在其限制范围内使用,那么没有理由不使用它

我猜它可以在一次或至少尽可能少的时间内获取偏移的纹理,从而获得极好的效果,例如模糊效果

不,那是她
textureOffset
用于完全按照其名称进行操作:基于纹理坐标访问纹理,并从该坐标的位置进行texel偏移


textuegrough
同时从多个相邻texel采集样本。如果你需要阅读纹理的一部分来进行模糊处理,
textureGather
(和
textureGatherOffset
)将比
textureOffset
)更有用。谢谢你,我更新了问题,我知道textureGather,我想知道的是是否有任何驱动程序,甚至是常见的,它可以利用textureOffset获取后面的多个纹理。