【发布时间】:2014-09-10 14:35:45
【问题描述】:
我了解texture2D 的一般工作原理。我的问题更具体。
在代码片段中:
texture2D(sTexture, texCoord.st)
texCoord.s 和 texCoord.t 在[0, 1] 之间,或者
它们是正方形的,还是
他们有图片尺寸吗?
如果它们不是[0, 1],那么将坐标s、t 设为浮点数有什么意义?
【问题讨论】:
我了解texture2D 的一般工作原理。我的问题更具体。
在代码片段中:
texture2D(sTexture, texCoord.st)
texCoord.s 和 texCoord.t 在[0, 1] 之间,或者
它们是正方形的,还是
他们有图片尺寸吗?
如果它们不是[0, 1],那么将坐标s、t 设为浮点数有什么意义?
【问题讨论】:
Texcoords 在正常情况下是规范化的浮点数(范围 [0,1]),在 GL_TEXTURE_RECTANGLE 的情况下是非规范化的浮点数(范围分别为 [0,w] 或 [0,h])。
纹理坐标在从中采样时永远不会是整数,而是始终是浮点数,因为没有获取特定的纹理元素,而是在某个位置采样纹理,而不仅仅是纹素中心。因此,在采样期间,纹素定义纹理空间中的矩形块,纹理过滤器将定义采样函数以使用为整个纹理空间中的每个位置定义结果颜色。例如,GL_LINEAR 将在相邻的纹素中心之间进行线性插值。
【讨论】: