Функция glCopyTexSubImage1D
Функция glCopyTexSubImage1D копирует вложенное изображение одномерной текстуры из framebuffer.
Синтаксис
void WINAPI glCopyTexSubImage1D(
GLenum target,
GLint level,
GLint xoffset,
GLint x,
GLint y,
GLsizei width
);
Параметры
-
target
-
Целевой объект, на который будут изменены данные изображения. Значение должно быть GL_TEXTURE_1D.
-
level
-
Номер уровня детализации. Уровень 0 — это базовый образ. Уровень n — это изображениеn-го сокращения MIP-карты.
-
xoffset
-
Смещение текселя в массиве текстур.
-
x
-
Координата окна по оси X левого нижнего угла строки пикселей, которые необходимо скопировать.
-
y
-
Координата окна по оси Y нижнего левого угла строки пикселей для копирования.
-
width
-
Ширина вложенного изображения текстуры. Указание вложенного изображения текстуры нулевой ширины не оказывает никакого влияния.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Target не является допустимым значением. |
|
уровень меньше нуля или уровень больше , чем log2(max), где max — возвращаемое значение GL_MAX_TEXTURE_SIZE. |
|
Значение xoffset меньше границы или (ширинаxoffset + )больше (w + border), где w — GL_TEXTURE_WIDTH, а граница — GL_TEXTURE_BORDER. Обратите внимание, что w включает в себя в два раза больше ширины границы . |
|
ширина меньше границы или y меньше границы, где border — это ширина границы массива текстур. |
|
Массив текстур не был определен предыдущей операцией glTexImage1D . |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glCopyTexSubImage1D заменяет часть одномерного изображения текстуры, используя пиксели из текущего буфера кадров, а не из main памяти, как в случае с glTexSubImage1D.
Строка пикселей, начиная с координат окна, заданных x и y , и с шириной длины, заменяет часть массива текстур индексами xoffset через xoffset + (ширина - 1). Назначение в массиве текстур не может включать никакие тексели за пределами исходно указанного массива текстур.
Функция glCopyTexSubImage1D обрабатывает пиксели в строке так же, как glCopyPixels , за исключением того, что перед окончательным преобразованием пикселей все значения компонента пикселей зажимаются в диапазоне [0,1] и преобразуются во внутренний формат текстуры для хранения в массиве текстур. Порядок пикселей определяется с более низкими координатами x , соответствующими более низким координатам текстуры. Если какой-либо из пикселей в указанной строке текущего framebuffer находится за пределами окна, связанного с текущим контекстом отрисовки, то их значения не определены.
Параметры internalFormat, width или border указанного массива текстуры или значения текселя за пределами указанного вложенного изображения текстуры не изменяются.
Нельзя включать вызовы glCopyTexSubImage1D в списки отображения.
Примечание
Функция glCopyTexSubImage1D доступна только в OpenGL версии 1.1 или более поздней.
Texturing не оказывает влияния в режиме цветовых индексов. Функции glPixelStore и glPixelTransfer влияют на изображения текстуры точно так же, как они влияют на то, как пиксели рисуются с помощью glDrawPixels.
Следующие функции извлекают сведения, связанные с glCopyTexSubImage1D:
glIsEnabled с аргументом GL_TEXTURE_1D
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|