- •Компьютерная Графика (кг)
- •3 Уровня подобия
- •4Возможности:
- •8. Основные возможности. Дополнительные библиотеки.
- •9.OpenGl в Windows. Контексты и их связь. Формат пикселя.
- •10.Архитектура и синтаксис команд.
- •11.Рисование в OpenGl. Буфер. Обновление изображения.
- •12. Вершины, примитивы, и их атрибуты.
- •13.Дисплейные списки
- •14.Работа с матрицами. Модельно-Видовые преобразования
- •15.Проецкции
- •16.Модель освещения и спецификация материалов
- •17.Описание источников света
- •18.Создание эффекта тумана
- •19.Текстуры. Подготовка текстуры.
- •20.Наложение текстуры на объект.
- •21. Текстурные координаты.
- •22.Смешивание изображений (blending). Прозрачность.
- •23.Буфер-накопитель.
- •24.Буфер трафарета(маски).
- •25.Управление растеризацией [glhint].
- •28. Структура видеоадаптера и назначение его составных частей.(км)
- •30. Аппаратные ускорители графики. 3d-конвейер.
- •31. Аппаратная структура ускорителя. Ускорители будущего.
- •32. Представление пространственных форм. Полигональные сетки.(км)
- •33. Формы задания: явная, указатели в список вершин, явное задание ребер
- •34. Параметрические кубические кривые.(км)
- •35. Форма Эрмита
- •37. Параметрические кубические поверхности Форма Эрмита.
- •38. Методы создания реалистических изображений
- •39. Удаление скрытых линий (hsr). Тезисы
- •40. Hsr: алгоритм сортировки по глубине
- •41.Hsr: алгоритм z-буфера. (км)
- •42.Hsr для криволинейных поверхностей
- •43.Физическая модель света
- •44. Свет. Свойства света ( простейшие законы). (км)
- •45.Диффузное отражение и рассеянный свет.
- •46.Свет. Зеркальное отражение.
- •47. Закраска полигональной сетки. Полосы Маха. (км)
- •48. Метод закраски Гуро (интерполяция интенсивности). Преимущества и недостатки
- •49. Метод закраски Фонга (интерполяция нормалей). Преимущества и недостатки
- •50. Тени
- •51.Текстурирование. Point sampling. Mip-mapping.
- •52.Билинейная, трилинейная и анизотропная фильтрации текстур.
- •53 Цвет в кг. Ахроматический цвет. Интенсивность.
- •55. Цветовые модели rgb, cmyk, yCbCr, hsv.
- •56. Форматы графических файлов: точечная графика, сравнение с векторной.
- •57.Форматы: bmp, gif, jpeg, tiff, raw, eps.
- •58.Сжатие графических файлов.
- •59. Будущее графических файлов.Текущее положение.Модель зрения.Динамический диапазон.Сопоставление.
- •60.Hrdi. Форматы файлов.Области применения.
- •61. Шрифты. История.Графические характеристики.Графема.
- •62. Классификация шрифтов.Система измерений. Оптические компенсации.
- •63. Язык PostScript.
- •64. Растрирование в PostScript. Программные и аппаратные rip.
- •65. Растровые и векторные шрифты.
- •66. Контурные шрифты.
- •67. Шрифты в Windows.Файлы шрифтов.
- •68. Понятие о формате и шрифтовой машине.
- •69. Кодирование шрифтов. Ascii. Стандарт Unicode.
- •72. Лазерные принтеры.
24.Буфер трафарета(маски).
При выводе пикселей в буфер кадра иногда возникает необходимость выводить не все пиксели, а только некоторое подмножество, т.е. наложить трафарет (маску) на изображение. Для этого OpenGL предоставляет так называемый буфер маски (stencil buffer). Кроме наложения маски, этот буфер предоставляет еще несколько интересных возможностей. Прежде чем поместить пиксель в буфер кадра, механизм визуализации OpenGL позволяет выполнить сравнение (тест) между заданным значением и значением в буфере маски. Если тест проходит, пиксель рисуется в буфере кадра. Механизм сравнения весьма гибок и контролируется следующими командами:
void glStencilFunc (enum func, int ref, uint mask)
void glStencilOp (enum sfail, enum dpfail, enum dppass)
Аргумент ref команды glStencilFunc задает значение для сравнения. Он должен принимать значение от 0 до 2s –1. s – число бит на точку в буфере маски.
С помощью аргумента func задается функция сравнения. Он может принимать следующие значения:
GL_NEVER тест никогда не проходит, т.е всегда возвращает false
GL_ALWAYS тест проходит всегда.
GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATE, GL_NOTEQUAL тест проходит в случае, если ref соответственно меньше значения в трафаретном буфере, меньше либо равен, равен, больше, больше либо равен или не равен.
Аргумент mask задает маску для значений. Т.е. в итоге для трафаретного теста получаем следующую формулу: ((ref AND mask) op (svalue AND mask))
Команда StencilOp предназначена для определения действий над пикселем трафаретного буфера в случае положительного или отрицательного результата теста. Аргумент sfail задает действие в случае отрицательного результата теста, и может принимать следующие значения: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, GL_INVERT соответственно сохраняет значение в трафаретном буфере, обнуляет его, заменяет на заданное значение (ref), увеличивает, уменьшает или побитово инвертирует. Аргументы dpfail определяют действия в случае отрицательного результата теста на глубину в z-буфере, а dppass задает действие в случае положительного результата этого теста. Аргументы принимают те же значения, что и аргумент sfail. По умолчанию все три параметра установлены на GL_KEEP. Для включения маскирования необходимо выполнить команду glEnable(GL_STENCIL_TEST). Буфер маски используется при создании таких спецэффектов, как падающие тени, отражения, плавные переходы из одной картинки в другую и пр.
25.Управление растеризацией [glhint].
Способ выполнения растеризации примитивов можно частично регулировать командой glHint (target, mode), где target – вид контролируемых действий, принимает одно из следующих значений
GL_FOG_HINT точность вычислений при наложении тумана. Вычисления могут выполняться по пикселям (наибольшая точность) или только в вершинах. Если реализация OpenGL не поддерживает попиксельного вычисления, то выполняется только вычисление по вершинам
GL_LINE_SMOOTH_HINT управление качеством прямых. При значении mode, равным GL_NICEST, уменьшается ступенчатость прямых за счет большего числа пикселей в прямых
GL_PERSPECTIVE_CORRECTION_HINT точность интерполяции координат при вычислении цветов и наложении текстуры. Если реализация OpenGL не поддерживает режим GL_NICEST, то осуществляется линейная интерполяция координат
GL_POINT_SMOOTH_HINT управление качеством точек. При значении параметра mode равным GL_NICEST точки рисуются как окружности
GL_POLYGON_SMOOTH_HINT управление качеством вывода сторон многоугольника параметра mode интерпретируется следующим образом:
GL_FASTEST используется наиболее быстрый алгоритм
GL_NICEST используется алгоритм, обеспечивающий лучшее качество
GL_DONT_CARE выбор алгоритма зависит от реализации
Важно заметить, что командой glHint() программист может только определить свои пожелания относительно того или иного аспекта растеризации примитивов. Конкретная реализация OpenGL вправе игнорировать данные установки.
Обратите внимание, что glHint() нельзя вызывать между операторными скобками glBegin()/glEnd().
Растровые Графические системы:
26. Дисплеи на ЭЛТ. Растровый дисплей. (км)
ЭЛТ.
В цветном кинескопе обычно используется 3 ЭЛТ, каждая из которых отвечает за вывод одного из 3-х основных цветов (красный, синий, зеленый). Внутренняя поверхность экрана покрыта точками люминофора, сгруппированными в треугольники. Каждая группа из 3-х точек, называемая триадой, содержит по одной точке с люминофором, испускающим при возбуждении соответственно красный, синий и зеленый свет. Триады так малы, что при наблюдении с достаточно большого расстояния свечение их точек воспринимается наблюдателем не как отдельные красные, синие и зеленые точки, а как свечение, полученное при смешивании этих трех цветов. Изменяя степень возбуждения каждой точки, можно в каждой триаде получить широкий спектр цветов.
Непосредственно перед экраном находится маска, в которой каждой триаде соответствует одно маленькое отверстие. Эти отверстия располагаются таким образом, что каждая точка триады доступна электронам только одного луча.
РАСТРОВЫЙ ДИСПЛЕЙ.
Изображение формируется в виде растра, который состоит из горизонтальных строк сканирования. По мере движения луча по строке развертки видеосигнал, подаваемый в схему управления электронным лучом, изменяет яркость каждого пиксела и на экране появляется воспринимаемое человеком изображение. Для получения немерцающего изображения необходимо повторять формирование растра 50-70 раз/с. Такое периодическое сканирование экрана называется регенерацией.
Отклонение луча по горизонтали в течение прямого хода осуществляется сигналом строчной (горизонтальной) развертки, а по вертикали – сигналом кадровой (вертикальной) развертки. Перемещение луча справа налево называется горизонтальным обратным ходом, а снизу вверх – вертикальным обратным ходом.
27. Видеоадаптеры. Определение. Эволюция.
В каждом персональном компьютере семейств PC или PS/2 имеется видеосистема, предназначенная для формирования изображения. Ее основу составляют специализированные схемы для генерирования электрических сигналов, управляющих монитором.
Видеоадаптер представляет собой печатную плату, имеющую разъем для кабеля монитора и два краевых разъема, которые вставляются в один из слотов на материнской плате персонального компьютера. На плате адаптера установлены микросхемы ПЗУ знакогенератора, программируемого контроллера ЭЛТ, видеопамяти (видеобуфера). Схемы адаптера формируют сигналы, управляющие той информацией, которая выводится на экран монитора.
Все видеосистемы содержат электронные компоненты, формирующие сигналы синхронизации, цветности и управляющие генерированием текстовых символов. Кроме того, во всех видеосистемах имеется видеобуфер. Он представляет собой область оперативной памяти, которая предназначена только для хранения текста или графической информации, выводимой на экран. Основная функция видеосистемы заключается в преобразовании данных из видеобуфера в те сигналы, которые управляют монитором и в конце концов формируют наблюдаемое на экране монитора изображение.
Эволюция Архитектура адаптеров EGA и VGA фирмы IBM
1. Первый персональный компьютер фирмы IBM, появившийся в 1981 г., был рассчитан на обработку исключительно текстовой информации. Поэтому основное требование к адаптеру MDA (Monochrom Dispay and Parallel Printer Adapter) заключалось в получении высокачественных текстовых изображений. MDA формирует на экране 25 строк растра текста по 80 символов в каждой. Символьная позиция состоит из матрицы размером 9 x 14 пикселов. Большинство пикселов фактически занимают матрицу 7x9, а «лишние» пикселы повышают удобочитаемость текста. Разрешающая способность 720 на 350 пикселов.
2. Адаптер CGA (Color Graphic Adapter) по сравнению с MDA обладает 2 новыми возможностями: формирует графические изображения в виде диаграмм, графиков и рисунков, а также выводит на экран цветные текстовые и графические изображения. Цветовая палитра для текстовой информации - 16 цветов, графический режим позволяет наблюдать одновременно на экране только 4 цвета. Разрешающая способность 640x320 пикселов.
3. Адаптер EGA (Enhanced Graphic Adapter). Разработан в 1984 г. фирмой IBM. Разрешающая способность в графическом режиме доведена до 640x350 пикселов, а число одновременно наблюдаемых на экране цветов составляет 16 из общей палитры в 64 цвета.
4. Адаптер MCGA (Multi-Color Graphic Array - многоцветная графическая матрица). Появился в 1987 г. Имеет символьную матрицу 8x16 пикселов. Разрешающая способность 640x480 пикселов. Отличие от рассмотренных выше адаптеров заключается в том, что генерируются аналоговые видеосигналы красного, зеленого и синего цветов. Предыдущие адаптеры формируют для управления монитором только цифровые двоичные сигналы. В MCGA имеется быстродействующий цифро-аналоговый преобразователь, благодаря чему на экране можно одновременно наблюдать 256 цветов.
5. Адаптер VGA (Video Graphic Array). Появился в 1987 г. С адаптером VGA появился новый стандарт, который включает в себя все режимы предыдущих адаптеров и расширяет их на большее число цветов и более высокую разрешающую способность. Максимальная разрешающая способность составляет 720x480 пикселов в текстовом режиме и 640x480 пикселов в графическом режиме. Символьная матрица состоит из 9x16 символов. Позволяет наблюдать 256 цветов. Рассчитан на подключение аналогового цветного или монохроматического монитора.
6. Адаптер SVGA Существуют большое количество видеокарт, хотя и совместимых с VGA, но предоставляющих достаточно большой набор дополнительных режимов. Обычно такие карты называют SuperVGA. Существует большое количество SVGA-карт различных производителей, сильно различающихся по основным возможностям и, как правило несовместимых друг с другом. Сам термин SVGA обозначает скорее не стандарт (как VGA), а некоторое расширение.
Ассоциацией стандартов в области видеоэлектроники VESA была сделана попытка стандартизации работы с различными SVGA-платами путем добавления в BIOS-платы некоторого стандартного набора функций, обеспечивающего получение необходимой информации о карте, установку заданного режима. При этом вводится стандартный набор расширенных режимов. Номер режима является 16-битовым числом, где биты 9-15 зарезервированы и должны быть равны 0, бит 8 для VESA-режимов равен 1, а для родных режимов карты равен 0.
