Поделиться через


Функция glTexParameteri

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

Синтаксис

void WINAPI glTexParameteri(
   GLenum target,
   GLenum pname,
   GLint  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 присваивает значение или значения в параметре params параметру текстуры, указанному как pname. Параметр target определяет целевую текстуру GL_TEXTURE_1D или GL_TEXTURE_2D.

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

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

glGetTexParameter

Требования

Требование Значение
Минимальная версия клиента
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