Функция glCopyTexImage1D
Функция glCopyTexImage1D копирует пиксели из framebuffer в одномерное изображение текстуры.
Синтаксис
void WINAPI glCopyTexImage1D(
GLenum target,
GLint level,
GLenum internalFormat,
GLint x,
GLint y,
GLsizei width,
GLint border
);
Параметры
-
target
-
Целевой объект, для которого будут изменены данные изображения. Значение должно быть GL_TEXTURE_1D.
-
level
-
Номер уровня детализации. Уровень 0 — это базовый образ. Уровень n — это изображениеn-го сокращения MIP-карты.
-
InternalFormat
-
Внутренний формат и разрешение данных текстуры. Этот параметр должен быть одним из следующих символьных значений.
Константа Биты R G Биты Биты B Биты L Bits I Bits GL_ALPHA GL_ALPHA4 4 GL_ALPHA8 8 GL_ALPHA12 12 GL_ALPHA16 16 GL_LUMINANCE GL_LUMINANCE4 4 GL_LUMINANCE8 8 GL_LUMINANCE12 12 GL_LUMINANCE16 16 GL_LUMINANCE_ALPHA GL_LUMINANCE4_ALPHA4 4 4 GL_LUMINANCE6_ALPHA2 2 6 GL_LUMINANCE8_ALPHA8 8 8 GL_LUMINANCE12_ALPHA4 4 12 GL_LUMINANCE12_ALPHA12 12 12 GL_LUMINANCE16_ALPHA16 16 16 GL_INTENSITY GL_INTENSITY4 4 GL_INTENSITY8 8 GL_INTENSITY12 12 GL_INTENSITY16 16 GL_RGB GL_R3_G3_B2 3 3 2 GL_RGB4 4 4 4 GL_RGB5 5 5 5 GL_RGB8 8 8 8 GL_RGB10 10 10 10 GL_RGB12 12 12 12 GL_RGB16 16 16 16 GL_RGBA GL_RGBA2 2 2 2 2 GL_RGBA4 4 4 4 4 GL_RGB5_A1 5 5 5 1 GL_RGBA8 8 8 8 8 GL_RGB10_A2 10 10 10 2 GL_RGBA12 12 12 12 12 GL_RGBA16 16 16 16 16 -
x
-
Координата окна по оси X левого нижнего угла строки пикселей, которые необходимо скопировать.
-
y
-
Координата окна по оси Y нижнего левого угла строки пикселей для копирования.
-
width
-
Ширина изображения текстуры. Должно быть равно нулю или 2n + 2 (граница) для некоторого целого числа n. Высота изображения текстуры составляет 1.
-
Границы
-
Ширина границы. Значение должно быть равно нулю или 1.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Target не является допустимым значением. |
|
уровень меньше нуля или больше максимального значения log2, где max — это возвращаемое значение GL_MAX_TEXTURE_SIZE. |
|
граница не была равна нулю или 1. |
|
ширина меньше нуля, больше 2 + GL_MAX_TEXTURE_SIZE или ширина не может быть представлена как 2n +(граница) для некоторых целочисленных n. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glCopyTexImage1D определяет одномерное изображение текстуры, используя пиксели из текущего буфера кадров, а не из main памяти, как в случае с glTexImage1D.
При использовании уровня MIP-карты, заданного с помощью уровня, массивы текстур определяются как строка в пикселях, выравниваемая по левому нижнему углу окна в координатах, заданных x и y, с длиной, равной ширине + 2 * границе. Внутренний формат массива текстур задается с помощью параметра internalFormat .
Функция glCopyTexImage1D обрабатывает пиксели в строке так же, как glCopyPixels, за исключением того, что перед окончательным преобразованием пикселей все значения компонента пикселей зажимаются в диапазоне [0,1] и преобразуются во внутренний формат текстуры для хранения в массиве текстур. Порядок пикселей определяется с более низкими координатами x , соответствующими более низким координатам текстуры. Если какой-либо из пикселей в указанной строке текущего framebuffer находится за пределами окна, связанного с текущим контекстом отрисовки, то их значения не определены.
Нельзя включать вызовы glCopyTexImage1D в списки отображения.
Примечание
Функция glCopyTexImage1D доступна только в OpenGL версии 1.1 или более поздней.
Texturing не оказывает влияния в режиме цветовых индексов. Функции glPixelStore и glPixelTransfer влияют на изображения текстур точно так же, как на glDrawPixels.
Следующая функция извлекает сведения, связанные с glCopyTexImage1D:
glIsEnabled с аргументом GL_TEXTURE_1D
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|