Загальні назви компонентів координат текстури - це U та V. Однак, оскільки наступна літера (для 3D-текстур) використовується W, що викликає конфлікт із іменами компонентів позиції : X, Y, Z та W .
Щоб уникнути подібних конфліктів, умовою OpenGL є те, що компоненти координат текстури мають ім'я S, T і R. Таким чином, у вас є такі виклики функцій, як цей:
glTexParameter(..., GL_TEXTURE_WRAP_S, GL_REPEAT);
Де GL_TEXTURE_WRAP_Sйдеться про загортання в S компонента текстурної координати.
На жаль, OpenGL вибрав S, T і R задовго до того, як з'явилися GLSL і маски свистуля . R, звичайно, конфліктує з R , G, B і A. Щоб уникнути подібних конфліктів, у GLSL маска перемикання текстури координат текстури використовує S, T, P і Q.
У програмі GLSL ви можете ширити за допомогою XYZW, STPQ або RGBA. Всі вони означають абсолютно те саме. Так що position.stточно так само, як position.xy. Однак вам не дозволяється поєднувати маски для викрутки з різних наборів. Так position.xtне дозволено.