Tên chung cho các thành phần của tọa độ kết cấu là U và V. Tuy nhiên, vì chữ cái tiếp theo được sử dụng (cho kết cấu 3D) là W, gây ra xung đột với tên của các thành phần của vị trí : X, Y, Z và W .
Để tránh những xung đột như vậy, quy ước của OpenGL là các thành phần của tọa độ kết cấu được đặt tên là S, T và R. Do đó, bạn có các lệnh gọi hàm như thế này:
glTexParameter(..., GL_TEXTURE_WRAP_S, GL_REPEAT);
Trong đó GL_TEXTURE_WRAP_S
đề cập đến việc bọc trong thành phần S của tọa độ kết cấu.
Thật không may, OpenGL đã chọn S, T và R từ lâu trước khi mặt nạ GLSL và swizzle xuất hiện. R, tất nhiên, xung đột với R , G, B và A. Để tránh những xung đột đó, trong GLSL, mặt nạ kết hợp swizzle sử dụng S, T, P và Q.
Trong GLSL, bạn có thể chuyển đổi với XYZW, STPQ hoặc RGBA. Tất cả đều có nghĩa chính xác cùng một điều. Như vậy position.st
là chính xác như position.xy
. Tuy nhiên, bạn không được phép kết hợp mặt nạ swizzle từ các bộ khác nhau. Vì vậy, position.xt
không được phép.