glGetTexParameterIiv和glGetTexParameterIuiv的作用是什么?

时间:2019-09-28 20:12:03

标签: opengl textures

标题(请注意大写字母i,而不是glGetTextureParameteriv),我认为它们在过去以整数形式检索边框颜色很有用,但是我找不到任何确认信息闲逛。

有人可以启发我吗?

1 个答案:

答案 0 :(得分:3)

您似乎将边界颜色与纹理的边界 texels 混淆了。那些不是同一回事。边界纹理元素是纹理存储的一部分,代表被认为在纹理的法线边界之外(并用于过滤)的纹理元素。 border color是一种单色值,是纹理或sampler object的采样数据的一部分,可以在尝试获取纹理正常边界之外的纹素时使用。

边界像素已在GL 3.0中弃用,并已从GL 3.1+中删除(并且从来都不是OpenGL ES的一部分)。但是边框 color 仍然是OpenGL的一部分。

要回答您的问题,是的,ParameterI函数仅用于通过integer formats rather than float/normalized formats获取/设置纹理的边框颜色。这里的Inot a type suffix;与glVertexAttribIPointer类似,它指的是它正在处理整数数据而不是浮点型/规范化数据的事实。也就是说,它与描述函数参数的类型无关。它描述了这些值平均值的含义。