Существует разница между использованием нескольких текстур (рисовать объект A с текстурой X, рисовать объект B с текстурой Y) и мультитекстурирование . Мультитекстурирование означает рисование объекта A с текстурами X и Y. Результирующий цвет основан на различных состояниях «текстурной среды» (или шейдеров, если вы их используете); это состояние сообщает OpenGL, как объединить значения двух текстур в один цвет.
Если вы используете фиксированную функцию, то каждая текстура имеет свой набор текстурных координат. Окончательное значение цвета рассчитывается на основе цветов, выбранных этими текстурными координатами на соответствующих им текстурах. Эти текстурные цвета передаются через текстурную среду, которая представляет собой последовательность операций, применяемых к тем цветам, которые вычисляют окончательный цвет.
Если вы используете шейдеры, вы можете делать практически все, что захотите. Составляйте текстурные координаты на лету, используйте произвольные операции для объединения текстурных «цветов» и т. Д.
Единицы текстуры предназначены для мультитекстурирования.