テクスチャ座標のコンポーネントの一般的な名前はUとVです。ただし、次に使用される文字(3Dテクスチャの場合)はWであるため、位置のコンポーネントの名前と競合します:X、Y、Z、W。
このような競合を避けるため、OpenGLの規則では、テクスチャ座標のコンポーネントにはS、T、およびRという名前が付けられます。したがって、次のような関数呼び出しがあります。
glTexParameter(..., GL_TEXTURE_WRAP_S, GL_REPEAT);
where 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
許可されていません。