Введение в компьютерную графику 1
COMPUTER VISION COMPUTER GRAPHICS распознавание образов 2 IMAGE PROCESSING обработка изображений машинная графика
• План курса Введение Растровая графика Цвет 3 План курса API HAL Hardware
План курса Математика для КГ Кривые и поверхности 4
План курса Визуализация Удаление невидимых линий и поверхностей Освещение и тонирование Текстурирование 5
План курса Алгоритм трассировки лучей Базовый алгоритм Модели освещения Методы оптимизации Шум Распределенная трассировка лучей 6
Аппаратные аспекты Vector vs. Raster 7
Видеопамять Размер строки в байтах (pitch) W Видео память H Внеэкранная память 8
Видеопамять Адресация точек: Стартовый адрес + Y * Pitch + X START PITCH Экран PITCH Видеопамять W 9
Цвет: палитра Видеопамять ЦАП видеокарты (DAC) Точки (пиксели) на экране Номера цветов в видеопамяти 1 3 2 Палитра: таблица соответствия цветов Стандартная палитра VGA 10
Цвет: True Color Точки (пиксели) на экране Триады RGB цветов в видеопамяти 0, 0, 255, 255 0, 255, 0 B G R B True. Color: 24/32 бита (8 r 8 g 8 b) G R - Hi. Color: 15/16 бит (5 r 5 g 5 b / 5 r 6 g 5 b) 15 11 0
Структура библиотек Программа API application program interface HAL hardware abstraction layer Driver Graphics Hardware 12
Структура библиотек • Функции рисования линейных объектов (и точек) – Line(x 1, y 1, x 2, y 2) Move. To(x, y) Line. To(x, y) Set. Pixel(x, y, c) • Функции рисования площадных объектов – Rectangle(x 1, y 1, x 2, y 2) Circle(x, y, r) Polygon(points, n) • Функции вывода текста – Draw. Text(x, y, string) • Функции задания атрибутов рисования – цвета и формы «перьев» для линейных объектов, шаблоны «кистей» для площадных, параметры вывода шрифтов (текста), код логической операции при выводе (REPLACE, OR, AND, XOR); – управление областями отсечения • Функции задания преобразований системы координат • Функции управления буферизацией – создание, копирование, уничтожение буферов изображений (bitmaps) 13
Пример в DOS (прямая запись в память) 14