OpenGL. Компьютерная графика. Васильев С.А. - 35 стр.

UptoLike

Составители: 

37
размеры изображения должны быть равны степени двойки. Например: 64×64, 128×64, 256×128 и т.п.
Для обеспечения этого условия можно предварительно обработать изображение в среде графического
редактора, подобрав размеры "картинки" под стандарт OpenGL, либо программно изменить масштабы
изображения.
Для программного изменения масштабом изображения существует команда
void gluScaleImage (GLenum format, GLint widthin, GLint heightin,
GLenum typein, const void *datain,
GLint widthout, GLint heightout,
GLenum typeout, void *dataout)
Рассмотрим параметры команды:
Пара-
метр
Описание
format
Определяет формат данных пикселя и может
принимать значения: GL_RED, GL_GREEN,
GL_BLUE, GL_RGB, GL_ALPHA, GL_RGBA,
GL_COLOR_INDEX и т.д. (см. док.). На практи-
ке обычно используют значения GL_RGB или
GL_RGBA
widthin
Задает ширину оригинала изображения
heightin
Задает высоту оригинала изображения
typein
Задает тип данных для оригинала изображения,
напри-
мер, GL_UNSIGNED_BYTE, GL_BYTE,
GL_BITMAP, GL_UNSIGNED_SHORT,
GL_INT, GL_UNSIGNED_INT, GL_SHORT,
или GL_FLOAT
Продолжение табл.
Пара-
метр
Описание
datain
Указатель на данные оригинала изображения
widthout
Задает ширину измененного масштабом изобра-
жения
heightout
Задает высоту измененного масштабом изобра-
жения
typeout
Задает тип данных для измененного масштабом
изображения (см. typein)
dataout
Указатель на данные измененного масштабом
изображения
В результате своей работы функция gluScaleImage() берет из памяти по адресу datain изображение
"картинки", изменяет его, согласно своих параметров, и заносит в область памяти, на которую указыва-
ет параметр dataout. В случае удачного преобразования функция возвращает значение ноль, либо код
ошибки.
13.1.2 Создание текстуры
После того как изображение для двумерной текстуры подготовлено и находится в памяти, можно
создать саму текстуру. Это осуществляется командой:
void glTexImage2D (Glenum target, Glint level, Glint interformat,
Glsizei width, Glsizei height,
Glint border, Glenum format,
Glenum type, const Glvoid *pixels)