
- •Глава 1. Основы OpenGl 8
- •Введение
- •ОсновыOpenGl
- •Основные возможности
- •ИнтерфейсOpenGl
- •АрхитектураOpenGl
- •Синтаксис команд
- •Пример приложения
- •Контрольные вопросы:
- •Рисование геометрических объектов
- •Процесс обновления изображения
- •Вершины и примитивы
- •Положение вершины в пространстве
- •Цвет вершины
- •Нормаль
- •Операторные скобкиglBegin/glEnd
- •Дисплейные списки
- •Массивы вершин
- •Контрольные вопросы
- •Преобразования объектов
- •Работа с матрицами
- •Модельно-Видовые преобразования
- •Проекции
- •Область вывода
- •Контрольные вопросы
- •Материалы и освещение
- •Модель освещения
- •Спецификация материалов
- •Описание источников света
- •Создание эффекта тумана
- •Контрольные вопросы
- •Текстурирование
- •Подготовка текстуры
- •Наложение текстуры на объекты
- •Текстурные координаты
- •Контрольные вопросы
- •Операции с пикселями
- •Смешивание изображений. Прозрачность
- •Буфер-накопитель
- •Буфер маски
- •Управление растеризацией
- •Приемы работы сOpenGl
- •Устранение ступенчатости
- •Построение теней
- •Зеркальные отражения
- •Оптимизация программ
- •Организация приложения
- •Высокоуровневая оптимизация
- •Низкоуровневая оптимизация
- •Оптимизация вызовов OpenGl
- •Передача данных в OpenGl
- •Преобразования
- •Растеризация
- •Текстурирование
- •Очистка буферов
- •СтруктураGlut-приложения
- •Примитивы библиотекGlUиGlut
- •Настройка приложенийOpenGl
- •Демонстрационные программы
- •Пример 1: Простое glut-приложение
- •Пример 2: Модель освещения OpenGl
- •Пример 3: Текстурирование
- •Примеры практических заданий
- •Виртуальные часы
- •Интерактивный ландшафт
- •Литература
- •Предметный указатель
Литература
Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2 изд. Пер. с англ.- Москва, «Вильямс», 2001
Порев В.Н Компьютерная графика.. СПб., BHV, 2002.
Шикин А. В., Боресков А. В. Компьютерная графика. Полигональные модели. Москва, ДИАЛОГ-МИФИ, 2001.
Тихомиров Ю. Программирование трехмерной графики. СПб, BHV, 1998.
Performance OpenGL: Platform Independent Techniques. SIGGRAPH 2001 course.
OpenGL performance optimization, Siggraph’97 course.
Visual Introduction in OpenGL, SIGGRAPH’98.
The OpenGL graphics system: a specification (version 1.1).
Программирование GLUT: окна и анимация.Miguel Angel Sepulveda, LinuxFocus.
The OpenGL Utility Toolkit (GLUT) Programming Interface, API version 3, specification.
Предметный указатель
A
API 6
G
GLU, Graphics Utility Library 9
GLUT, GL Utility Toolkit 9
I
IRIS GL 6
O
OpenGL 6
оптимизация 71
ошибки 82
приемы работы 61
синтаксис команд 12
Б
Буфер
глубины 35, 54
кадра 54, 55, 58
маски 54, 58, 66, 68
накопитель 54, 56
очистка 18, 80
цвета 54
Буферизация
двойная 54
В
Вершина 10, 19
атрибуты 10, 27
массив 26
нормаль 19, 20
положение 19
цвет 19, 20
Г
Грань 23
лицевая 23
обратная 24
Д
Дисплейный список 25, 77
вызов 26
создание 25
удаление 26
З
Зеркальные отражения 67
И
4.3.Источник света 40
добавление 40
К
Команды GL
glAccum 57
glArrayElement 27
glBegin 21
glBindTexture 47
glBlendFunc 55
glCallList 26
glCallLists 26
glClear 18, 19
glClearColor 18
glClearDepth 81
glColor 20
glColorMaterial 39
glColorPointer 27
glCullFace 24
glDeleteLists 26
glDepthRange 36
glDisable 21
glDisableClientState 27
glDrawArrays 27
glDrawBuffer 57
glDrawElements 28
glEnable 21
glEnableClientState 27
glEnd 21
glEndList 25
glFog 43
glFrontFace 24
glGenTextures 47
glHint 59
glLight 40
glLightModel 37
glLoadIdentity 30
glLoadMatrix 30
glMaterial 38
glMatrixMode 30
glMultMatrix 30
glNewList 25
glNormal 20
glNormalPointer 27
glOrtho 33
glPointSize 73
glPolygonMode 24
glPopMatrix 30
glPushMatrix 30
glReadBuffer 56
glRotate 32
glScale 32
glShadeModel 20
glStencilFunc 58
glStencilOp 58
glTexCoord 51
glTexEnv 49
glTexGen 51
glTexParameter 48
glTranslate 32
gluLookAt 32
glVertex 19
glVertexPointer 27
glViewPort 35
Команды GLAUX
auxDIBImageLoad 45
Команды GLU
gluBuild2DMipmaps 46
gluCylinder 25, 88
gluDisk 88
gluNewQuadric 25
gluOrtho2D 33
gluPartialDisk 89
gluPerspective 34
gluQuadricTexture 51
gluScaleImage 46
gluSphere 25, 88
Команды GLUT
glutCreateWindow 16
glutDisplayFunc 16, 18, 85
glutIdleFunc 85
glutInit 15, 84
glutInitDisplayMode 15, 84
glutInitWindowPosition 84
glutInitWindowSize 15, 84
glutKeyboardFunc 16
glutMainLoop 16, 86
glutMotionFunc 86
glutMouseFunc 85
glutPassiveMotionFunc 86
glutPostRedisplay 18
glutReshapeFunc 16, 36, 85
glutSolidCone 89
glutSolidCube 89
glutSolidDodecahedron 90
glutSolidIcosahedron 90
glutSolidOctahedron 90
glutSolidSphere 89
glutSolidTetrahedron 90
glutSolidTorus 89
glutWireCone 89
glutWireCube 89
glutWireDodecahedron 90
glutWireIcosahedron 90
glutWireOctahedron 90
glutWireSphere 89
glutWireTetrahedron 90
glutWireTorus 90
glutPostRedisplay 86
Конвейер OpenGL 10
режим работы 21
Конус видимости 34
Л
7.1.Лестничный эффект 61
устранение 61
М
Материал
параметры 38
Матрица 29
единичная 30
изменение 30
модельно-видовая 29
проекций 29
создание 32
сохранение 30
текстуры 29
текущая 32
умножение 30
О
Область вывода 35
Операторные скобки 21
Освещение
модель 37
П
Положение наблюдателя 32
Примитив 10, 54
атомарный 19
интерполяция цветов 20
многоугольник 22
отрезок 21
последовательность 21
связанный 75
тип 21
точка 21
треугольник 22
четырехугольник 22
3.3.Проекция 33
ортографическая 33
перспективная 34
Прозрачность 55
Р
Растеризация 54
С
Сервер OpenGL 10
Система координат 29
левосторонняя 33
оконная 35
Т
Текстура 45
координаты 50
наложение 48
подготовка 45
размеры 45
режим интерполяции 49
уровень детализации 46
Тени 62
Туман 43, 54
вычисление интенсивности 43
Ф
Функция с обратным вызовом 15
обновления изображения 18