Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
321 / Компьютерная геометрия и графика.doc
Скачиваний:
108
Добавлен:
11.04.2015
Размер:
2.84 Mб
Скачать

2. Учет прозрачных свойств материала

В системах компьютерной визуализации также учитываются такие свойства материалов отражающих поверхностей как прозрачность, преломление и свечение. Степень прозрачности материала грани может описываться с помощью константы, принимающей значение от нуля до единицы, причем значение 1 соответствует полной непрозрачности материала грани. Пусть интенсивности отраженного света двух перекрывающихся поверхностей равны и. Пусть первая поверхность находится ближе к наблюдателю и является полупрозрачной с коэффициентом прозрачности. Тогда суммарная интенсивность отраженного света может быть вычислена как взвешенное среднее: .

Модели для вычисления эффектов преломления и свечения здесь не рассматриваются.

3. Методы заливки граней

После вычисления интенсивности освещения в точке необходимо определить цвет закрашивания. Наиболее просто осуществляется расчет в градациях серого. В этом случае цвет закрашивания – есть посчитанная интенсивность. Для цветных поверхностей, освещенных цветным источником света, каждая формула применяется по 3 раза – отдельно для красной, зеленой и синей составляющих. В результате цвет точки определяется тремя полученными интенсивностями.

С целью уменьшения времени расчета освещения выше приведенные формулы используются только для вершин многоугольников, из которых состоит поверхность объекта. Для остальных точек многоугольника осуществляется интерполяция по вычисленным значениям освещения в вершинах. Для интерполяции используется один из 2 способов.

Способ 1. Закрашивание граней методом Гуро.

Метод Гуро дает хорошие результаты, если достаточно представить гладкую поверхность набором плоских поверхностей. В этом методе интерполируется освещенность вершин грани.

Рассмотрим случай, когда точечный источник света расположен на оси Zвидовых координат. Используем диффузную модель освещения. В этом случае рассчитать интенсивность отраженного света в вершине грани можно следующим образом. Косинус угла между осьюZи нормалью

,

где ,,– видовые координаты вектора нормали.

Поскольку для передней грани цилиндра величина одинаковая, то передняя грань будет закрашена одним цветом, а остальные — с линейным градиентом, что дает визуальный эффект представления цилиндра многогранником.

Способ 2. Закрашивание граней методом Фонга.

При закрашивании граней методом Фонга осуществляется интерполяция нормалей, что приводит к необходимости вычисления диффузного освещения заново для каждого пиксела. Однако такой способ дает более реалистичное изображение криволинейных поверхностей.

Тема «Основные стандарты компьютерной графики»

Библиотека GDI. Открытая библиотека OpenGL. Библиотека DirectX. Managed DirectX. XNA Framework

1. Библиотека gdi

Первые версии Windows позволяли программисту работать с видеоподсистемой компьютера лишь посредством стандартного интерфейса GDI, предоставляющему программисту унифицированный доступ к различным устройствам вывода графической информации будь то видеокарта, принтер или плоттер. Интерфейс GDI очень прост в использовании — приложение работает с некоторым виртуальным устройством, а GDI самостоятельно транслирует все вызовы приложения в команды конкретной видеокарты или принтера. Преимущества данного подхода очевидны. Например, добавив в приложение всего несколько строк кода, вы можете с легкостью перенаправить вывод с экрана монитора на принтер и получить нужный результат. Кроме того, работа с виртуальным устройством не позволяет некорректно написанному приложению нанести какой-либо ощутимый ущерб стабильности операционной системе и повредить данные других приложений.

Недостатки интерфейса GDI являются продолжением его достоинств. Любому человеку ясно, что, к примеру, видеокарта NVIDIA GeForce 5900 Ultra и лазерный принтер Canon Laser Shot LBP-1120 являются абсолютно разными устройствами. Соответственно, при проектировании универсального интерфейса для работы с данными устройствами неминуемо придется жертвовать эффективностью. Это не особо критично для офисных приложений, работающих с достаточно простыми изображениями и не требовательных к скорости обновления экрана. Однако для целого класса приложений (игры, системы виртуальной реальности, пакеты 3D моделирования), критичных к производительности видеоподсистемы компьютера, накладные расходы GDI оказались неприемлемыми. В результате разработчики этих приложений не стремились переносить свои разработки с DOS на Windows, что отнюдь не способствовало росту популярности операционной системы Windows.