Ios 在texture2DProj上没有夹紧或重复

Ios 在texture2DProj上没有夹紧或重复,ios,opengl-es,textures,Ios,Opengl Es,Textures,有没有办法告诉texture2DProj或将纹理设置为一种模式,如果坐标在边界之外,则会显示默认值?一种方法是将图像的边框设置为默认值并使用钳制。还有其他方法吗?最简单的方法可能是测试坐标是否在着色器的范围内,否则指定默认值 如果您的电话正常: vec3 texCoord = ...; vec4 texVal = texture2DProj(tex, texCoord); 您可以将其更改为: vec4 texVal; if (any(bvec4(texCoord[0] < 0.0, te

有没有办法告诉texture2DProj或将纹理设置为一种模式,如果坐标在边界之外,则会显示默认值?一种方法是将图像的边框设置为默认值并使用钳制。还有其他方法吗?

最简单的方法可能是测试坐标是否在着色器的范围内,否则指定默认值

如果您的电话正常:

vec3 texCoord = ...;
vec4 texVal = texture2DProj(tex, texCoord);
您可以将其更改为:

vec4 texVal;
if (any(bvec4(texCoord[0] < 0.0, texCoord[1] < 0.0,
              texCoord[0] > texCoord[2], texCoord[1] > texCoord[2]))) {
    texVal = defaultVal;
} else {
    texVal = texture2DProj(tex, texCoord);
}