欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图形学常见概念与算法-纹理环绕

程序员文章站 2024-03-16 17:40:46
...

纹理环绕的作用

纹理坐标通常范围在(0, 0)到(1, 1),但也可以设置在范围之外,这时就要设置环绕方式(texture wrapping)了,默认是重复,可以设置xy轴,叫做st轴,如果是3D纹理还有个r轴,就是z轴。

OpenGL中如何设置

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);

第一个参数:指定了纹理目标;
第二个参数:指定了设置的选项,这里为WRAP选项,及设置的纹理轴S/T;
第三个参数:指定了环绕方式:

GL_REPEAT // 重复纹理图像,为默认方式
GL_MIRRORED_REPEAT // 每次重复图像是镜像放置的
GL_CLAMP_TO_EDGE // 超出部分重复边缘纹理
GL_CLAMP_TO_BORDER // 超出部分使用指定边缘颜色

如果选择了GL_CLAMP_TO_BORDER选项,还需为它指定一个边缘颜色,需要使用glTexParameter函数的fv后缀形式,用GL_TEXTURE_BORDER_COLOR作为它的选项,并传递一个float数组作为边缘的颜色值:

float borderColor[] = {1.0f, 1.0f, 0.0f, 1.0f};
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, borderColor);
相关标签: 图形学 图形学