Предисловие

Глава 1. Свет. Цветовосприятие. Цветовые
модели
Упражнения

Глава 2. Распространение света. Освещенность
2.1. Зеркальное отражение
2.2. Диффузное отражение
2.3. Идеальное преломление
2.4. Диффузное преломление
2.5. Распределение энергии
2.6. Микрофасетная модель поверхности
Упражнения

Глава 3. Графические примитивы в языках
программирования
3.1. Инициализация и завершение работы с
библиотекой
3.2. Работа с отдельными точками
3.3. Рисование линейных объектов
3.3.1. Рисование прямолинейных отрезков
3.3.2. Рисование окружностей
3.3.4. Рисование дуг эллипса
3.4. Рисование сплошных объектов
3.4.1. Закрашивание объектов
3.4.2. Работа с изображениями
3.5. Работа со шрифтами
3.6. Понятие режима (способа) вывода
3.7. Понятие окна (порта вывода)
3.8. Понятие палитры
3.9. Понятие видеостраниц и работа с ними
3.10. Подключение нестандартных драйверов
устройств
3.11. Построение графика функции
Упражнения

Глава 4. Работа с основными графическими
устройствами
4.1. Клавиатура
4.2. Мышь
4.2.1. Инициализация и проверка наличия
мыши
4.2.2. Высветить на экране курсор мыши
4.2.3. Убрать (сделать невидимым) курсор
мыши
4.2.4. Прочесть состояние мыши (ее
координаты и состояние кнопок)
4.2.5. Передвинуть курсор мыши в точку с
заданными координатами
4.2.6. Установка области перемещения
курсора
4.2.7. Задание формы курсора
4.2.8. Установка области гашения
4.2.9. Установка обработчика событий
4.3. Джойстик
4.4. Сканер
4.5. Принтер
4.5.1. Девятиигольчатые принтеры
4.5.2. Двадцатичетырехиголъчатые (LQ)
принтеры
4.5.3. Лазерные принтеры
4.5.4. PostScript-устройства
4.6. Видеокарты EGA и VGA
4.7. Шестнадцатицветные режимы адаптеров
EGA и VGA
4.7.1. Graphics Controller (порты
3CE-3CF)
4.7.2. Sequencer (порты ЗС4-ЗС5)
4.8. Режимы чтения
4.8.1. Режим чтения 0
4.8.2. Режим чтения 1
4.9. Режимы записи
4.9.1. Режим записи 0
4.9.2. Режим записи I
4.9.3. Режим записи 2
4.9.4. Режим адаптера VGA с 256-цветами
4.9.5. Спрайты и работа с ними
4.9.6. Нестандартные режимы адаптера VGA
(Х-режимы)
4.10. Программирование SVGA-адаптеров
4.10.1. Непалитровые режимы адаптеров
SVGA
4.10.2. Стандарт УВЕ 2.0 (VESA BIOS
Extension 2.0)
Упражнения

Глава 5. Принципы построения
пользовательского интерфейса
5.1. Основные типы окон
5.1.1. Пример реализации основных
оконных функций
Упражнения

Глава 6. Растровые алгоритмы
6.1. Растровое представление отрезка.
Алгоритм Брезенхейма
6.2. Растровая развертка окружности
6.3. Растровая развертка эллипса
6.4. Закраска области, заданной цветом
границы
6.5. Заполнение многоугольника
Упражнения

Глава 7. Преобразования на плоскости
7.1. Аффинные преобразования на плоскости
7.2. Однородные координаты точки

Глава 8. Основные алгоритмы вычислительной
геометрии
8.1. Отсечение отрезка. Алгоритм Сазерленда
- Кохена
8.2. Классификация точки относительно
отрезка
8.3. Расстояние от точки до прямой
8.4. Нахождение пересечения двух отрезков
8.5. Проверка принадлежности точки
многоугольнику
8.6. Вычисление площади многоугольника
8.7. Построение звездчатого полигона
8.8. Построение выпуклой оболочки
8.9. Пересечение выпуклых многоугольников
8.10. Построение триангуляции Делоне
Упражнения

Глава 9. Преобразования в пространстве,
проектирование
9.1. Платоновы тела
9.2. Виды проектирования
9.3. Особенности проекций гладких
отображений

Глава 10. Удаление невидимых линий и
поверхностей
10.1. Построение графика функции двух
переменных. Линии горизонта
10.2. Методы оптимизации
10.2.1. Отсечение нелицевых граней
10.2.2. Ограничивающие тела (Bounding
Volumes)
10.2.3. Разбиение пространства
(плоскости) (Spatial Subdivision)
10.2.4. Иерархические структуры
(Hierarchies)
10.3. Удаление невидимых линий
10.3.1. Алгоритм Робертса
10.3.2. Количественная невидимость.
Алгоритм Аппеля
10.4. Удаление невидимых граней
10.4.1. Метод трассировки лучей
10.4.2. Метод z-буфера
10.4.3. Алгоритмы упорядочения
10.4.3.1. Метод сортировки по глубине.
Алгоритм художника
10.4.3.2. Метод двоичного разбиения
пространства
10.4.4. Метод построчного сканирования
10.4.5. Алгоритм Варнака (Warnock)
10.4.6. Алгоритм Вейлера - Эйзертона
(Weiler - Atherton)
10.5. Специальные методы оптимизации
10.5.1. Потенциально видимые множества
граней
10.5.2. Метод порталов
10.5.3. Метод иерархических подсцен
Упражнения

Глава 11. Простейшие методы рендеринга
полигональных моделей
11.1. Метод постоянного закрашивания
11.2. Метод Гуро
11.3. Метод Фонга
Упражнения

Глава 12. Работа с библиотекой OpenGL
12.1. Рисование геометрических объектов
12.2. Рисование точек, линий и
многоугольников
12.3. Преобразования объектов в
пространстве. Камера
12.4. Дисплейные списки
12.5. Задание моделей закрашивания
12.6. Освещение
12.7. Полупрозрачность. Использование
а-канала
12.8. Вывод битовых изображений
12.9. Ввод/вывод цветных изображений
12.10. Наложение текстуры
12.11. Работа с OpenGL в Windows
Упражнения

Глава 13. Элементы виртуальной реальности
13.1. Wolfenstein 3-D. Ray Casting
13.2. Текстурирование горизонтальных
поверхностей
13.3. Doom
13.4. Descent
13.5. Текстурирование в общем случае
13.6. Пирамидальное фильтрование
(mipmapping)
13.7. Освещение
13.8. Quake
Упражнения

Приложение. Вычисления с фиксированной точкой

Литература