Opengl 4.0 纹理问题

Opengl 4.0 Texture issue

您好,我正在尝试在矩形上渲染纹理。我正在使用 GL_CLAMP_TO_BORDER 因为我不想让纹理自己重复。

glTextureParameteri(id, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTextureParameteri(id, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);

我希望输出是这样的:注意非纹素是灰色的,这是它的表面颜色。

但我得到了这个输出:

2 中提到的区域我想如果我启用混合可以解决,但我没有得到区域 1 的任何解决方案。 我知道我没有共享任何代码,因为我真的不能,我需要进行任何额外的 gl 调用来解决这个问题吗?

GL_CLAMP_TO_BORDER 夹到 border color defined in the texture/sampler object。也就是说,[0, 1] 范围外的纹理坐标将获取该边框颜色。

如果您没有设置该边框颜色,它可能会是黑色。

您可能想要的夹紧模式是GL_CLAMP_TO_EDGE。这意味着 the color you get for out-of-range fetches is the color of the nearest edge texels of the texture.