Interactive calculation of light refraction and caustics using a graphics processor

Cover Page

Cite item

Full Text

Abstract

While modern rendering systems are effective at modeling complex light paths in complex environments, rendering refractive caustics still takes a long time. Caustics are light patterns that occur when light is refracted and reflected from a surface. Due to the sharp density distribution of these mirror events, rendering algorithms mainly rely on direct sampling of the bidirectional scattering distribution function on these surfaces to plot trajectories. This requires many calculations. Photonic maps are also used. However, there are problems limiting the applicability of caustic maps. Since each photon in the photon buffer must be processed, therefore, one has to choose between a strongly underestimated caustic sampling and a large decrease in speed in order to use a sufficient number of photons for caustics in order to obtain high-quality images. Complex mirror interactions cause oversampling in bright focal areas, while other areas of the caustic map remain under-selected and noisy. At the same time, speed takes precedence over realism in most interactive applications. However, the desire to improve the quality of graphics prompted the development of various fast approximations for realistic lighting.

This paper presents a combined method for visualizing refraction of light and caustics using reverse integration for illumination and direct integration for viewing rays. An approach is used for simultaneous propagation of light and for tracking rays in volume and, therefore, it does not require storing data of an intermediate volume of illumination. In the implementation of the method, the distance between the light planes is set to one voxel, which provides at least one sample per voxel for all orientations. The method does not use preliminary calculations; all rendering parameters can be changed interactively.

As a result, using the proposed method, it is possible to create plausible approximations of complex phenomena such as refractions and caustics. The effect of refraction on the shadow is shown. Complex light patterns are demonstrated due to the curved geometry of the objects. The visualization results show the importance of refraction for the appearance of transparent objects. For example, distortions caused by refraction and refraction at the interface between media. The difference in refractive indices between individual media causes a complex interaction between light and shadow areas. It is shown how refraction and caustics improve the visualization of functionally defined objects by providing additional information about shape and location.

Full Text

1. ВВЕДЕНИЕ

Одной из сложных проблем является визуализация зеркальных и прозрачных материалов [1]. Для таких материалов свет отражается или преломляется в каждой точке поверхности, поэтому приближения, повышающие скорость за счет размытия, неприемлемы. Эффекты преломления могут сильно влиять на восприятие прозрачных объектов. С другой стороны, скорость имеет приоритет над реализмом в большинстве интерактивных приложений. Желание улучшить качество графики побудило к разработке различных быстрых приближений для реалистичного освещения. Также важным является возможность эффективной реализации методов на GPU c учетом все возрастающей аппаратной поддержки.

В работе [2] представлен метод рендеринга каустики в реальном времени, который использует DirectX Raytracing API и интегрирован в конвейер рендеринга. Использованы карты прямой каустической видимости и карты обратной каустической видимости, которые создаются для источников света и виртуальной камеры соответственно.

Каустика MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  важный визуальный эффект, способствующий восприятию реалистичности сцен с использованием отражающих и преломляющих поверхностей [3, 4].

Последние достижения в области рендеринга значительно снижают стоимость глобального освещения. Но даже с аппаратным ускорением сложные световые пути с множеством взаимодействий с глянцем по-прежнему требуют многих вычислений. В статье [5] описан метод, который в сочетании с традиционными световыми картами для рассеянного освещения интерактивно отображает все световые пути в статичных сценах с непрозрачными объектами. Чтобы минимизировать объем памяти, вводится адаптивная параметризация, которая обеспечивает повышенное разрешение для более блестящих поверхностей и областей с более высокой геометрической сложностью.

Эффекты, такие как отражения, создают существенную проблему для алгоритмов визуализации на основе изображений и нейронных сетей. Прежде всего, это изогнутые отражатели, поскольку они приводят к сильно нелинейным потокам отражения при движении камеры. В статье [6] вводится представление на основе точек для вычисления нейронной точечной катакаустики, позволяющей синтезировать сцены с изогнутыми отражателями в новом ракурсе из набора случайно снятых входных фото ­ MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=1kaaaa@3A9F@ графий. В основе метода лежит нейронное деформирующее поле, которое моделирует катакаустические траектории отражений. Поэтому сложные зеркальные эффекты могут быть визуализированы с использованием эффективного точечного сплаттинга в сочетании с нейронным визуализатором.

В данной работе, в отличие от метода [7] высокореалистичной визуализации нереального времени, предлагается интерактивное вычисление преломления света и каустик с применением графического процессора.

Целью представленной работы является разработка метода визуализации преломляющих сред с интерактивной частотой кадров без предварительных вычислений.

Главными отличительными особенностями предложенного метода являются:

  1. объекты на основе функций возмущения;
  2. распространение света в виде параллельных плоскостей.

2. ПОСТАНОВКА ЗАДАЧИ

Визуализация сложных пространственных структур является затратной в вычислительном отношении, так как из-за отсутствия дискретных однородных объектов вклад освещенности должен оцениваться и распространяться в каждой точке пространства.

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

В то время как рефракция отвечает за широкий спектр оптических явлений, которые сильно влияют на внешний вид полупрозрачных материалов. Например, световой луч внутри стеклянной линзы, окруженной воздухом, распространяется с более высокой скоростью. Каустики представляют собой сложные узоры сфокусированного света, окруженного затененными областями из-за преломления изогнутыми объектами.

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

Физически корректный рендеринг выполняется с помощью таких методов, как описано в [8]. Однако они медленные и результирующие изображения получаются с заметными артефактами.

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

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

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

3. ОПИСАНИЕ МЕТОДА

3.1. Объекты на основе функций возмущения

Задание объектов (свободных форм) происходит с применением поверхностей второго порядка MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  квадрик и функций возмущения второго порядка [9]:

F (x,y,z)=F(x,y,z)+ i=1 N f i R i (x,y,z) , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyypa0JaamOraiaacIcacaWG4bGaaiilai aadMhacaGGSaGaamOEaiaacMcacqGHRaWkdaaeWbqaaiaadAgadaWg aaWcbaGaamyAaaqabaGccaWGsbWaaSbaaSqaaiaadMgaaeqaaOGaai ikaiaadIhacaGGSaGaamyEaiaacYcacaWG6bGaaiykaaWcbaGaamyA aiabg2da9iaaigdaaeaacaWGobaaniabggHiLdGccaGGSaaaaa@5D08@  (1)

где F (x,y,z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaaaaa@4467@ MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  функция свободной формы; F(x,y,z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  функция базовой квадрики; fi MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  форм-фактор; R i (x,y,z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGsbWaaSbaaSqaaiaadMgaaeqaaOGaaiikaiaa dIhacaGGSaGaamyEaiaacYcacaWG6bGaaiykaaaa@458B@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  функция возмущения, i=1...N, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGPbGaaGjbVlabg2da9iaaigdacaGGUaGaaiOl aiaac6cacaaMc8UaamOtaiaacYcaaaa@473D@

Ri(x,y,z)=Qi3(x,y,z), если Qi(x,y,z)0;0, если  Qi(x,y,z)<0, (2)

где Q(x, y, z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  возмущающая квадрика.

Объект при функциональном задании целиком определен с помощью вещественной непрерывной описывающей функции трех переменных (x, y, z) в виде F (x,y,z)0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyyzImRaaGimaaaa@46E7@ . Объекты рассматриваются как замкнутые подмножества евклидова пространства E3, определяемые описывающей функцией F (x,y,z)0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyyzImRaaGimaaaa@46E7@ , где F MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  непрерывная вещественная функция и (x, y, z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  задаваемая координатными переменными точка в E3. Здесь F (x,y,z)>0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyOpa4JaaGimaaaa@4629@  задает точки внутри объекта, F (x,y,z)=0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyypa0JaaGimaaaa@4627@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  точки на границе и F (x,y,z)<0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyipaWJaaGimaaaa@4625@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  точки, лежащие снаружи и не принадлежащие объекту.

Решая описывающую функцию в виде неравенства F (x,y,z)0, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyyzImRaaGimaiaacYcaaaa@4797@  мы можем визуализировать не только поверхность, но и внутреннюю структуру объекта [10].

Важной частью является эффективное нахождение первого пересечения луча с поверхностью. Данная задача напоминает методы визуализации объемных данных, которые часто применяются, например, в томографии. В подобных методах задана функция плотности. Основным отличием является то, что в подобных подходах мы имеем дело с дискретными данными. А в нашем случае есть аналитически заданная функция плотности. Это позволяет более эффективно осуществлять поиск пересечения луча с поверхностью [11]. Так как условные переходы MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  это дорогие операции для геометрического процессора, чтобы не использовать рекурсию, возмущения задаются явно.

3.2. Уравнение переноса излучения

Уравнение в дифференциальной форме имеет следующий вид [12]:

ω L x ,ω = μ t x L x ,ω + + μ a x L e x ,ω + μ s x S 2 f p (ω, ω ¯ )L x , ω ¯ d ω ¯ , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakqaaceqaaabaaaaaaaaapeWaaeWaa8aabaWdbiabeM8a 3jabgwSixlabgEGirdGaayjkaiaawMcaaiaadYeadaqadaWdaeaape GabmiEa8aagaWca8qacaGGSaGaeqyYdChacaGLOaGaayzkaaGaeyyp a0JaeyOeI0IaeqiVd02damaaBaaaleaapeGaamiDaaWdaeqaaOWdbm aabmaapaqaa8qaceWG4bWdayaalaaapeGaayjkaiaawMcaaiaadYea daqadaWdaeaapeGabmiEa8aagaWca8qacaGGSaGaeqyYdChacaGLOa GaayzkaaGaey4kaScabaGaey4kaSIaaGjbVlabeY7aT9aadaWgaaWc baWdbiaadggaa8aabeaak8qadaqadaWdaeaapeGabmiEa8aagaWcaa WdbiaawIcacaGLPaaacaWGmbWdamaaBaaaleaapeGaamyzaaWdaeqa aOWdbmaabmaapaqaa8qaceWG4bWdayaalaWdbiaacYcacqaHjpWDai aawIcacaGLPaaacqGHRaWkcqaH8oqBpaWaaSbaaSqaa8qacaWGZbaa paqabaGcpeWaaeWaa8aabaWdbiqadIhapaGbaSaaa8qacaGLOaGaay zkaaWaa8quaeaacaWGMbWdamaaBaaaleaapeGaamiCaaWdaeqaaOWd biaacIcacqaHjpWDcaGGSaGafqyYdC3dayaaraWdbiaacMcacaWGmb WaaeWaa8aabaWdbiqadIhapaGbaSaapeGaaiilaiqbeM8a39aagaqe aaWdbiaawIcacaGLPaaacaWGKbGafqyYdC3dayaaraWdbiaacYcaaS qaaiaadofapaWaaWbaaWqabeaapeGaaGOmaaaaaSqab0Gaey4kIipa aaaa@876D@  (3)

где  L x ,ω MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiaaKdkacaWGmbWaaeWaa8aabaWd biqadIhapaGbaSaapeGaaiilaiabeM8a3bGaayjkaiaawMcaaaaa@45A7@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  излучение, параметризованное точкой x MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiqadIhapaGbaSaaaaa@3F1B@  и направлением движения ω:

μ t ( x )L( x ,ω) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiabeY7aT9aadaWgaaWcbaWdbiaa dshaa8aabeaak8qacaGGOaGabmiEa8aagaWca8qacaGGPaGaamitai aacIcaceWG4bWdayaalaWdbiaacYcacqaHjpWDcaGGPaaaaa@497C@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  потери, вызванные поглощением и рассеянием;

μ a x L e x ,ω MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiabeY7aT9aadaWgaaWcbaWdbiaa dggaa8aabeaak8qadaqadaWdaeaapeGabmiEa8aagaWcaaWdbiaawI cacaGLPaaacaWGmbWdamaaBaaaleaapeGaamyzaaWdaeqaaOWdbmaa bmaapaqaa8qaceWG4bWdayaalaWdbiaacYcacqaHjpWDaiaawIcaca GLPaaaaaa@4B65@  и μ s x S 2 f p (ω, ω ¯ )L x , ω ¯ d ω ¯ MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiabeY7aT9aadaWgaaWcbaWdbiaa dohaa8aabeaak8qadaqadaWdaeaapeGabmiEa8aagaWcaaWdbiaawI cacaGLPaaadaGfWbqabSWdaeaapeGaam4ua8aadaahaaadbeqaa8qa caaIYaaaaaWcpaqaaaqdbaWdbiabgUIiYdaakiaadAgapaWaaSbaaS qaa8qacaWGWbaapaqabaGcpeGaaiikaiabeM8a3jaacYcacuaHjpWD paGbaebapeGaaiykaiaadYeadaqadaWdaeaapeGabmiEa8aagaWca8 qacaGGSaGafqyYdC3dayaaraaapeGaayjkaiaawMcaaiaadsgacuaH jpWDpaGbaebaaaa@5A00@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  

выигрыши, обусловленные излучением L e ( x ,ω) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiaadYeapaWaaSbaaSqaa8qacaWG LbaapaqabaGcpeGaaiikaiqadIhapaGbaSaapeGaaiilaiabeM8a3j aacMcaaaa@4530@  и рассеиванием соответственно; f p (ω, ω ¯ ) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaqaaaaaaaaaWdbiaadAgapaWaaSbaaSqaa8qacaWG WbaapaqabaGccaGGOaWdbiabeM8a3jaacYcacuaHjpWDpaGbaebaca GGPaaaaa@461B@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  функция фазы, количественно определяет направленную плотность рассеянного света (направление движения ω MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaccaqcLbvaqa aaaaaaaaWdbiab=HGiodaa@385A@ S2); S2 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  единичная сфера.

С помощью решения интеграла Дирака получается интегральная форма уравнения переноса излучения, включающая прямое рассеяние:

L x ,ω = 0 exp 0 t μ t x s + μ n x s ds × × μ a x t L e x t ,ω + μ s x t L e x t ,ω dt, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakqaaceqaaabaaaaaaaaapeGaamitamaabmaapaqaa8qa ceWG4bWdayaalaWdbiaacYcacqaHjpWDaiaawIcacaGLPaaacqGH9a qpdaGfWbqabSWdaeaapeGaaGimaaWdaeaapeGaeyOhIukan8aabaWd biabgUIiYdaakiaabwgacaqG4bGaaeiCamaabmaabaGaaiiaamaawa habeWcpaqaa8qacaaIWaaapaqaa8qacaWG0baan8aabaWdbiabgUIi YdaakiqbeY7aT9aagaWcamaaBaaaleaapeGaamiDaaWdaeqaaOWdbm aabmaapaqaa8qaceWG4bWdayaalaWaaSbaaSqaa8qacaWGZbaapaqa baaak8qacaGLOaGaayzkaaGaey4kaSIafqiVd02dayaalaWaaSbaaS qaa8qacaWGUbaapaqabaGcpeWaaeWaa8aabaWdbiqadIhapaGbaSaa daWgaaWcbaWdbiaadohaa8aabeaaaOWdbiaawIcacaGLPaaacaWGKb Gaam4CaaGaayjkaiaawMcaaiabgEna0cqaaiabgEna0kaaysW7daWa daWdaeaapeGafqiVd02dayaalaWaaSbaaSqaa8qacaWGHbaapaqaba GcpeWaaeWaa8aabaWdbiqadIhapaGbaSaadaWgaaWcbaWdbiaadsha a8aabeaaaOWdbiaawIcacaGLPaaacaWGmbWdamaaBaaaleaapeGaam yzaaWdaeqaaOWdbmaabmaapaqaa8qaceWG4bWdayaalaWaaSbaaSqa a8qacaWG0baapaqabaGcpeGaaiilaiabeM8a3bGaayjkaiaawMcaai abgUcaRiqbeY7aT9aagaWcamaaBaaaleaapeGaam4CaaWdaeqaaOWd bmaabmaapaqaa8qaceWG4bWdayaalaWaaSbaaSqaa8qacaWG0baapa qabaaak8qacaGLOaGaayzkaaGaamita8aadaWgaaWcbaWdbiaadwga a8aabeaak8qadaqadaWdaeaapeGabmiEa8aagaWcamaaBaaaleaape GaamiDaaWdaeqaaOWdbiaacYcacqaHjpWDaiaawIcacaGLPaaaaiaa wUfacaGLDbaacaWGKbGaamiDaiaacYcaaaaa@908B@  (4)

где xt=x-tω и xs=x-sω.

3.3. Подповерхностное рассеяние

Количество энергии, проходящей в нижние слои поверхности, равно [13]:

E= 1F α i 1F α o , MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGfbGaeyypa0ZaaeWaaeaacaaIXaGaeyOeI0Ia amOramaabmaabaGaeqySde2aaSbaaSqaaiaadMgaaeqaaaGccaGLOa GaayzkaaaacaGLOaGaayzkaaWaaeWaaeaacaaIXaGaeyOeI0IaamOr amaabmaabaGaeqySde2aaSbaaSqaaiaad+gaaeqaaaGccaGLOaGaay zkaaaacaGLOaGaayzkaaGaaiilaaaa@50F2@  (5)

где F MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  коэффициент отражения Френеля для отражения. Для пластика коэффициент отражения зависит от коэффициента отражения ρd диффузного слоя [12]:

ρ p =E ρ d π 1 ρ d π F dr 1 σ 1 , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacqaHbpGCdaWgaaWcbaGaamiCaaqabaGccqGH9aqp caWGfbWaaSaaaeaacqaHbpGCdaWgaaWcbaGaamizaaqabaaakeaacq aHapaCaaWaaeWaaeaacaaIXaGaeyOeI0YaaSaaaeaacqaHbpGCdaWg aaWcbaGaamizaaqabaaakeaacqaHapaCaaGaamOramaaBaaaleaaca WGKbGaamOCaaqabaGcdaqadaqaamaalaaabaGaaGymaaqaaiabeo8a ZbaaaiaawIcacaGLPaaaaiaawIcacaGLPaaadaahaaWcbeqaaiabgk HiTiaaigdaaaGccaGGSaaaaa@58A8@  (6)

где Fdr MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  коэффициент диффузного отражения Френеля.

Коэффициент диффузного отражения Френеля соответствует интегралу коэффициента отражения Френеля, умноженному на косинус угла по входящим направлениям.

Для подповерхностного слоя это зависит от альбедо a рассеивающего материала [13]:

ρ subsurf =E a 4π 1 cos α i +cos α o + +E a 2π e 3(1a) e 4 3 3(1a) ( 1 F dr 1+ F dr ) , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakqaaceqaaiabeg8aYnaaBaaaleaacaWGZbGaamyDaiaa dkgacaWGZbGaamyDaiaadkhacaWGMbaabeaakiaaysW7cqGH9aqpca aMe8UaamyramaalaaabaGaamyyaaqaaiaaisdacqaHapaCaaWaaeWa aeaadaWcaaqaaiaaigdaaeaaciGGJbGaai4BaiaacohacuaHXoqyga qbamaaBaaaleaacaWGPbaabeaakiabgUcaRiGacogacaGGVbGaai4C aiqbeg7aHzaafaWaaSbaaSqaaiaab+gaaeqaaaaaaOGaayjkaiaawM caaiabgUcaRaqaaiabgUcaRiaaysW7caWGfbWaaSaaaeaacaWGHbaa baGaaGOmaiabec8aWbaacaWGLbWaaWbaaSqabeaacqGHsisldaGcaa qaaiaaiodacaGGOaGaaGymaiabgkHiTiaadggacaGGPaaameqaaaaa kmaabmqabaGaamyzamaaCaaaleqabaGaeyOeI0YaaSaaaeaacaaI0a aabaGaaG4maaaadaGcaaqaaiaaiodacaGGOaGaaGymaiabgkHiTiaa dggacaGGPaaameqaaSGaaiikamaalaaabaGaaGymaiabgkHiTiaadA eadaWgaaadbaGaamizaiaadkhaaeqaaaWcbaGaaGymaiabgUcaRiaa dAeadaWgaaadbaGaamizaiaadkhaaeqaaaaaliaacMcaaaaakiaawI cacaGLPaaacaGGSaaaaaa@80CB@  (7)

где αi и αo MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  углы преломления лучей с нормалью к поверхности (рис. 1).

 

Рис. 1. Подповерхностное рассеяние света.

 

Таким образом, при преломлении света лучи как от источника освещения, так и лучи, видимые наблюдателем, изменяют направление в зависимости от свойств материала.

3.4. Передача света

Перенос света в общем виде описывается с использованием интеграла пути [14]. Интенсивность I определяется в виде интеграла

I= Ω f z ¯ dμ z ¯ , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGjbGaeyypa0Zaa8qeaeaacaWGMbWaaeWaaeaa ceWG6bGbaebaaiaawIcacaGLPaaaaSqaaiabfM6axbqab0Gaey4kIi pakiaadsgacqaH8oqBdaqadaqaaiqadQhagaqeaaGaayjkaiaawMca aiaacYcaaaa@4CCD@  (8)

где Ω MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  пространство путей переноса света z, f(z) MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  пропускная способность пути.

Интеграл по траектории аппроксимируется оценкой

I 1 p i=1 p f z ¯ i d z ¯ i , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGjbGaeyisIS7aaSaaaeaacaaIXaaabaGaamiC aaaadaaeWbqaamaalaaabaGaamOzamaabmaabaGabmOEayaaraWaaS baaSqaaiaadMgaaeqaaaGccaGLOaGaayzkaaaabaGaamizamaabmaa baGabmOEayaaraWaaSbaaSqaaiaadMgaaeqaaaGccaGLOaGaayzkaa aaaaWcbaGaamyAaiabg2da9iaaigdaaeaacaWGWbaaniabggHiLdGc caGGSaaaaa@5228@  (9)

где p MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=nbiaaa@3A25@  вклад путей распространения света, отобранных с плотностью вероятности d(z).

Пути распространения света z=xn ym разлагаются на фотонные субпути xn и субпути камеры ym.

Вычисление плотности выполняется в паре вершин xn ym.

3.4.1. Вычисление плотности

Приближенное вычисление плотности полной пропускной способности пути

f z ¯ d z ¯ C ϖ n C t ¯ n1 D n,m C s ¯ m1 C ϖ m , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaadaWcaaqaaiaadAgadaqadaqaaiqadQhagaqeaaGa ayjkaiaawMcaaaqaaiaadsgadaqadaqaaiqadQhagaqeaaGaayjkai aawMcaaaaacqGHijYUcaWGdbWaaeWaaeaacqaHwpGDdaWgaaWcbaGa amOBaaqabaaakiaawIcacaGLPaaacaWGdbWaaeWaaeaaceWG0bGbae badaWgaaWcbaGaamOBaiabgkHiTiaaigdaaeqaaaGccaGLOaGaayzk aaWaaaWaaeaacaWGebaacaGLPmIaayPkJaWaaWbaaSqabeaacaWGUb Gaaiilaiaad2gaaaGccaWGdbWaaeWaaeaaceWGZbGbaebadaWgaaWc baGaamyBaiabgkHiTiaaigdaaeqaaaGccaGLOaGaayzkaaGaam4qam aabmaabaGafqO1dyNbauaadaWgaaWcbaGaamyBaaqabaaakiaawIca caGLPaaacaGGSaaaaa@63DC@  (10)

здесь MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaccaqcLbvaqa aaaaaaaaWdbiab=LYiHdaa@388F@ D MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaccaqcLbvaqa aaaaaaaaWdbiab=PYiXdaa@38A0@ n,m MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  оценка плотности в паре вершин xn и ym.

3.4.2. Вычисление излучения

Введем трехмерные оценки плотности. Метод может быть повторно применен к еще более высоким измерениям.

Оценка плотности для лучей фотонов вычисляется следующим образом [15, 16]:

D r n,m = s m s m+ f t ¯ n K 2 x n , y ¯ m f ω n,m f s ds, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaadaaadaqaaiaadseaaiaawMYicaGLQmcadaqhaaWc baGaamOCaaqaaiaad6gacaGGSaGaamyBaaaakiabg2da9maapedaba GaamOzamaabmaabaGabmiDayaaraWaaSbaaSqaaiaad6gaaeqaaaGc caGLOaGaayzkaaaaleaacaWGZbWaaSbaaWqaaiaad2gacqGHsislae qaaaWcbaGaam4CamaaBaaameaacaWGTbGaey4kaScabeaaa0Gaey4k IipakmaacmaabaGaam4samaaBaaaleaacaaIYaaabeaakmaabmaaba GaamiEamaaBaaaleaacaWGUbaabeaakiaacYcaceWG5bGbaebadaWg aaWcbaGaamyBaaqabaaakiaawIcacaGLPaaacaWGMbWaa0baaSqaai abeM8a3bqaaiaad6gacaGGSaGaamyBaaaaaOGaay5Eaiaaw2haaiaa dAgadaqadaqaaiaadohaaiaawIcacaGLPaaacaWGKbGaam4CaiaacY caaaa@6839@  (11)

где t ¯ n , y ¯ m MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWG0bGbaebadaWgaaWcbaGaamOBaaqabaGccaGG SaGabmyEayaaraWaaSbaaSqaaiaad2gaaeqaaaaa@42FB@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  функции интегрирующей переменной s, K2 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  2D-ядро размытия.

Интегральные границы определяются пересечением луча камеры и фотонного луча.

Лучи объединяются в непрерывную фотонную плоскость с вкладом

D pl n1,m = s m s m+ f t ¯ n1 f t ¯ n × × K 1 x n, y ¯ m J pl n1,n f ω n,m f s ds, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakqaabeqaamaaamaabaGaamiraaGaayzkJiaawQYiamaa DaaaleaacaWGWbGaamiBaaqaaiaad6gacqGHsislcaaIXaGaaiilai aad2gaaaGccqGH9aqpdaWdXaqaaiaadAgadaqadaqaaiqadshagaqe amaaBaaaleaacaWGUbGaeyOeI0IaaGymaaqabaaakiaawIcacaGLPa aaaSqaaiaadohadaWgaaadbaGaamyBaiabgkHiTaqabaaaleaacaWG ZbWaaSbaaWqaaiaad2gacqGHRaWkaeqaaaqdcqGHRiI8aOGaamOzam aabmaabaGabmiDayaaraWaaSbaaSqaaiaad6gaaeqaaaGccaGLOaGa ayzkaaGaey41aqlabaGaey41aqRaaGjbVpaacmaabaWaaSaaaeaaca WGlbWaaSbaaSqaaiaaigdaaeqaaOWaaeWaaeaacaWG4bWaaSbaaSqa aiaad6gacaGGSaaabeaakiqadMhagaqeamaaBaaaleaacaWGTbaabe aaaOGaayjkaiaawMcaaaqaaiaadQeadaqhaaWcbaGaamiCaiaadYga aeaacaWGUbGaeyOeI0IaaGymaiaacYcacaWGUbaaaaaakiaadAgada qhaaWcbaGaeqyYdChabaGaamOBaiaacYcacaWGTbaaaaGccaGL7bGa ayzFaaGaamOzamaabmaabaGaam4CaaGaayjkaiaawMcaaiaadsgaca WGZbGaaiilaaaaaa@7E21@  (12)

где J pl n1,n = ω n1 × ω n MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGkbWaa0baaSqaaiaadchacaWGSbaabaGaamOB aiabgkHiTiaaigdacaGGSaGaamOBaaaakiabg2da9maafmaabaGaeq yYdC3aaSbaaSqaaiaad6gacqGHsislcaaIXaaabeaakiabgEna0kab eM8a3naaBaaaleaacaWGUbaabeaaaOGaayzcSlaawQa7aaaa@52DF@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=nbiaaa@3A25@  якобиан.

Вставим и расширим оценку (12) в уравнение (10), для D pl n1,m MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaadaaadaqaaiaadseaaiaawMYicaGLQmcadaqhaaWc baGaamiCaiaadYgaaeaacaWGUbGaeyOeI0IaaGymaiaacYcacaWGTb aaaaaa@46C6@ :

f( t n2 ) d( t n2 ) s m s m+ f t ¯ n1 f t ¯ n K 1 ( x n, y ¯ m ) J pl n1,n f ω n,m f(s)ds, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaadaWcaaqaaiaadAgacaGGOaGaamiDamaaBaaaleaa caWGUbGaeyOeI0IaaGOmaaqabaGccaGGPaaabaGaamizaiaacIcaca WG0bWaaSbaaSqaaiaad6gacqGHsislcaaIYaaabeaakiaacMcaaaWa a8qCaeaacGaAaoOzamacObyadaqaiGgGcKaAaoiDayacObyeamacOb 4gaaWcbGaAakacOb4GUbGamGgGgkHiTiacObiIXaaabKaAacaakiac ObOLOaGaiGgGwMcaaaWcbaGaam4CamaaBaaameaacaWGTbGaeyOeI0 cabeaaaSqaaiaadohadaWgaaadbaGaamyBaiabgUcaRaqabaaaniab gUIiYdGccaWGMbWaaeWaaeaaceWG0bGbaebadaWgaaWcbaGaamOBaa qabaaakiaawIcacaGLPaaadaGadaqaamaalaaabaGaam4samaaBaaa leaacaaIXaaabeaakiaacIcacaWG4bWaaSbaaSqaaiaad6gacaGGSa aabeaakiqadMhagaqeamaaBaaaleaacaWGTbaabeaakiaacMcaaeaa caWGkbWaa0baaSqaaiaadchacaWGSbaabaGaamOBaiabgkHiTiaaig dacaGGSaGaamOBaaaaaaGccaWGMbWaa0baaSqaaiabeM8a3bqaaiaa d6gacaGGSaGaamyBaaaaaOGaay5Eaiaaw2haaiaadAgacaGGOaGaam 4CaiaacMcacaaMc8UaamizaiaadohacaGGSaaaaa@882D@  (13)

Заменим выборку расстояния вдоль tn MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcL1naqaaaaaaaaaWdbiaa=nbiaaa@3AB1@ 2 детерминированной плоскостью.

K 1 ( x n , y m )= u 1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGlbWaa0baaSqaaiaaigdaaeaaaaGccaGGOaGa amiEamaaBaaaleaacaWGUbaabeaakiaacYcacaWG5bWaaSbaaSqaai aad2gaaeqaaOGaaiykaiabg2da9iaadwhadaahaaWcbeqaaiabgkHi Tiaaigdaaaaaaa@49C9@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  однородное ядро размытия. u ¯ = ( ω n1 × ω n )/ || ω n1 × ω n || MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWG1bGbaebacaaMe8Uaeyypa0ZaaSGbaeaacaGG OaGaeqyYdC3aaSbaaSqaaiaad6gacqGHsislcaaIXaaabeaakiaayk W7cqGHxdaTcqaHjpWDdaWgaaWcbaGaamOBaaqabaGccaGGPaaabaGa aGPaVlaacYhacaGG8bGaaGjbVlabeM8a3naaBaaaleaacaWGUbGaey OeI0IaaGymaaqabaGccaaMc8Uaey41aqRaeqyYdC3aaSbaaSqaaiaa d6gaaeqaaOGaaGjbVlaacYhacaGG8baaaaaa@6202@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  нормаль к плоскости (рис. 2).

 

Рис. 2. Вклад плоскостей в объем.

 

Вклад всех плоскостей в объем составит:

i=0 f( t n2 (i) ) s m s m+ f( t ¯ n1 ) f( t ¯ n ) u 1 J pl n1,n f ω n,m f(s)ds, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaadaaeqbqaaiaadAgacaGGOaGaamiDamaaDaaaleaa caWGUbGaeyOeI0IaaGOmaaqaaiaacIcacaWGPbGaaiykaaaakiaacM caaSqaaiaadMgacqGH9aqpcaaIWaaabeqdcqGHris5aOWaa8qmaeaa caWGMbGaaiikaiqadshagaqeamaaBaaaleaacaWGUbGaeyOeI0IaaG ymaaqabaGccaGGPaGaaGPaVdWcbaGaam4CamaaBaaameaacaWGTbGa eyOeI0cabeaaaSqaaiaadohadaWgaaadbaGaamyBaiabgUcaRaqaba aaniabgUIiYdGccaWGMbGaaiikaiqadshagaqeamaaBaaaleaacaWG UbaabeaakiaacMcadaGadeqaamaalaaabaGaamyDamaaCaaaleqaba GaeyOeI0IaaGymaaaaaOqaaiaadQeadaqhaaWcbaGaamiCaiaadYga aeaacaWGUbGaeyOeI0IaaGymaiaacYcacaWGUbaaaaaakiaadAgada qhaaWcbaGaeqyYdChabaGaamOBaiaacYcacaWGTbaaaaGccaGL7bGa ayzFaaGaamOzaiaacIcacaWGZbGaaiykaiaaykW7caWGKbGaam4Cai aacYcaaaa@789A@  (14)

Взятие предела даст непрерывный объем фотонов.

Однако подходы нереального времени [15, 16] не поддерживают рефракцию. Чтобы учесть преломление, модифицируем метод фотонных плоскостей. Искривленные световые лучи значительно усложняют выборку на регулярной сетке. Для визуализации в нереальном времени сцен с преломляющими средами используются методы вычисления освещенности с помощью фотонных карт. Эти методы требуют очень много вычислений, поскольку необходимо огромное количество фотонов для качественного изображения, то есть чтобы изображение казалось непрерывным [17].

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

При визуализации желательно указывать источник света относительно положения камеры, чтобы его не перенастраивать при геометрических пре ­ MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=1kaaaa@3A9F@ образованиях.

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

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

Нарезка плоскостей происходит, как описано в работе [18].

Входящее излучение смешивается с вкладами частиц и среды между двумя плоскостями. Направление света обновляется на основе градиента поля показателя преломления. Для каждого положения пикселя в текущем световом буфере вычисляем:

L j = L j1 I j (1α)c, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGmbWaaSbaaSqaaiaadQgaaeqaaOGaeyypa0Ja amitamaaBaaaleaacaWGQbGaeyOeI0IaaGymaaqabaGccaWGjbWaaS baaSqaaiaadQgaaeqaaOGaaiikaiaaigdacqGHsislcqaHXoqycaGG PaGaam4yaiaacYcaaaa@4CA2@  (15)

здесь Lj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  новый цвет света, Lj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcL1naqaaaaaaaaaWdbiaa=nbiaaa@3AB1@ 1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  фильтрованный предыдущий цвет света, Ij MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=nbiaaa@3A25@  интенсивность света, α  MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  непрозрачность, с MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  средний цвет между плоскостями j 1 и j.

Направление света вычисляется следующим образом:

d l j =d l j1 +Δpλ, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGKbGaamiBamaaBaaaleaacaWGQbaabeaakiab g2da9iaadsgacaWGSbWaaSbaaSqaaiaadQgacqGHsislcaaIXaaabe aakiabgUcaRiabfs5aejaadchacqaH7oaBcaGGSaaaaa@4C2A@  (16)

здесь dlj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  новое направления света, dlj1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  фильтрованное предыдущее направление света, Δp MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  расстояние между световыми плоскостями, λ  MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  показатель преломления.

Необходимо не только распространять и рассеивать свет, но и находить каустики.

Используем следующее уравнение интенсивности:

I j = I j1 A j1 / A j , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGjbWaaSbaaSqaaiacqb4GQbaabeaakiaaykW7 cqGH9aqpdaWcgaqaaiaadMeadaWgaaWcbaGaamOAaiabgkHiTiaaig daaeqaaOGaamyqamaaBaaaleaacaWGQbGaeyOeI0IaaGymaaqabaaa keaacaWGbbWaaSbaaSqaaiaadQgaaeqaaaaakiaacYcaaaa@4D18@  (17)

здесь Ij MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  интенсивность света на элементе площадью Aj, передающаяся из элемента с площадью Aj1 с интенсивностью Ij1.

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

Области Aj и Aj1 (17) задаются:

A j d dx p i d dy p i , MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGbbWaaSbaaSqaaiaadQgaaeqaaOGaeyisIS7a aqWaaeaadaWcaaqaaiaadsgaaeaacaWGKbGaamiEaaaacaWGWbWaaS baaSqaaiaadMgaaeqaaaGccaGLhWUaayjcSdWaaqWaaeaadaWcaaqa aiaadsgaaeaacaWGKbGaamyEaaaacaWGWbWaaSbaaSqaaiaadMgaae qaaaGccaGLhWUaayjcSdGaaiilaaaa@525E@  (18)

здесь pi MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  точка пересечения луча и соответствующей плоскости.

Эта поправка затем используется в уравнении (17) для восстановления каустики.

Входящее рассеянное освещение определяется путем поиска значения в световом буфере в текущем местоположении луча обзора. Вычисляется зеркальная составляющая аналитически с использованием коэффициента Кука MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=nbiaaa@3A25@ Торренса в модели BRDF [19]. Зеркальная составляющая вычисляется с помощью направления света, луча обзора и нормали. С помощью нормали вычисляется отражательная способность границы раздела на основе относительного показателя преломления между текущей и предыдущей плоскостями освещения.

Отражения и передача света вычисляются следующим образом.

Цвет:

C j = C j1 +(1 α j1 ) c j1 (ςσ i d + i s ), MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGdbWaaSbaaSqaaiaadQgaaeqaaOGaaGjbVlab g2da9iaadoeadaWgaaWcbaGaamOAaiabgkHiTiaaigdaaeqaaOGaaG PaVlabgUcaRiaacIcacaaIXaGaeyOeI0IaeqySde2aaSbaaSqaaiaa dQgacqGHsislcaaIXaaabeaakiaacMcacqGHflY1caWGJbWaaSbaaS qaaiaadQgacqGHsislcaaIXaaabeaakiaaysW7cqGHflY1caGGOaGa eqOWdyLaeyyXICTaeq4WdmNaeyyXICTaamyAamaaBaaaleaacaWGKb aabeaakiabgUcaRiaadMgadaWgaaWcbaGaam4CaaqabaGccaGGPaGa aiilaaaa@68B2@  (19)

непрозрачность:

α j = α j1 +(1 α j1 )ς, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacqaHXoqydaWgaaWcbaGaamOAaaqabaGccaaMe8Ua eyypa0JaeqySde2aaSbaaSqaaiaadQgacqGHsislcaaIXaaabeaaki aaysW7cqGHRaWkcaGGOaGaaGymaiaaysW7cqGHsislcqaHXoqydaWg aaWcbaGaamOAaiabgkHiTiaaigdaaeqaaOGaaiykaiabgwSixlabek 8awjaaykW7caGGSaaaaa@5933@ (20)

среднее значение цвета:

c j = c j1 υ, MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaacaWGJbWaaSbaaSqaaiaadQgaaeqaaOGaeyypa0Ja am4yamaaBaaaleaacaWGQbGaeyOeI0IaaGymaaqabaGccqGHflY1cq aHfpqDcaGGSaaaaa@4966@  (21)

где Cj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  новое значение цвета частиц, Cj-1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  предыдущее значение цвета частиц, αj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  новое значение непрозрачности, αj1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  предыдущее значение непрозрачности, cj MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  новое среднее значение цвета частиц, cj1 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  предыдущее среднее значение цвета частиц, id MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  вклад рассеянного освещения, is MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  вклад зеркального освещения, ς, σ, υ  MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  вклады сегмента луча.

Замечание. В случае таких материалов, как стекло, вклад зеркального освещения не умножается на непрозрачность, так как максимально пропускающие части объема без вклада непрозрачности могут иметь зеркальные отражения.

На рис. 3 показан алгоритм вычислений.

 

Рис. 3. Алгоритм визуализации.

 

Используются следующие буферы: буфер освещения, буфер направления света, буферы положения и направления луча обзора, буферы цвета и окружающей среды (рис. 3).

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

Шаг 2. Клиппирование функционально заданного объекта световой плоскостью, получение среза. Вычисляется контур F (x,y,z)=0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyypa0JaaGimaaaa@4627@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  точки на границе (воксели с нормалями) и F (x,y,z)>0 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbov2D09 MBdbqedmvETj2BSbqefm0B1jxALjhiov2DamXvP5Mu1n3CPfMBaeHb tngAV9gBc92BRnearqqtubsr4rNCHbGeaGqik81rpu0dbbf9q8WrFf euY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFL0dir=xcvk9FHe9v8qq aq=dir=f0=yqaqVeLsFr0=vr0=vr0db8meaabaqaciaacaGaaeqaba WaaqGafaaakeaaceWGgbGbauaacaGGOaGaamiEaiaacYcacaWG5bGa aiilaiaadQhacaGGPaGaeyOpa4JaaGimaaaa@4629@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  точки внутри объекта. Алгоритм приведен для одного среза, для остальных он повторяется.

Распространение света и лучей, исходящих от наблюдателя, выполняются с помощью программы фрагментного шейдера для каждой световой (клиппирующей) плоскости.

Шаг 3. Распространение света от предыдущей плоскости выполняется с использованием обратного интегрирования (формулы (15) и (16)). Моделируется направленный источник света.

Шаг 4. Фильтрация цвета и направления входящего света необходима, так как затенение будет становиться все более рассеянным по мере продвижения света от предыдущей плоскости. Используется ядро фильтрации, как описано в [20]. Это же ядро применяется для фильтрации направления лучей, чтобы устранить артефакты, вызванные обратным отображением.

Отфильтрованные цвет Lj1 и направление света dlj1 затем используются в уравнениях (15) и (16).

Шаг 5. Коррекция интенсивности света выполняется с использованием конечно-разностных функций графического процессора, то есть частных производных в пространстве экрана от пересечения светового луча с текущей и предыдущей клиппирующими плоскостями, поскольку современные графические процессоры имеют встроенные функции для вычисления этих производных.

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

Шаг 6. Вычисление нового цвета и показателя градиента преломления, который используется для обновления направления света. Новый цвет и направление света сохраняются в буферах.

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

Шаг 8. Вклады текущего сегмента луча извлекаются из таблиц предварительной интеграции и используются для вычисления новой непрозрачности, цвета частиц и среды. Направление луча обновляется с использованием градиента показателя преломления. Определяется пересечение луча со следующей световой плоскостью.

Шаг 9. Новые значения сохраняются в буферах.

Для отображения изображений использован OpenGL 4.5 с многослойными вложениями буфера кадра (в режиме Flip-Flop), синхронизацией и т.д. Геометрический шейдер указывает, какой слой вложения записывается. Режим Flip-Flop означает, что можно одновременно в одну часть памяти записывать, а из другой считывать данные. Используется также встроенный контроль за записями текстур и кешированием.

4. РЕЗУЛЬТАТЫ

Тестирование производилось на компьютере с процессором Intel Core i7-4930K OEM и графическом процессоре GeForce GTX 980 Ti. Изображения были визуализированы с разрешением 1024 × 768 пикселей.

На рис. 4а показана каустика от стеклянного эллипсоида на поверхность с диффузно-зеркальной составляющей α = 0,1. Диффузно-зеркальная составляющая поверхности изменяется от 1 (диффузная) до 0 (зеркальная). Параметр α определяет, является ли поверхность диффузной или зеркальной. Такая модель была представлена Шликом в [21]. Эта модель проста и обладает полезным свойством, заключающимся в том, что она обеспечивает непрерывный переход от ламбертовского отражения к глянцевому зеркальному отражению. На рис. 4б показан тот же объект, визуализированный с помощью метода [7], при этом некоторые детали внутренней структуры эллипсоида упущены.

 

Рис. 4. Слева: прозрачный эллипсоид с каустикой. Справа: тот же объект, визуализированный с помощью метода [7].

 

На рис. 5а (слева) показан объект с преломлением и сочетанием пропускающих и отражающих свойств материала. Рисунок демонстрирует сложные световые узоры каустики из-за изогнутой геометрии объекта. На рис. 5б показан тот же объект, визуализированный с помощью метода [7], который демонстрирует меньшее изгибание световых лучей.

 

Рис. 5. Слева: прозрачный объект с каустикой. Справа: тот же объект, визуализированный с помощью метода [7].

 

Рис. 6 демонстрирует важность преломления для внешнего вида прозрачных структур. В прозрачном сосуде содержится жидкость. Задаем различные показатели преломления для стекла и жидкости. Увеличиваем непрозрачность жидкости. Жидкость теперь поглощает большую часть поступающего света, в результате чего образуется темная тень, а внутри MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  каустика. Кроме того, становится виден рисунок, вызванный преломлением света.

 

Рис. 6. Слева: прозрачный сосуд с жидкостью и каустикой. Справа: тот же объект, визуализированный с помощью метода [7].

 

На рис. 6б показан тот же объект, визуализированный с помощью метода [7], на острых краях сосуда видны артефакты, которые уменьшаются с увеличением количества выборок.

В табл. 1 приведены показатели производительности алгоритма. Время указано в миллисекундах.

Как видно из таблицы, визуализация осуществляется в интерактивном режиме. Это стало возможно благодаря некоторым упрощениям.

 

Таблица 1. Время визуализации

Изображение

Разрешение по глубине в вокселях

Время визуализации.

Разрешение 640×480

Время визуализации.

Разрешение 800×600

Время визуализации.

Разрешение 1024×768

Рис. 4а

Рис. 5а

Рис. 6а

256

512

800

15 мс

60 мс

65 мс

26 мс

109 мс

126 мс

56 мс

176 мс

203 мс

 

В табл. 2 приведены времена вычисления этих изображений с помощью метода [7]. Время указано в минутах.

 

Таблица 2. Время визуализации метода [7]

Изображение

Время визуализации.

Разрешение 1024×768

Рис. 4б

Рис. 5б

Рис. 6б

1.2 мин.

3.3 мин.

4.8 мин.

 

В табл. 1 показаны данные для одного источника света, расположенного в том же полушарии, что и камера. Каждый новый источник освещения требует дополнительных вычислений, которые растут линейно. Рост дополнительного времени вычислений (ордината, в миллисекундах) показан на рис. 7.

 

Рис. 7. Дополнительное время вычислений.

 

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

Тем не менее предлагаемый метод имеет преимущества перед методами, использующими фотонные карты.

В работе [17] отмечено, что если важно уметь получать приближенное решение быстро, то можно использовать различные методы на основе фотонных карт [22]. Однако эти методы имеют недостатки, например, надо выбирать между сильно заниженной дискретизацией каустики и большим снижением скорости, чтобы использовать достаточное количество фотонов для каустики, чтобы получить качественные изображения.

В обзорной статье [23] представлен широкий ряд как интерактивных методов, использующих фотонные карты, так и методы нереального времени, которые включают в себя расширенные световые эффекты. Хотя было разработано много эффективных методов, они либо не поддерживают рефракцию [24], либо являются подходами нереального времени [25].

В статье [26] дан обзор прогрессивных методов переноса света, в том числе рассмотрены несколько подходов на основе фотонных карт, с применением графических процессоров. В ней исследованы три прогрессивных алгоритма, основанных на отображении фотонов, а именно, прогрессивное отображение фотонов (PPM), стохастическое прогрессивное отображение фотонов (SPPM) и прогрессивное двунаправленное отображение фотонов (PBPM). Общим элементом всех алгоритмов является оценка плотности, основанная на сборе фотонов в области с определенным радиусом от точки запроса. Рассмотрены три структуры данных, предназначенные для ускорения этого процесса: kD-дерево, полная хэш-сетка и стохастическая хэш-сетка. Авторы отмечают, что стандартная оценка плотности на глянцевых поверхностях дает результаты с шумом, который можно лишь уменьшить разными способами, но не устранить.

Поскольку и генерация фотонов, и запросы выполняются на графическом процессоре, важно, чтобы построение структуры данных также обрабатывалось графическим процессором, чтобы ограничить передачу данных из CPU в GPU.

Существуют следующие проблемы. Когда радиус значительно меньше размера ячейки, ячейка может содержать много фотонов, которые будут находиться за пределами радиуса запроса и отбрасываться. Или ячейка может содержать много фотонов, которые будут находиться за пределами диапазона запроса. Другая проблема связана с неравномерным количеством фотонов в каждой ячейке MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=rbiaaa@3A26@  например, поверхности, расположенные вблизи источников света, могут иметь значительно более высокую плотность фотонов. Это означает, что количество фотонов, обработанных в каждом запросе, может значительно отличаться, снижая эффективность графического процессора. Есть проблемы балансировки. На графическом процессоре все потоки ожидают, пока каждый поток не обработает все фотоны в своей текущей ячейке, прежде чем обрабатывать следующую ячейку. Это означает, что даже если общее количество фотонов одинаково во всех потоках, некоторые потоки не работают, в то время как другие все еще обрабатывают свои фотоны из данной ячейки.

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

5. ЗАКЛЮЧЕНИЕ

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

ИСТОЧНИК ФИНАНСИРОВАНИЯ

Работа выполнена при поддержке Министерства науки и высшего образования в рамках выполнения работ по Государственному заданию MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqef4uz3r3BUb acfaqcLbvaqaaaaaaaaaWdbiaa=zriaaa@3A29@  1023032300221-9-1.2.1 в ИАиЭ СО РАН.

×

About the authors

S. I. Vyatkin

Institute of Automation and Electrometry, Siberian Branch, Russian Academy of Sciences

Author for correspondence.
Email: sivser@mail.ru
ORCID iD: 0000-0002-1591-3588

Synthesizing Visualization Systems Laboratory

Russian Federation, Academician Koptyug Avenue, 1, Novosibirsk, 630090

B. S. Dolgovesov

Institute of Automation and Electrometry, Siberian Branch, Russian Academy of Sciences

Email: bsd@iae.nsk.su
ORCID iD: 0000-0002-6255-9315

Synthesizing Visualization Systems Laboratory

Russian Federation, Academician Koptyug Avenue, 1, Novosibirsk, 630090

References

  1. Wang X., Zhang R. Rendering transparent objects with caustics using real-time ray tracing, Comput. & Graph., 2021, vol. 96, no. 3. doi: 10.1016/j.cag.2021.03.003.
  2. Komarov E., Zhdanov D., Zhdanov A. Rendering the real-time caustics with DirectX raytracing, 31th Int. Conference on Computer Graphics and Vision (Graphicon-2021), pp. 36–47. doi: 10.20948/graphicon-2021-3027-36-47.
  3. Grittmann P., Pérard-Gayot A., Slusallek P., Krivanek J. Efficient caustic rendering with lightweight photon mapping, Comput. Graph. Forum, 2018, vol. 37, no. 4, pp. 133–142. doi: 10.1111/cgf.13481.
  4. Muller T., Gross M., Novak J. Practical path guiding for efficient light-transport simulation, Comput. Graph. Forum, 2017, vol. 36, no. 4, pp. 91–100. doi: 10.1111/cgf.13227.
  5. Rodriguez S., Leimkuhler T., Prakash S., Wyman C., Shirley P., Drettakis G. Glossy probe reprojection for interactive global illumination, ACM Trans. Graph., 2020, vol. 39, no. 6, pp. 1–16. doi: 10.1145/3414685.3417823.
  6. Kopanas G., Leimkuhler T., Rainer G., Jambon C. Drettakis G. Neural point catacaustics for novel-view synthesis of reflections, ACM Trans. Graph., 2022, vol. 41, no. 6, pp. 1–15. doi: 10.1145/3550454.3555497.
  7. Vyatkin S.I., Dolgovesov B.S. Highly Realistic Visualization of Caustics and Rough Surfaces, Program. Comput. Software, 2022, vol. 48, no. 5, pp. 322–330. doi: 10.31857/S0132347422050065.
  8. Haber J., Magnor M., Seidel H.P. Physically-based Simulation of Twilight Phenomena, ACM Trans. Graph., vol. 24, no. 4, 2005, pp. 1353–1373. doi: 10.1145/1095878.1095884.
  9. Vyatkin S.I., Dolgovesov B.S. Physically based rendering of functionally defined objects, Optoelectron., Instrum. Data Process., 2022, vol. 58, no. 3, pp. 291–297. doi: 10.15372/AUT20220311.
  10. Vyatkin S.I., Dolgovesov B.S. A Method for visualizing multivolume data and functionally defined surfaces using GPUs, Optoelectron., Instrum. Data Process., 2021, vol. 57, no. 2, pp. 32–40. doi: 10.15372/AUT20210204.
  11. Vyatkin S.I. Method of binary search for image elements of functionally defined objects using graphics processing units, Optoelectron., Instrum. Data Process., 2914, vol. 50, no. 6, pp. 606–612.
  12. Galtier M., Blanco S., Caliot C., et al. Integral formulation of null collision Monte Carlo algorithms, J. Quantitative Spectrosc. Radiative Transfer., 2013, vol. 125, pp. 57–68. doi: 10.1016/j.jqsrt.2013.04.001.
  13. Jensen H.W., Marschner S.R., Levoy M. A practical model for subsurface light transport, Proc. of the 28th annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH ‘01, New York: ACM, 2001, pp. 511–518. doi: 10.1145/383259.383319.
  14. Loube G., Zeltner T., Holzschuch N. Slope-space integrals for specular next event estimation, ACM Trans. Graph., 2020, vol. 39, no. 6. pp. 1–13. doi: 10.1145/3414685.3417811.
  15. Deng X., Jiao S., Bitterli B., Jarosz W. Photon surfaces for robust, unbiased volumetric density estimation”, ACM Trans. Graph., 2019, vol. 38, no. 4, pp. 1–12. doi: 10.1145/3306346.3323041.
  16. Bitterli B., Jarosz W. Beyond points and beams: Higher dimensional photon samples for volumetric light transport, ACM Trans. Graph., 2017, vol. 36, no. 4, pp. 1–12.
  17. Frolov V.A., Voloboy A.G., Ershov S.V., Galaktionov V.A. State-of-the art of methods for global illumination calculation in realistic computer graphics, Trudy ISP RAN, 2021, vol. 33, no. 2, pp. 7–48. doi:https://doi.org/10.15514/ISPRAS-2021-33(2)-1.
  18. Vyatkin S.I., Dolgovesov B.S. Functionally defined models for additive production, Issled. Innovatsii, Praktika, 2022, vol. 4, no. 4, pp. 16–25. doi: 10.18411/iip -08-2022-04.
  19. Lavoue G., Bonneel N., Farrugia J.-P., Soler C. Perceptual quality of BRDF approximations: Dataset and metrics, Comp. Graph. Forum, 2021, vol. 40, no. 2, pp. 327–338. doi: 10.1111/cgf.142636.
  20. Vyatkin S.I., Dolgovesov B.S. Smoothing functionally specified objects in scenes with global illumination, J. Adv. Res. Techn. Sci., 2022, no. 30, pp. 96–103. doi: 10.26160/2474-5901-2022-30-96-103.
  21. Schlick C. A Customizable reflectance model for everyday rendering, Proc. of the Fourth Eurographics Workshop on Rendering, 1993, pp. 73–84. Corpus ID: 18967314.
  22. Jensen H.W. Realistic Image Synthesis Using Photon Mapping, Natick, Mass.: Peters, 2001.
  23. Kang C-M., Wang L., Xu Y., Meng X. A survey of photon mapping state-of-the-art research and future challenges, Frontiers Inf. Technol. & Electron. Eng., 2016, vol. 17, no. 3, pp. 185–199. doi: 10.1631/FITEE.1500251.
  24. Fabianowski B., Dingliana J. Interactive global photon mapping, Comput. Graph. Forum, 2009, vol. 28, no. 4, pp. 1151–1159. http://dx.doi.org/10.1111/j.1467-8659.2009.01492.x.
  25. Pediredla A., Chalmiani Y.K., Scopelliti M.G., Chamanzar M., Narasimhan S. Path tracing estimators for refractive radiative transfer, ACM Trans. Graph., 2020, vol. 39, no. 6, pp. 1–15. doi: 10.1145/3414685.3417793.
  26. Davidovic T., Krivanek J., Hasan M., Slusallek P. Progressive light transport simulation on the GPU: Survey and improvements, ACM Trans. Graph., 2014, vol. 33, no. 3, pp. 1–19. http://dx.doi.org/10.1145/2602144.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Subsurface light scattering.

Download (60KB)
3. Fig. 2. The contribution of planes to the volume.

Download (95KB)
4. Fig. 3. The visualization algorithm.

Download (399KB)
5. Fig. 4. On the left: a transparent ellipsoid with caustics. On the right: the same object visualized using the method [7].

Download (265KB)
6. Fig. 5. On the left: a transparent object with caustics. On the right: the same object visualized using the method [7].

Download (354KB)
7. Fig. 6. On the left: a transparent vessel with liquid and caustic. On the right: the same object visualized using the method [7].

Download (387KB)
8. Fig. 7. Additional calculation time.

Download (133KB)

Copyright (c) 2024 Russian Academy of Sciences

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».