WebGL纹理包装

时间:2014-04-19 19:30:38

标签: javascript opengl-es webgl

您可以在webgl纹理ala

中禁用纹理包装

gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);

如果纹理与渲染目标的大小相同,那么这样做有什么特别的优势吗?是否有任何性能原因可以这样做?

如果重要的话,我特别感兴趣的是在2D广告牌上渲染纹理。

1 个答案:

答案 0 :(得分:1)

从功能上来说,改变它的唯一原因是,如果使用线性过滤,渲染纹理的边缘可能会有细微差别。例如,在纹理的右侧,如果wrap设置为REPEAT,则线性过滤将在边缘的最右边和最左边的纹素的颜色之间进行插值。使用CLAMP_TO_EDGE,它使用最右边的纹素的颜色。

表现应该相同。换行模式可能存在性能差异的唯一时间是GPU本身不支持其中一种模式,并且必须在着色器代码中模拟它。但任何不完全古老的GPU都应支持这两种模式。

我通常会将值设置为CLAMP_TO_EDGE,除非您特别需要重复行为。