УДК 519.95
МОДЕЛИРОВАНИЕ РЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ ОБЪЕКТОВ, ИСПОЛЬЗУЯ РАЗЛИЧНЫЕ АЛГОРИТМЫ РАСЧЕТА ОСВЕЩЕННОСТИ
© В.В. Хлебников, А.А. Юров
Ключевые слова: математическое моделирование; интерполяция; модель освещения.
В статье описаны различные модели локального освещения, а также модернизирована модель освещения Кука-Торренса, что дало прирост производительности на 77 % при практически идентичном внешнем соответствии объектов, моделируемых с помощью модифицированной и немодифицированной модели.
Формирование машинной графики как самостоятельного направления относится к началу 1960-х гг., когда Сазерлендом был создан первый специализированный пакет программного обеспечения. В 1960-е гг. были сформулированы принципы рисования отрезками, удаления невидимых линий, методы отображения сложных поверхностей, определены методы формирования теней, учета освещенности сюжета. Первые работы были в основном направлены на развитие векторной графики, т. е. рисования отрезками. Из первых работ этого направления наибольшее влияние на развитие векторной графики оказали алгоритмы Брезен-хема.
В 1970-е гг. значительное число теоретических и прикладных работ было направлено на развитие методов отображения пространственных форм и объектов. Это направление принято называть трехмерной машинной графикой. Математическое моделирование трехмерных сюжетов требует учета трехмерности пространства предметов, расположения в нем источников освещения и наблюдателя. Потребностями трехмерной графики обусловлено большое количество работ по методам аппроксимации и представления сложных поверхностей, отображению узоров из них, генерированию текстур, рельефа, моделированию условий освещения. Одновременно значительное внимание уделялось улучшению качества синтезированных изображений, повышению уровня их реалистичности, сглаживанию погрешностей, возникающих в результате аппроксимации геометрической формы реальных тел и пространственной дискретизации изображения. Методы трехмерной машинной графики позволяют визуализировать сложные функциональные зависимости, получить изображения проектируемых, еще не созданных объектов, оценить облик предмета из недоступной для наблюдения позиции и решить ряд других аналогичных задач.
В 1980-е гг. сфера применения машинной графики существенно расширилась. Появилась база для широкого использования методов машинной графики - персональные компьютеры. В результате машинная графика стала инструментом не только инженеров-исследователей, но и специалистов многих других отраслей, непосредственно не связанных ни с техникой,
ни с программированием. Увеличение памяти и скорости обработки информации в персональных ЭВМ, создание видеокомплексов с широким набором программ, возможность управления ими в диалоговом режиме способствуют дальнейшему расширению применения машинной графики.
Одним из наиболее новых направлений в графике является разработка принципов и методов формирования реалистичных изображений, т. е. изображений, которые могли бы наблюдаться визуально или регистрировались бы оптическими, фотографическими или оптико-электронными устройствами. Потребность в создании реалистичных изображений возникает в таких областях, как дизайн, машиностроительное и архитектурное проектирование, реклама и т. п. В ряде применений реалистичность используется как средство повышения эмоционального воздействия изображения, как, например, в рекламе, в других же отраслях - как средство оценки качества выбранных решений (в архитектурном планировании, дизайне и др.), в третьих -как средство создания реалистичной обстановки (видеотренажеры, системы распознавания образов). В системах формирования реалистичных изображений должна обеспечиваться передача всей совокупности изобразительных свойств: объемность, расположение предметов в сюжете, полутона, цвет, текстура поверхности. Теоретические исследования последних лет в значительной мере были направлены на разработку методов и средств отображения всей совокупности характеристик сюжетов в синтезируемом изображении.
Быстрое расширение функциональных возможностей современной вычислительной техники создало базу для развития систем машинной графики, обеспечивающих отображение динамических сюжетов, в которых изображения последовательно сменяют друг друга. Из таких систем можно отметить три группы: системы графического моделирования для наглядного представления процессов в химии, медицине, астрономии и др.; системы имитации динамических ситуаций; системы получения двухмерных и трехмерных изображений для телевидения и кино. Именно в развитии этих систем наиболее рельефно проявляются трудности и проблемы трехмерной машинной графики. Для них требуется не только высокая точность моделей, но
и чрезвычайно высокая производительность вычислительных средств. Создание и внедрение в практику транспьютерных вычислительных систем создают в настоящее время реальные перспективы дальнейшего развития возможностей машинной графики.
В современных графических приложениях используются два подхода к отображению трехмерных сцен: методы глобального освещения и локальные модели освещения. У первого подхода имеются следующие достоинства: высокая реалистичность получаемого изображения, при данном подходе не требуется дополнительных алгоритмов для построения теней от объектов. В отличие от первого метода, алгоритмы расчета локального освещения дают менее реалистичное изображение, но намного производительнее, что позволяет их с успехом применять в приложениях, где требуется интерактивность взаимодействия с трехмерной сценой.
Все модели освещения можно разделить на два класса - физически обоснованные и эмпирические.
С помощью физических моделей осуществляется аппроксимация свойств реального материала. В эмпирических моделях осуществляется подгонка под внешний вид материала.
Поверхности практически всех материалов имеют свойство анизотропности, т. е. отражательная способность материала зависит от угла просмотра вокруг нормали к поверхности. Примером анизотропного материала может служить зачищенный металл. В то же время для многих материалов эффектом анизотропии можно пренебречь, т. к. он не оказывает ощутимого воздействия.
Материалы можно разделить по характеру их взаимодействия с падающим светом. Некоторые материалы равномерно отражают свет во всех направлениях -рассеивают свет. Примером таких материалов могут служить ткани, каменная порода, дерево и т. д. Интенсивность отраженного света от таких материалов не сильно изменяется при смене точки наблюдения или вращения объекта из данного материала. Многие современные модели локального освещения опираются на закон Ламберта [1-3].
В противоположность материалам, которые только рассеивают свет, можно поставить материалы, которые отражают падающий свет в зеркальном направлении. Самым наглядным примером такого материала может служить зеркало.
В большинстве случаев в жизни встречаются материалы, которые сочетают в себе свойства рассеянного и зеркального отражения. Именно моделирование таких материалов занимает наибольшее место в существующих моделях локального освещения.
Модель Фонга [4] была опубликована в 1973 г. Она явилась одной из первых моделей локального освещения, применяемой в компьютерной графике. Данная модель является эмпирической. Основное уравнение данной модели имеет следующий вид:
I = ка • 1а +к, • I, • (N х Ь) + к, • I, • (Я х V)0
(1)
где I а - интенсивность фонового излучения, ка -коэффициент фонового излучения, 1Л - интенсивность рассеянного света, кл - коэффициент фонового
излучения, N - вектор нормали к поверхности, Ь -вектор, направленный от поверхности к источнику света, Я - зеркально отраженный вектор, рассчитываемый по формуле:
Я = 2 • N (N х Ь) - Ь ,
(2)
V - вектор, направленный от поверхности к наблюдателю, а - зеркальная экспонента, к5 - коэффициент зеркального отражения.
Позднее Блинном [5] была предложена модификация модели Фонга, в которой расчет зеркальной составляющей осуществлялся с помощью вектора гг Ь + V
Н =---------, вместо вектора Я.
|Ь + VI р
Уравнение модели Блинна-Фонга имеет вид:
I = ка ■ 1а +к, ■ Iа ■ (Ы X Ь) + к, • I, • (Н X V)а. (3)
Коэффициенты а в этих моделях различны, т. е. при одинаковом их значении моделируемое изображение будет отличаться.
Данная модель позволяет моделировать материалы, имеющие гладкую поверхность, а также регулировать доли рассеянного и зеркально отраженного света.
Модель [6] была опубликована в 1982 г. Она основана на предположении, что поверхность материала состоит из совокупности гладких микрограней, которые зеркально отражают свет в соответствии со своей пространственной ориентацией. Модель отражения описывает интенсивность и спектральный состав отраженного света, достигшего наблюдателя. Интенсивность отраженного света определяется интенсивностью источника и отражающей способностью и качеством поверхности материала. Спектральный состав отраженного света определяется спектральным составом источника света и зависящим от длины волны света отражающим свойством поверхности.
Основное уравнение данной модели имеет вид:
I = 1а + (Nх Ь) • (,• Я, + й • Ял),
(4)
где 5, ё - коэффициенты зеркальной и фоновой составляющей света, связаны между собой формулой 5 + ё = 1, Я, - множитель, отвечающий за зеркальную составляющую света, Яа - интенсивность рассеянного света, ^ - коэффициент Френеля, регулирует зеркальную составляющую света, вычисляемый по формуле:
р = ия-о?.{1 + [с(8 + с) -1]2 }
2 (8 + с)2 [с(я - с) +1]2 ,
Я2 = п1 + с2 -1, с = СО8(0) = V х Н.
(5)
О - функция распределения микрограней (распределение Беккмана).
Данная модель дает хорошее математическое приближение для многих шероховатых поверхностей. Оп-
ределяет долю микрограней, нормали которых составляют угол а с поверхностью.
D(a) =
2 4
m cos а
-[tan а / m]
Данная модель позволяет моделировать широкий спектр материалов, таких как различные металлы, горные породы и другие материалы, поверхности которых имеют свойство шероховатости и зеркального отражения света.
Модель, разработанная Майклом Ореном и Шри Наяром [7], опубликована в 1994 г. Данная модель отходит от стандартного приема моделирования рассеянного освещения, основанного на законе Ламберта, также в ней не учитывается зеркально отраженный свет.
Основное уравнение данной модели:
I = (N x L) - Id - (C + A + B).
(5)
В данной модели реализуется тот факт, что некоторые материалы, рассеивающие свет, показывают результат, отличный от того, который описывает закон Ламберта. В отличие от материалов, которые однообразно рассеивают свет во все стороны, некоторые шероховатые материалы, такие как глина, почва, некоторые типы тканей, проявляют высокий уровень обратного отражения в сторону источника света. Данная модель дает более реалистичное представление таких поверхностей, особенно в случаях, когда наблюдатель смотрит на объект вдоль направления распространения света от источника.
Модель, разработанная Грегори Вардом [8], была представлена в 1992 г. Модель освещения Варда представляет интерес по следующим причинам: она физически более правильна, чем модели Фонга и Блинна-Фонга, она позволяет моделировать материалы, имеющие анизотропную поверхность. В данной модели, подобно предыдущим, рассеянная составляющая света подчиняется закону Ламберта, а зеркальная составляющая имеет более сложную зависимость.
Основное уравнение модели выглядит следующим образом:
Ir = (N x L) - (Id + Is - Spec)
(б)
где Spec - множитель, регулирующий часть зеркально отраженного света.
Spec =
4 - n - ax - ay - ^/(N x L) - (N x V) ((H x T))2 + ((H x B))2
P = -2 -
1 + (H x N)
ax, a^ - коэффициенты шероховатости поверхности,
H, T - касательные векторы, взаимно перпендикулярные между собой и нормалью в данной точке поверхности.
Данная модель применима для таких материалов как металлы с обработанной поверхностью, ткани, имеющие неоднородную поверхность, различные окрашенные и лакированные поверхности.
Описанные выше модели освещения были реализо-ван^і на яз^іке ОЬБЬ в среде АН ЯеМегМопкеу.
Далее с помощью утилиты Куііііа ShаderPerf была получена оценка производительности программ, реализующих исходн^іе модели.
В результате были получены следующие данные:
Модель Количество инструкций Производительность (пикс./с)
Phong 32 640.000.000
Blinn-Phong 30 640.000.000
Cook-Torrance 113 200.000.000
Ward 62 320.000.000
Oren-Nayar 86 320.000.000
Как видно из приведенных результатов, самыми быстрыми и не требовательными в вычислительном плане оказались модели Фонга и Блинна-Фонга, а самой медленной в плане производительности оказалась модель Кука-Торренса.
Наиболее тяжелыми в плане вычислений в данной модели являются две функции - функция распределения Беккмана:
D(a) =
l
2 4
m cos a
-[tana / m]
(l)
и функция расчета коэффициента Френеля:
F = 1 (g -c)2 (l + (c(g + c) -l)2 )
2(g + c)2 (c(g - c) +1)2 .
(8)
Эти две функции в модели регулируют величину зеркально отраженного света.
Рис. 1. Функция Распределения Беккмана рующая ее парабола Finterp.
D и интерполи-
l
a
a
x
Рис. 2. Зависимость коэффициента Френеля от коэффициента преломления п
Функция (7) является периодической с периодом п. Для данной функции была применена интерполяция параболой 3-й степени на интервале ее периодичности, что дало прирост производительности.
Пример интерполяции функции Беккмана представлен на рис. 1.
На рис. 2 представлена зависимость функции Френеля от значения косинуса угла между векторами V, H.
Из графика на рис. 2 видно, что функция резко изменяется в интервале значений косинуса угла от 0 до 0,4, что соответствует углам между векторами V и H 90-60°. В результате проведенного эксперимента выяснилось, что замена вычисления функции Френеля константными значениями, приблизительно равными значению функции на интервале от 0,4 до 1, практически не влияет на визуальную составляющую моделируемого материала, но сокращает количество вычислений до 60 инструкций.
В результате скорость расчета модели освещения Кука-Торренса возросла на 77 % при практически
идентичном внешнем соответствии объектов, моделируемых с помощью модифицированной и не модифицированной модели.
На данном этапе развития компьютерной графики не существует обобщенной локальной модели освещения, которая позволила бы моделировать материалы различных свойств. Рассмотренные в данной работе модели локального освещения позволяют с приемлемой производительностью моделировать объекты трехмерной сцены из различных материалов. Они могут найти применение в таких областях, как дизайн, проектирование, разработка компьютерных игр, систем виртуальной реальности и т. п.
ЛИТЕРАТУРА
1. Иванов В. П., Батраков А. С. Трехмерная компьютерная графика / под ред. Г.М. Полищука. М.: Радио и связь, 1995. 224 с.
2. Рост Р.Дж. OpenGL. Трехмерная графика и язык программирования шейдеров. Для профессионалов. СПб.: Питер, 2005. 428 с.
3. Большой энциклопедический словарь. Сер. Современная энциклопедия. М.: Изд-во АСТ, Астрель, 2005. 1248 с.
4. Phong B. Illumination for computer generated pictures // Communications of ACM. 1975. V. 18. № 6.
5. Blinn J.F. Models of Light Reflection for Computer Synthesiezed Pictures // Computer Graphics (SIGGRAPH 77 Proceedings). 1977. V.
11 (2). July. Р. 192-198.
6. Cook R.L., Torrance K.E. A Reflectance Model for Computer Graphics // ACM Transanction on Graphics. 1982. V. 1. № 1. January.
7. Nayar S.K., Oren M. Generalization of the Lambertian Model and Implications for Machine Vision // International Journal on Computer Vision. 1995. V. 14. № 3. Apr. Р. 227-251.
8. Ward G.J. Measuring and Modeling Anisotropic Reflection // Lighting Systems Research Group Lawrence Berkeley Laboratory Computer Graphica. 1992. 26.2. July.
Поступила в редакцию 12 марта 2010 г.
Khlebnikov V.V., Yurov A.A. Simulation of realistic images of objects by using different algorithms for calculating illumination.
This article describes various models of local lighting, as well as upgraded lighting model the Cook-Torrance, that leads to increase productivity by 77 percent, with almost identical appearance under objects that are modeled with the help of modified and unmodified models.
Key words: mathematical modeling; interpolation; model coverage.