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获取后面的多个纹理。