Параметр level используется, если задается несколько разрешений данной текстуры; в случае задания только одного разрешения он должен быть равен нулю.
Следующий параметр - components - это целое число от 1 до 4, показывающее, какие из RGBA-компонент выбраны для использования. Значение 1 выбирает компоненту R, значение 2 выбирает компоненты R и А, 3 соответствует R, G и В, а 4 соответствует компонентам RGBA.
Параметры width и height задают размеры текстуры, border задает размер границы (бортика), обычно равный нулю. Как параметр width, так и параметр height должны иметь вид 2" + lb, где и - целое число, ai- значение параметра border. Максимальный размер текстуры зависит от реализации OpenGL, но он не менее 64x64.
Смысл параметров format и type аналогичен их смыслу в процедурах glReadPixels и glDrawPixels.
При текстурированин OpenGL поддерживает использование пирамидального фильтрования. Для использования этого необходимо иметь текстуры всех промежуточных размеров, являющихся степенями 2, вплоть до 1x1, н для каждого такого разрешения вызвать glTexhnage2D с соответствующими параметрами level, width, height и image. Кроме того, необходимо задать способ фильтрования, который будет использоваться при выводе текстуры.
Под фильтрованием здесь подразумевается способ, каким будет для каждого пиксела выбираться подходящий элемент текстуры (тексел). При тек-стурировании возможна ситуация, когда 1 пикселу будет соответствовать небольшой фрагмент тексела (увеличение) или же, наоборот, когда 1 пикселу соответствует целая группа текселов (уменьшение). Необходимо отдельно задать способ выбора соответствующего тексела как для увеличения, так и для уменьшения (сжатия) текстуры. Для этого используется процедура
void glTexParameteri ( GL_TEXTURE_2D, GLenum pi, GLenum p2 );
где параметр pi показывает задается ли фильтр для сжатия или же для растяжения текстуры, принимая одно из значений GL_TEXTURE_MIN_ FLITER или GL_TEXTURE_MAG_FILTER.
Параметр р2 задает способ фильтрования, возможные значения приведены в табл. 4.7.