|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Технология LightscapeАнна Кистенева Прежде чем начинать пользоваться какой-либо программой, необходимо разобраться для чего и для кого она была создана и как собственно она работает. Предлагаемая в данной статье программа была создана для моделирования освещения с учетом физических законов распределения света. Такое моделирование необходимо в первую очередь специалистам, занимающимся световым дизайном, а также людям, имеющим отношение к компьютерной графике вообще (создателям компьютерных игр, современных спецэффектов в кино и т.д.). Я постараюсь кратко описать, как работает Lightscape, и если это заинтересует читателей, то в дальнейшем расскажу, как с этой программой обращаться. Алгоритмы расчетаLightscape использует два алгоритма расчета, что позволяет получать фотореалистичные изображения и в то же время анализировать светотехнические параметры. Radiosity (излучательность).
В начале 60-х годов инженеры теплотехники разрабатывали методы моделирования различных тепловых процессов, например в печах и двигателях. В середине 80-х исследователи в области компьютерной графики обратили внимание на эти методы с целью их применения для моделирования распространения света. Radiosity, так этот алгоритм называется в мире компьютерной графики, вычисляет освещенность каждой дискретной точки пространства. Первоначально все пространство поверхностей разбивается на сетку, состоящую из более мелких элементов. Разбиение происходит неравномерно - в зависимости от градиента освещенности в пределах одного элемента он может быть разбит на более мелкие элементы. Далее рассчитывается распространение светового потока от источника света и до каждого элемента сетки в отдельности, определяются затенения одних поверхностей другими. В зависимости от светотехнических характеристик материала часть потока поглощается поверхностью, часть отражается в окружающее пространство, предполагается, что все поверхности являются идеально диффузными и отражают свет во всех направлениях. После завершения процесса расчета прямой составляющей света начинается расчет многократных отражений. Определяется поверхность, которая отражает максимальное количество светового потока. Это зависит от коэффициента отражения поверхности и от ее освещенности. Дальше она воспринимается как вторичный источник света. Рассчитывается распространение светового потока от этого источника, как от излучающей поверхности, до других поверхностей. Процесс продолжается до тех пор, пока вся энергия не поглотится и не наступит энергетическое равновесие. Каждое распространение света от источника или поверхности называется итерацией. Количество итераций, требующихся для достижения равновесия, зависит от сложности сцены и размеров элементов разбиения. Наибольшая часть энергии распределяется на первых итерациях, на последние приходятся, как правило, доли процента всего распространяющегося светового потока, поэтому нет необходимости дожидаться достижения равновесия, и процесс можно остановить, когда необходимая точность уже достигнута (рис.1). Ray Tracing (трассировка луча). 1. Проследить ход луча от положения глаза через пиксель экрана до пересечения его с какой-либо поверхностью. 2. Алгоритм обеспечивает отражение, не учитывая величину отраженного светового потока. Чтобы определить освещенность данной точки поверхности, требуется проследить ход луча от этой точки до каждого источника света, если она не затеняется другими поверхностями, и учесть вклад этого источника в расчете цвета данной точки. 3. Поверхность может быть зеркальной или прозрачной. Алгоритм должен определить, что отразилось в ней или видно сквозь нее. Повторить шаги 1 и 2 до пересечения луча с другой поверхностью. Цвет данной поверхности вычисляется с учетом цвета поверхностей, отраженных в ней или видимых сквозь нее. 4. Если вторая поверхность окажется зеркальной или прозрачной, то шаги повторяются до тех пор, пока количество итераций не достигнет максимума или не останется поверхностей, пересекающихся с лучом. Алгоритм трассировки луча очень универсален. С его помощью могут быть смоделированы такие эффекты, как зеркальное отражение, четкие тени, преломление лучей, проходящих через прозрачные поверхности. Одним из главных недостатков данного алгоритма является то, что он не может учитывать диффузное отражение (рис.2). Свойства материалов
Для корректного моделирования света необходимо точно учесть светотехнические свойства поверхностей. Lightscape предлагает широкие возможности в создании материалов, характеристики которых максимально приближены к реальным, а также материалов, абсолютно нереальных. Для удобства существует стандартный набор материалов с готовыми свойствами: металл, стекло, полированное дерево и т.д. Далее кратко описаны свойства, необходимые для воссоздания свойств реальных материалов. 1. Цвет материала задается в системе RGB или HSV. Hue - цветовой тон. 2. Прозрачность (Transparency). Коэффициент пропускания зависит от коэффициента отражения и прозрачности. Если материал прозрачен на 100 %, то коэффициент пропускания равен коэффициенту отражения. Если прозрачность не равна 100%, то часть света диффузно отражается в окружающее пространство. 3. Зеркальность (Shininess). Она определяет, как будут выглядеть зеркальные поверхности. Чем больше этот параметр, тем больше величина зеркального отражения. 4. Коэффициент преломления (Refractive index). В случае прозрачных материалов определяет преломление лучей на границе двух поверхностей (рис.3). Расчет искусственного освещения
В качестве источника света в Lightscape используется luminaire (светильник) - блок с фотометрическими свойствами. Для светильника задаются следующие характеристики:
Расчет естественного освещенияЕстественное освещение в данной программе рассматривается как сумма света солнца и неба. Солнечный свет. Солнце рассматривается как бесконечно удаленный источник параллельного света. Направление излучения зависит от географического положения модели, а интенсивность состояния облачности - от времени года и времени суток. Цвет солнечного света можно изменять. Свет неба. Небо смоделировано как купол бесконечного радиуса, размещенного вокруг сцены. Яркость купола непостоянна и зависит от положения солнца. Состояние облачности неба можно плавно менять от ясного до пасмурного. Цвет неба также можно изменять. Если естественный свет попадает в помещение через окно, то результаты расчета для небесного света присваиваются поверхности окна и внутри окно считается диффузной светящей поверхностью. Параметры естественного света для удобства задаются путем установки географического положения объекта, его ориентацией в пространстве (направление севера), временем года, временем суток и состоянием облачности (рис.6). Расчетные характеристики освещенияВыходные данные могут быть представлены в качестве сетки распределения освещенности или яркости по любой поверхности. Для каждой поверхности определяется максимальная, минимальная, средняя и освещенность в любой указанной точке, а также отношение ср/мин, макс/мин и мах/ср. В сцену можно ввести расчетную плоскость, которая будет характеризовать освещенность на этой поверхности, но не будет отражать свет или затенять другие объекты (см. рис.6). Это лишь основные данные программы, которые необходимо знать, прежде
чем начинать с ней работать. Существует еще много других не менее важных
параметров, знакомство с которыми происходит в процессе пользования. Однако
без этих базовых знаний нельзя настолько эффективно использовать возможности
программы, которые достаточно широки, чтобы Lightscape стал незаменимым
помощником дизайнера по свету, проектировщика и любого, кому интересна
компьютерная графика.
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|