ШКАЛА ЯРКОСТИ

Поскольку сегодня возможность передачи цвета является стандартной возможностью систем компьютерной графики, для описания оттенков серого цвета (шкалы яркости или шкалы полутонов) используются цветовые функции системы ЯОВ. Когда описание 1ЮВ-цвета содержит равное количество красного, зеленого и синего цветов, в результате получается некий оттенок серого цвета. Значения цветовых компонентов, близкие к 0, дают темно-серый цвет, а более высокие значения, близкие к 1,0, дают светло-серый цвет. Применение шкалы яркости позволяет улучшить качество черно-белых фотографий и создать визуальные эффекты.

ДРУГИЕ ЦВЕТОВЫЕ ПАРАМЕТРЫ

Кроме системы RGB, в различных приложениях компьютерной графики возможны и другие трехкомпонентные способы описания цвета. Например, цвет печати на принтере описывается с помощью голубого, пурпурного и желтого цветовых компонентов, а в цветных интерфейсах при выборе цвета иногда используется светлый или темный отгенок. Кроме того, цвет (как и свет вообще) - это сложный объект, и для описания различных свойств источников света и эффектов освещения в различных областях оптики, радиометрии и психологии было придумано много терминов и понятий. С физической точки зрения цвет можно описать как электромагнитное излучение в определенном частотном диапазоне и с определенным распределением энергии, но существуют также характеристики, описывающие особенности нашего восприятия цвета. Таким образом, мы пользуемся физическим термином интенсивность для измерения количества световой энергии, излучаемой в определенном направлении за период времени, а психологический термин яркость используется для характеристики воспринимаемой глазом светимости. Более подробно эти термины и другие понятия, связанные со светом, будут обсуждаться при рассмотрении методов моделирования эффектов освещения (глава 10) и различных моделей описания цвета (глава 12).

ФУНКЦИИ ЦВЕТА В OpenGL

В примере программы в конце главы 2 мы ввели несколько стандартных процедур OpenGL для задания цвета. Одну функцию мы применили для задания цвета окна изображения, а другой функцией воспользовались для описания цвета прямолинейного отрезка. Кроме того, мы задали цветовой режим изображения RGB с помощью команды

glutlnitDisplayMode (GLUT_SINGLE | GLUT_RGB); Первый параметр из списка аргументов сообщает, что для буфера кадра используется один буфер, а второй параметр устанавливает режим RGB (или RGBA) (цветовой режимом по умолчанию). Для выбора этого режима можно воспользоваться также оператором GLUT_RGB или GLUT_RGBA. Если требуется описать цвет с помощью элементов таблицы цветов, нужно заменить константу OpenGL GLUT_RGB на GLUT_INDEX.

ЦВЕТОВЫЕ РЕЖИМЫ RGB И RGB А В OpenGL

Большинство настроек цветов примитивов OpenGL выполняется в режиме RGB, который, по сути, не отличается от режима RGB А. Единственное различие между режимами RGB и RGBA состоит в том, используется ли для смешивания цветов значение альфа. Когда задается определенный набор цветовых значений примитивов, опреде ляется цветовое состояние пакета OpenGL. Текущий цвет будет применяться ко всем задаваемым после этого примитивам до тех пор, пока настройки цветов не изменятся. Новое описание цвета повлияет только на те объекты, которые будут описываться после изменения цвета.


⇐ вернуться назад | | далее ⇒