Глобальная модель освещенности. Классический raytracing

Июль 28, 2010 в категории Статьи

Третий луч строится, если поверхность объекта прозрачна, и носит название transparency ray, т.е. луч прозрачности. Направление преломленного луча вычисляется по формулам, приведенным на рис. 5, где n1 и n2 – коэффициенты преломления для первой среды (в которой распространяется первичный луч) и второй среды прозрачного объекта.

Backward raytracing

Рис. 5

Так же, как и в предыдущем случае, проверяется пересечение вновь построенного луча с объектами, и, если они есть, в новой точке строятся три луча, если нет – используется интенсивность и цвет фона. Таким образом, для каждого первичного луча можно построить древовидную структуру, как на рис. 6.

Backward raytracing

Рис. 6

Если древовидная структура для данного луча построена, то расчет освещенности можно выполнить в следующем порядке. Для каждой ветви дерева спускаемся вдоль древовидной структуры к последнему пересечению вторичного луча и поверхности (будем дальше называть их узлами). Поскольку это последний узел в цепи, вкладов от преломлений и отражений нет. Поэтому освещенность узла вычисляется при помощи локальной модели освещения с учетом видимости источников света для данного узла. Затем, вычисленная освещенность передается вверх по ветви к следующему ближайшему узлу. Освещенность в этом узле будет вычисляться по формуле:

Iп = Ilocal + kreflection·Ireflection + krefraction·Irefraction,

где Iп — полная освещенность в узле n;

Ilocal — локальная освещенность в узле n, вычисленная от источников освещения с помощью локальной модели освещенности;

kreflection — коэффициент, определяющий отражающие свойства поверхности;

Ireflection — освещенность предыдущего узла, переданная вдоль ветки отражения;

krefraction — коэффициент, определяющий преломляющие свойства поверхности;

Irefraction – освещенность предыдущего узла, переданная вдоль ветки преломления.

Страниц: 1 2 3 4

Реклама: