Answers:
纹理坐标成分的通用名称是U和V。但是,由于(用于3D纹理的)下一个字母是W,因此与位置成分的名称冲突:X,Y,Z和w ^。
为避免此类冲突,OpenGL的约定是将纹理坐标的组件命名为S,T和R。因此,您具有如下函数调用:
glTexParameter(..., GL_TEXTURE_WRAP_S, GL_REPEAT);
其中GL_TEXTURE_WRAP_S
指包装在纹理坐标的S分量中。
不幸的是,在GLSL和模糊蒙版出现之前,OpenGL就选择了S,T和R。当然,R与R,G,B和A冲突。为了避免此类冲突,在GLSL中,纹理坐标旋转遮罩使用S,T,P和Q。
在GLSL中,您可以选择XYZW,STPQ或RGBA。它们的意思完全相同。因此position.st
与完全相同position.xy
。但是,您不允许组合来自不同组的防眩目面罩。所以position.xt
是不允许的。