- •Лекция 1 Основные понятия OpenGl
- •1.2 Однородные координаты и матрицы
- •1.3 Поворот точки вокруг прямой заданной точкой а(a,b,c) и направляющим вектором e(l,m,n), , на угол φ.
- •1.4 Система координат
- •1.5 Вершины
- •Лекция 2 Освещение объектов
- •2.1Основные понятия
- •2.2 Задание цвета объекта
- •2.3 Освещение объектов
- •2.3.1 Свойства диффузного отражения
- •2.3.2 Свойства зеркального отражения
- •Лекция 3
- •3.1 Контекст воспроизведения
- •3.2 Стандартные функции библиотеки OpenGl
- •3.3 Функции библиотеки glu
- •3.4 Рекомендации по созданию графических приложений
- •Лекция 4
- •Свойства материалов
- •Установка источников света
- •Модель освещения
- •Смешение цветов
- •4.5 Задание теста глубины
- •Лекция 5 Наложение текстуры на объект
- •Задание параметров текстуры
- •Задание параметров текстуры
- •Взаимодействие текстуры с объектом
- •Привязка координат текстуры к объекту
- •Подготовка текстуры из bmp файла, для случая, когда размеры файла известны
- •Пример инициализации двухмерной текстуры
- •Лекция 6. Буфер трафарета
- •6.1 Тест трафарета
- •6.2 Логические операции с графическими объектами
- •6.2.1 Описание метода вычитания графических объектов
- •Лекция 7. Сплайновые поверхности
- •7.1 Кривые Безье
- •7.2 Отображение кривых Безье в OpenGl
- •7.3 Отображение поверхностей Безье в OpenGl
- •Лекция 8. Выбор графических объектов на экране
- •8.1 Идея метода
- •Лекция 9. Экспорт трехмерных изображений из 3d Studio max
- •9.1 Формат файла gms
- •9.2 Импортирование изображений объектов в программу
- •9.3 Загрузка файла формата gms в Delphi
- •Лекция 10 Вспомогательные функции
- •10.1.Работа с таймером
- •10.2 Обработка нажатия клавиши
- •10.3 Вывод текста на экран
- •Литература
Задание параметров текстуры
Параметры текстуры задаются следующими функциями:
void glPixelStore[if] - устанавливает способ хранения пикселя в формате RGBA,
пригодном для использования в glTexImage1D и glTexImage2D
(од но и двухмерная текстура);
- void glTexParameter[fi]- задает параметры текстуры;
- glTexImage1D – определяет способ привязки текстуры к объекту (как взаимодействуют цвета
объекта и текстуры) ;
glTexGen[if][v]- задают функцию используемую для формирования
координат текстуры.
Функции GlPixelStoref, glPixelStorei устанавливают способы хранения пикселя. Они имеют следующий формат вызова
Void GlPixelStore[if](
GLenum pname, // символическое название(имя) параметра;
GLint param // значение параметра;
);
Следующая таблица содержит тип, начальное значение, и диапазон для каждого из параметров определяемых функцией glPixelStore.
Pname Тип Нач. значение Диапазон
GL_PACK_SWAP_BYTES Boolean false true-false
GL_PACK_ROW_LENGTH Целое число 0 [0, )
GL_PACK_SKIP_ROWS Целое число 0 [0, )
GL_PACK_SKIP_PIXELS Целое число 0 [0, )
GL_PACK_ALIGNMENT Целое число 4 1, 2, 4, или 8 _
GL_UNPACK_SWAP_BYTES Boolean false true-false
GL_UNPACK_LSB_FIRST Boolean false true-false
GL_UNPACK_ROW_LENGTH Целое число 0 [0, )
GL_UNPACK_SKIP_ROWS Целое число 0 [0, )
GL_UNPACK_SKIP_PIXELS Целое число 0 [0, )
GL_UNPACK_ALIGNMENT Целое число 4 1, 2, 4, 8
Если GL_PACK_SWAP_BYTES= true, то задается преобразование формата массива исходных данных из Windows формата (DIB, в котором цвета пикселя задаются в последовательности обратной RGB) в формат RGB. Второе отличие состоит в том, что в Windows формате выравнивание всегда производится по границе двойного слова.
Выравнивание задается программистом
R G B |
R G B |
R G B |
……. |
………. |
R G B |
________ |
R G B |
R G B |
R G B |
……. |
………. |
R G B |
________ |
R G B |
R G B |
R G B |
……. |
………. |
R G B |
________ |
Формат OpenGl
Выравнивание по границе
двойнонго слова
B G R |
B G R |
B G R |
……. |
………. |
B G R |
________ |
B G R |
B G R |
B G R |
……. |
………. |
B G R |
________ |
B G R |
B G R |
B G R |
……. |
………. |
B G R |
________ |
Формат Windows DIB
L_UNPACK_ALIGNMENT
Определяет требования для выравнивания начала каждого ряда пикселей в памяти. Допустимые значения - 1 (выравнивание массива байтов),
2 (выравнивание массива двух байтных слов), 4 (выравнивание массива четырех байтных слов), и 8 (выравнивание массива четырех байтных слов).
