Функция glBitmap

Функция glBitmap рисует растровое изображение.

Синтаксис

void WINAPI glBitmap(
         GLSizei width,
         GLSizei height,
         GLfloat xorig,
         GLfloat yorig,
         GLfloat xmove,
         GLfloat ymove,
   const GLubyte *bitmap
);

Параметры

width

Ширина растрового изображения в пикселях.

height

Высота в пикселях растрового изображения.

xorig

X-расположение источника на растровом изображении. Источник измеряется из левого нижнего угла растрового изображения, при этом вправо и вверх направления являются положительными осями.

yorig

Расположение y источника на растровом изображении. Источник измеряется из левого нижнего угла растрового изображения, при этом вправо и вверх направления являются положительными осями.

xmove

Смещение по оси x , добавляемое к текущей позиции растра после рисования растрового изображения.

ymove

Смещение по оси Y , добавляемое к текущей позиции растра после рисования растрового изображения.

bitmap

Адрес растрового изображения.

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

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

Коды ошибок

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

Имя Значение
GL_INVALID_VALUE
ширина или высота являются отрицательными.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Растровое изображение — это двоичное изображение. При рисовании растровое изображение размещается относительно текущей позиции растра, а пиксели framebuffer, соответствующие 1s в растровом рисунке, записываются с использованием текущего цвета растра или индекса. Пиксели буфера кадров, соответствующие нулям в растровом рисунке, не изменяются.

Растровое изображение интерпретируется как данные изображения для функции glDrawPixels , при этом ширина и высота соответствуют аргументам ширины и высоты этой функции, а для типа задано значение GL_BITMAP и для параметра format задано значение GL_COLOR_INDEX. Режимы, заданные с помощью glPixelStore, влияют на интерпретацию данных растрового изображения; Режимы, заданные с помощью glPixelTransfer , не используются.

Если текущая позиция растра недопустима, glBitmap игнорируется. В противном случае левый нижний угол растрового изображения будет расположен в следующих координатах окна:

xw = xrx?

yw = yry?

В этих координатах (xr , yr ) — позиция растра, а (x? , y? ) — источник растрового изображения. Затем создаются фрагменты для каждого пикселя, соответствующего 1 на растровом изображении. Эти фрагменты создаются с использованием текущей Z-координаты растра, индекса цвета или цвета, а также текущих координат растровой текстуры. Затем они обрабатываются так же, как если бы они были созданы точкой, линией или многоугольником, включая сопоставление текстур, затумение и все операции по фрагменту, такие как альфа-тестирование и тестирование глубины.

После рисования растрового изображения координаты x и y текущей позиции растра смещаются на xmove и ymove. Координата Z текущего положения растра, текущий цвет растра, индекс или координаты текстуры не изменяются.

Следующие функции извлекают сведения, связанные с функцией glBitmap :

glGet с аргументом GL_CURRENT_RASTER_POSITION

glGet с аргументом GL_CURRENT_RASTER_COLOR

glGet с аргументом GL_CURRENT_RASTER_INDEX

glGet с аргументом GL_CURRENT_RASTER_TEXTURE_COORDS

glGet с аргументом GL_CURRENT_RASTER_POSITION_VALID

Требования

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

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

glBegin

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glRasterPos