Функция glTexParameterf

Задает параметры текстуры.

Синтаксис

void WINAPI glTexParameterf(
   GLenum  target,
   GLenum  pname,
   GLfloat param
);

Параметры

target

Целевая текстура, которая должна быть либо GL_TEXTURE_1D, либо GL_TEXTURE_2D.

pname

Символьное имя одного параметра текстуры с одним значением. Следующие символы принимаются в pname.

Значение Значение
GL_TEXTURE_MIN_FILTER
Функция миниификации текстур используется всякий раз, когда текстурируемый пиксель сопоставляется с областью, превышающей один элемент текстуры. Существует шесть определенных функций минификации. Два из них используют ближайший один или ближайшие четыре элемента текстуры для вычисления значения текстуры. Остальные четыре используют MIP-карты.
MIP-карта — это упорядоченный набор массивов, представляющих одно и то же изображение с постепенно более низким разрешением. Если текстура имеет размеры 2nx2m , есть max(n, m) + 1 MIP-карты. Первая MIP-карта — это исходная текстура с размерами 2nx2м. Каждая последующая MIP-карта имеет размеры 2k1x2l1, где 2kx 2l являются измерениями предыдущей MIP-карты, пока k = 0 или l = 0. На этом этапе последующие MIP-карты имеют размерность 1x2l1 или 2k1x1 до окончательной MIP-карты, которая имеет измерение 1x1. MIP-карты определяются с помощью glTexImage1D или glTexImage2D с аргументом уровня детализации, указывающим порядок MIP-карт. Уровень 0 — исходная текстура; level bold max(n, m) — это окончательная MIP-карта 1x1.
GL_TEXTURE_MAG_FILTER
Функция увеличения текстуры используется, когда текстурируемый пиксель сопоставляется с областью, меньшей или равной одному элементу текстуры. Функция увеличения текстуры задает значение GL_NEAREST или GL_LINEAR.
GL_TEXTURE_WRAP_S
Задает параметру wrap для координат текстуры значение GL_CLAMP или GL_REPEAT. GL_CLAMP привязывает координаты к диапазону [0,1] и полезен для предотвращения упаковки артефактов при сопоставлении одного изображения с объектом. GL_REPEAT приводит к тому, что целочисленная часть координаты игнорируется; OpenGL использует только дробную часть, тем самым создавая повторяющийся шаблон. Доступ к элементам текстуры границы осуществляется только в том случае, если для обтекания задано значение GL_CLAMP. Изначально для GL_TEXTURE_WRAP_S задано значение GL_REPEAT.
GL_TEXTURE_WRAP_T
Задает параметру wrap для координаты текстуры t значение GL_CLAMP или GL_REPEAT. См. обсуждение в разделе GL_TEXTURE_WRAP_S. Изначально для GL_TEXTURE_WRAP_T задано значение GL_REPEAT

param

Значение pname.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
target или pname не является одним из принятых определенных значений, или если параметр должен иметь определенное значение константы (на основе значения pname) и не имеет значения .
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Сопоставление текстур — это метод, который применяет изображение к поверхности объекта, как если бы изображение было наклейкой или целлофановой сжатием. Изображение создается в пространстве текстуры с системой координат (s, t). Текстура — это одномерное или двумерное изображение и набор параметров, определяющих, как образцы извлекаются из изображения.

Функция glTexParameter присваивает значение или значения в параметре текстуры, указанному как pname. Параметр target определяет целевую текстуру GL_TEXTURE_1D или GL_TEXTURE_2D.

По мере того как в процессе минификации выполняется выборка большего числа элементов текстуры, будет очевидно меньше артефактов псевдонимов. Хотя функции GL_NEAREST и GL_LINEAR минификации могут выполняться быстрее, чем остальные четыре, они выборка только одного или четырех элементов текстуры для определения значения текстуры отрисовываемого пикселя и могут создавать муаровые узоры или неровные переходы. Значение по умолчанию GL_TEXTURE_MIN_FILTER — GL_NEAREST_MIPMAP_LINEAR.

Предположим, что включено форматирование (путем вызова glEnable с аргументом GL_TEXTURE_1D или GL_TEXTURE_2D), а для GL_TEXTURE_MIN_FILTER задана одна из функций, которым требуется MIP-карта. Если размеры изображений текстур, определенных в данный момент (с предыдущими вызовами glTexImage1D или glTexImage2D), не соответствуют правильной последовательности для MIP-карт, или определено меньше изображений текстуры, чем требуется, или набор изображений текстуры имеет разное количество компонентов текстуры, то сопоставление текстуры было как будто отключено. Линейная фильтрация обращается к четырем ближайшим элементам текстуры только в двухуровневых текстурах. В 1-D текстурах линейная фильтрация обращается к двум ближайшим элементам текстуры. Следующая функция извлекает сведения, связанные с glTexParameterf, glTexParameteri, glTexParameterfv и glTexParameteriv.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D