Трассировка лучей

Поделись знанием:
Перейти к: навигация, поиск

Трассировка лучей (англ. Ray tracing; рейтрейсинг) — один из методов геометрической оптики — исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).





Достоинства и недостатки текущих реализаций метода

Достоинства

  • возможность рендеринга гладких объектов без аппроксимации их полигональными поверхностями (например, треугольниками);
  • вычислительная сложность метода слабо зависит от сложности сцены;
  • высокая алгоритмическая распараллеливаемость вычислений — можно параллельно и независимо трассировать два и более лучей, разделять участки (зоны экрана) для трассирования на разных узлах кластера и т.д;
  • отсечение невидимых поверхностей, перспектива и корректное изменения поля зрения являются логическим следствием алгоритма.

Недостатки

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

Программное обеспечение

Свободное

Проприетарное

Напишите отзыв о статье "Трассировка лучей"

Ссылки

  • Дмитрий Чеканов. [www.thg.ru/graphic/ray_tracing_rasterization/onepage.html Метод трассировки лучей против растеризации: новое поколение качества графики?]. Tom's Hardware (7 сентября 2009 года). Проверено 7 сентября 2009. [www.webcitation.org/65Ihmj2Dn Архивировано из первоисточника 8 февраля 2012].
  • Лев Дымченко. [nvworld.ru/articles/ray_tracing/ Проблемы трассировки лучей — из будущего в реальное время] 6. [nvworld.ru Мир nVidia] (13 декабря 2009 года). Проверено 21 марта 2010. [www.webcitation.org/65ImQSML7 Архивировано из первоисточника 8 февраля 2012].
  • [software.intel.com/ru-ru/articles/interactive-ray-tracing/ Интерактивная трассировка лучей c использованием SIMD инструкций]  (рус.)
  • [www.ray-tracing.ru ray-tracing.ru] — Статьи по трассировке лучей + рейтрейсер на CUDA  (рус.)
  • [www.raytracingnews.org/ The Ray Tracing News] — короткие статьи и ссылки  (англ.)
  • [graphics.cs.uni-sb.de/RTGames/ Games using realtime raytracing]  (англ.)
  • [www.devmaster.net/articles/raytracing_series/part1.php Серия небольших руководств по построению эффективных программ на C++ для raytracing-а] на сайте DevMaster.net (англ.)

Программное обеспечение

  • [www.pbrt.org PBRT] — a Physically Based Raytracer
  • [jedi.ks.uiuc.edu/~johns/raytracer Tachyon]
  • [graphics.stanford.edu/~cek/rayshade Rayshade]
  • [openrt.de/ OpenRT] — realtime raytracing library
  • [www.bmsc.washington.edu/raster3d/raster3d.html Raster3D]
  • [graphics.stanford.edu/papers/i3dkdtree/ interactive kd-tree ray tracing] — Brook GPU realtime raytracing
  • [www.zemax.com/ Zemax]
  • [www.acm.org/tog/Software.html#ray More ray tracing source code links]



Отрывок, характеризующий Трассировка лучей

– Ведь сказал, что не отдам, – отвечал Денисов.
– Вы будете отвечать, ротмистр, это буйство, – у своих транспорты отбивать! Наши два дня не ели.
– А мои две недели не ели, – отвечал Денисов.
– Это разбой, ответите, милостивый государь! – возвышая голос, повторил пехотный офицер.
– Да вы что ко мне пристали? А? – крикнул Денисов, вдруг разгорячась, – отвечать буду я, а не вы, а вы тут не жужжите, пока целы. Марш! – крикнул он на офицеров.
– Хорошо же! – не робея и не отъезжая, кричал маленький офицер, – разбойничать, так я вам…
– К чог'ту марш скорым шагом, пока цел. – И Денисов повернул лошадь к офицеру.
– Хорошо, хорошо, – проговорил офицер с угрозой, и, повернув лошадь, поехал прочь рысью, трясясь на седле.
– Собака на забог'е, живая собака на забог'е, – сказал Денисов ему вслед – высшую насмешку кавалериста над верховым пехотным, и, подъехав к Ростову, расхохотался.
– Отбил у пехоты, отбил силой транспорт! – сказал он. – Что ж, не с голоду же издыхать людям?
Повозки, которые подъехали к гусарам были назначены в пехотный полк, но, известившись через Лаврушку, что этот транспорт идет один, Денисов с гусарами силой отбил его. Солдатам раздали сухарей в волю, поделились даже с другими эскадронами.
На другой день, полковой командир позвал к себе Денисова и сказал ему, закрыв раскрытыми пальцами глаза: «Я на это смотрю вот так, я ничего не знаю и дела не начну; но советую съездить в штаб и там, в провиантском ведомстве уладить это дело, и, если возможно, расписаться, что получили столько то провианту; в противном случае, требованье записано на пехотный полк: дело поднимется и может кончиться дурно».
Денисов прямо от полкового командира поехал в штаб, с искренним желанием исполнить его совет. Вечером он возвратился в свою землянку в таком положении, в котором Ростов еще никогда не видал своего друга. Денисов не мог говорить и задыхался. Когда Ростов спрашивал его, что с ним, он только хриплым и слабым голосом произносил непонятные ругательства и угрозы…
Испуганный положением Денисова, Ростов предлагал ему раздеться, выпить воды и послал за лекарем.
– Меня за г'азбой судить – ох! Дай еще воды – пускай судят, а буду, всегда буду подлецов бить, и госудаг'ю скажу. Льду дайте, – приговаривал он.
Пришедший полковой лекарь сказал, что необходимо пустить кровь. Глубокая тарелка черной крови вышла из мохнатой руки Денисова, и тогда только он был в состоянии рассказать все, что с ним было.
– Приезжаю, – рассказывал Денисов. – «Ну, где у вас тут начальник?» Показали. Подождать не угодно ли. «У меня служба, я зa 30 верст приехал, мне ждать некогда, доложи». Хорошо, выходит этот обер вор: тоже вздумал учить меня: Это разбой! – «Разбой, говорю, не тот делает, кто берет провиант, чтоб кормить своих солдат, а тот кто берет его, чтоб класть в карман!» Так не угодно ли молчать. «Хорошо». Распишитесь, говорит, у комиссионера, а дело ваше передастся по команде. Прихожу к комиссионеру. Вхожу – за столом… Кто же?! Нет, ты подумай!…Кто же нас голодом морит, – закричал Денисов, ударяя кулаком больной руки по столу, так крепко, что стол чуть не упал и стаканы поскакали на нем, – Телянин!! «Как, ты нас с голоду моришь?!» Раз, раз по морде, ловко так пришлось… «А… распротакой сякой и… начал катать. Зато натешился, могу сказать, – кричал Денисов, радостно и злобно из под черных усов оскаливая свои белые зубы. – Я бы убил его, кабы не отняли.