glTexImage2d中的border参数

时间:2014-01-25 18:23:17

标签: opengl textures glsl

我对opengl纹理边框有2个问题:

  1. 我知道2D纹理中是如何出现纹理边框的(沿着X和Y维度的1个纹素宽的条带)。可能在3D纹理中它是沿X,Y和Z维度的1个纹素的条带?但是1D纹理怎么样?它是开头的纹素,还是1D纹理末尾的另一个纹素?

  2. OpenGL中是否弃用了当前的'border'选项?因为this链接表示glTexImage2D中必须为零,而this链接表示它可以为零或1.我记得在ogl 4.0上使用1并且我没有得到无效的操作错误。我很困惑。

1 个答案:

答案 0 :(得分:4)

  1. 1D纹理只有1D,因此在条带的两端只有两个边框纹理。

  2. 您所指的MSDN页面记录了Windows操作系统附带的OpenGL版本。此版本比您提供的其他链接正在记录的OpenGL 4.x版本更旧。自OpenGL 3.0以来,显式纹理边框纹理和相应的GL_CLAMP包装模式确实已被弃用。但是,您可以使用GL_TEXTURE_BORDER_COLOR纹理参数和GL_CLAMP_TO_BORDER包装模式为纹理边框设置一个恒定的颜色。