Opengl 4.0纹理问题

时间:2019-05-16 14:12:46

标签: 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);

我期望输出是这样的:注意非纹理像素是灰色的,这是它的脸色。 enter image description here

但是我得到这个输出: enter image description here

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

1 个答案:

答案 0 :(得分:5)

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.