Opengl 4.0纹理问题

Rah*_*ali 1 opengl graphics opengl-4

嗨,我正在尝试在矩形上渲染纹理。我正在使用GL_CLAMP_TO_BORDER,因为我不希望纹理重复出现。

glTextureParameteri(id, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTextureParameteri(id, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
Run Code Online (Sandbox Code Playgroud)

我期望输出是这样的:注意非纹理像素是灰色的,这是它的脸色。 在此处输入图片说明

但是我得到这个输出: 在此处输入图片说明

如果启用混合功能,则在第2条中提到的区域应该可以解决,但是我没有获得第1区域的任何解决方案。我知道我没有共享任何代码,因为我确实不能共享,是否还需要其他gl调用来解决问题?

Nic*_*las 5

GL_CLAMP_TO_BORDER固定到纹理/采样器对象中定义边框颜色。也就是说,超出[0,1]范围的纹理坐标将获取该边框颜色。

如果您未设置该边框颜色,则可能为黑色。

您可能需要的钳位模式是GL_CLAMP_TO_EDGE。这意味着,超出范围提取时获得的颜色是纹理的最近边缘纹理像素的颜色。