Трассировка пути

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

Трассировка пути (англ. path tracing) — методика рендеринга в компьютерной графике, которая стремится симулировать физическое поведения света настолько близко к реальному, насколько это возможно. Трассировка пути является продвинутым частным случаем традиционной трассировки лучей (англ. ray tracing), алгоритм которой трассирует лучи в направлении от виртуальной камеры сквозь пространство; луч «отскакивает» от предметов до тех пор, пока полностью не поглотится или рассеется. Качество изображений, получаемых при помощи метода трассировки пути, как правило, лучше, чем качество изображений, полученных другими методами рендеринга, однако трассировка пути требует гораздо больших затрат вычислительных ресурсов.

Трассировка пути является наиболее простым, наиболее точным с физической стороны и наиболее медленным по производительности методом рендеринга. Трассировка пути естественным способом воспроизводит множество оптических эффектов, которые тяжело достижимы или вообще недостижимы другими методиками рендеринга: построение теней, глубина резкости изображаемого пространства (англ. depth of field), шевелёнка (англ. motion blur), каустика, окружающее затенение и непрямое освещение. Осуществление этих оптических эффектов при помощи трассировки пути намного проще, чем при помощи других методик.

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

История

Уравнение рендеринга и его применение в компьютерной графике было представлено Джеймсом Кадзией (англ. James Kajiya) в 1986 году[1]. Эта презентация была первым описанием алгоритма трассировки пути. Позже в этом году Лафортюн (англ. Lafortune) предложил много усовершенствований алгоритма, в том числе путём двунаправленной трассировки пути[2].

Metropolis light transport[англ.], метод возмущений ранее найденных путей для увеличения производительности в сложных сценах, был представлен в 1997 году Эриком Вичем (англ. Eric Veach) и Леонидасом Гимбасом (англ. Leonidas J. Guibas)[3].

Через некоторое время графические процессоры достигли такого уровня развития, что смогли вызвать интерес к ним в плане перенесения на них расчётов трассировки пути. Тим Пюрселл (англ. Tim Purcell) в 2002 году первым представил алгоритм глобального освещения, который работал на графическом процессоре[4]. В 2009 году Владимир Койлазов продемонстрировал первую коммерческую реализацию алгоритма трассировки пути, работающую на графическом процессоре[5]. Этому способствовало созревание GPGPU-ориентированных инструментов программирования, таких как CUDA и OpenCL.

Описание

В реальном мире множество небольших порций света излучаются источниками света и распространяются по прямым линиям в виде лучей сквозь среду и от объекта к объекту, изменяя свой цвет и интенсивность. Это «путешествие» продолжается до тех пор, пока лучи не будут поглощены объектами, включая такие объекты, как человеческий глаз или камеру. Этот процесс распространения лучей симулируется трассировкой пути, за исключением того, что лучи трассируются наоборот, от виртуальной камеры (наблюдателя) к источнику света. Это сделано из-за того, что из тех лучей, которые исходят из источника света, лишь очень малая часть попадает на объектив виртуальной камеры, поэтому расчёт преимущественного большинства лучей никак не влияет на получаемое виртуальной камерой изображение.

Такое поведение математически описано в уравнении рендеринга. Данное уравнение пытается решить алгоритмы трассировки пути.

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

Псевдокод, реализующий трассировку пути, может выглядеть следующим образом:

  Color TracePath(Ray ray, count depth) {
    if (depth >= MaxDepth) {
      return Black;  // Bounced enough times.
    }

    ray.FindNearestObject();
    if (ray.hitSomething == false) {
      return Black;  // Nothing was hit.
    }

    Material material = ray.thingHit->material;
    Color emittance = material.emittance;

    // Pick a random direction from here and keep going.
    Ray newRay;
    newRay.origin = ray.pointWhereObjWasHit;

    // This is NOT a cosine-weighted distribution!
    newRay.direction = RandomUnitVectorInHemisphereOf(ray.normalWhereObjWasHit);

    // Probability of the newRay
    const float p = 1 / (2 * M_PI);

    // Compute the BRDF for this ray (assuming Lambertian reflection)
    float cos_theta = DotProduct(newRay.direction, ray.normalWhereObjWasHit);
    Color BRDF = material.reflectance / M_PI;

    // Recursively trace reflected light sources.
    Color incoming = TracePath(newRay, depth + 1);

    // Apply the Rendering Equation here.
    return emittance + (BRDF * incoming * cos_theta / p);
  }

  void Render(Image finalImage, count numSamples) {
    foreach (pixel in finalImage) {
      foreach (i in numSamples) {
        Ray r = camera.generateRay(pixel);
        pixel.color += TracePath(r, 0);
      }
      pixel.color /= numSamples;  // Average samples.
    }
  }

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

Двунаправленная трассировка лучей

Семплировать интеграл для точки можно с помощью двух независимых методов:

  • Обстрел лучами (Shooting rays) из источников света и создавать пути в сцене. Путь прерывается случайным числом шагов-отскоков луча. Затем свет направляется на проектируемый пиксель результирующего изображения. Во время этого метода рендеринга миллионы путей создаются и на изображении запоминаются результаты просчета путей, вносящих вклад.
  • Сбор лучей (Gathering rays) из точки на поверхности. Луч выстреливается сквозь пиксели изображения и скачет по сцене, пока не встретит на своём пути источник света. Свет из источника света тогда посылается по направлению пикселов изображения. Процесс создания пути называется «семплингом». Одна точка поверхности обычно получает от 800 семплов (до 3 тысяч). Финальная картинка переводится с помощью арифметических действий, не простым суммированием семплов.

Двунаправленная трассировка лучей комбинирует Shooting и Gathering в одном алгоритме и это даёт более быструю сходимость изображению (быстрее и меньше шума). Эти 2 метода генерации путей трассируются независимо и потом начало выстрелянного пути (shooting path) соединяется с хвостом пути сбора лучей (gathering path). Учитывается затухание света при каждом отскоке луча и запоминается в пикселях изображения. Эта техника кажется на первый взгляд парадоксально медленной, но это из-за того, что считается сразу 2 пути. На практике же — наоборот, дополнительная скорость сходимости изображения компенсирует замедления, возникающие из-за необходимости выпускать новые и новые лучи.

Для того, чтобы ускорить конвергенцию (сходимость, сближение) изображений, двунаправленные алгоритмы трассируют пути в обоих направлениях. В прямом направлении лучи трассируются от источника света до тех пор, пока они не станут настолько слабыми, что их нельзя будет увидеть, или пока не попадут на объектив виртуальной камеры. В обратном, то есть стандартном общепринятом направлении, лучи трассируются от виртуальной камеры до тех пор, пока они не столкнутся с источником света, или пока количество их отражений не превысит определённый предел. Такой подход обычно приводит к такому изображению, которое сходится гораздо быстрее, чем при использовании лишь одного направления.

Вич и Гуибас дали более точное описание двунаправленной трассировке пути[3]:

Эти методы генерируют два подпути: один — начиная от источника света, а второй — от объектива виртуальной камеры. Потом они <методы> рассматривают все пути, которые получены путём соединения каждого префикса одного подпути с каждым суффиксом другого подпути. Это ведёт к семейству различных важных методик выборки, которые затем комбинируются для минимизации расхождений.

Производительность

Трассировщик пути постоянно производит выборку (англ. sampling — семплинг) пикселей изображения. Изображение становится различаемым только тогда, когда проведено несколько выборок на один пиксель, вплоть до 100 выборок на пиксель. Как правило, для обычных изображений и для уменьшения цифрового шума до приемлемого уровня делают около 5000 выборок. Однако для патологических[англ.] случаев количество выборок становится намного больше. Процесс рендеринга может занять часы и дни в зависимости от сложности сцены и производительности аппаратного и программного обеспечения. Современные реализации графических процессоров обещают от 1 до 10 миллионов выборок в секунду, что делает возможным сгенерировать относительно бесшумное изображение приемлемого качества в течение нескольких секунд или минут. Цифровой шум создаёт особую проблему для анимации, создавая, как правило, нежелательный эффект «зернистости» изображения.

Группа методов Metropolis light transport[англ.] слегка изменяют ранее оттрассированные успешные пути и производит более важные для изображения выборки первыми. Это может привести к снижению шумности изображения и снижению количества выборок.

Довольно трудно справедливо оценить уровень производительности рендерера. Один подход заключается в подсчёте выборок (семплов) за секунду, другой подсчитывает количество путей, которые могут быть оттрассированными и добавленными к изображению за секунду. Результаты этих методов значительно варьируются в зависимости от сцены и зависят от «глубины пути», то есть от того, сколько раз лучу позволяется отразиться от объекта, прежде чем он будет остановлен. Результат измерения производительности также сильно зависит от используемого аппаратного обеспечения. Наконец, один рендерер может производить много низкокачественных выборок, тогда как другой может вывести финальное изображение быстрее, используя меньшее количество более высококачественных выборок.

Функции распределения рассеивания

Изображение функций распределения двунаправленного рассеивания

Отражающие способности поверхностей — количество отраженного света, его направление и цвет, — моделируются с использованием двулучевой функции отражательной способности. Эквивалентом перенесённого света (света, прошедшего через объект) является функция двунаправленного поверхностного рассеивания отражения (англ. Bidirectional scattering distribution function). Трассировщик пути может воспользоваться всеми преимуществами сложных, тщательно смоделированных или вычисленных функций распределения, которые определяют внешний вид («материал», «текстура» и «затенённость» в терминах компьютерной графики) объекта.

Примечания

  1. Kajiya, J T, The rendering equation Архивная копия от 6 октября 2012 на Wayback Machine, Proceedings of the 13th annual conference on Computer graphics and interactive techniques, ACM, 1986
  2. Lafortune, E, Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering Архивная копия от 24 апреля 2010 на Wayback Machine, (PhD thesis), 1996
  3. 1 2 Veach, E., and Guibas, L. J. Metropolis light transport Архивная копия от 16 мая 2017 на Wayback Machine. In SIGGRAPH’97 (August 1997), pp. 65–76.
  4. Purcell, T J; Buck, I; Mark, W; and Hanrahan, P, "Ray Tracing on Programmable Graphics Hardware", Proc. SIGGRAPH 2002, 703 - 712. See also Purcell, T, Ray tracing on a stream processor Архивная копия от 10 октября 2017 на Wayback Machine (PhD thesis), 2004
  5. Vray demo Архивная копия от 2 мая 2016 на Wayback Machine; Other examples include Octane Render, Arion, and Luxrender.

Ссылки

Read other articles:

Peta wilayah Vexaincourt. Vexaincourt merupakan sebuah komune di departemen Vosges yang terletak pada sebelah timur laut Prancis. Lihat pula Komune di departemen Vosges Referensi INSEE lbsKomune di departemen Vosges Les Ableuvenettes Ahéville Aingeville Ainvelle Allarmont Ambacourt Ameuvelle Anglemont Anould Aouze Arches Archettes Aroffe Arrentès-de-Corcieux Attignéville Attigny Aulnois Aumontzey Autigny-la-Tour Autreville Autrey Auzainvilliers Avillers Avrainville Avranville Aydoilles Bad...

 

Kenneth Vermeer Informasi pribadiTanggal lahir 10 Januari 1986 (umur 38)Tempat lahir Amsterdam, BelandaTinggi 1,82 m (5 ft 11+1⁄2 in)Posisi bermain Penjaga gawangInformasi klubKlub saat ini AFC AjaxNomor 1Karier junior1999 Neerlandia/SLTO1999–2005 AjaxKarier senior*Tahun Tim Tampil (Gol)2005– Ajax 66 (0)2007–2008 → Willem II (pinjaman) 16 (0)Tim nasional‡2006–2008 Belanda U-21 15 (0)2007–2008 Belanda U-23 9 (0)2012– Belanda 1 (0) * Penampilan dan gol...

 

Iing Syam Arifin Bupati Ciamis ke-41Masa jabatan6 April 2014 – 6 April 2019PresidenSusilo Bambang YudhoyonoJoko WidodoGubernurAhmad Heryawan Mochammad Iriawan (Pj.) Ridwan KamilWakilJeje Wiradinata (2014-2015)Oih Burhanudin (2016-2019) PendahuluEngkon KomaraPenggantiAsep Sudarman (Plh.) Herdiat Sunarya Informasi pribadiLahir26 Mei 1955 (umur 68)Tasikmalaya, Jawa BaratPartai politikPPP[1]HubunganAi Ellah RohilahAlma materAkademi Pemerintahan Dalam Negeri (APDN) Inst...

Questa voce o sezione sull'argomento meccanica è ritenuta da controllare. Motivo: La voce è stata moderatamente migliorata, ma rimangono da revisionare testo e fonti, le quali non rispondono quasi mai a criteri di rilevanza ed autorevolezza. L'impostazione è da manuale anziché da enciclopedia, la prosa è incomprensibile e viene dato troppo spazio a soluzioni di dubbia importanza. Partecipa alla discussione e/o correggi la voce. Il motore a due tempi è un tipo di motore a combustio...

 

Artikel ini bukan mengenai The Divorcee (film 1919). The DivorceePoster rilis layar lebarSutradaraRobert Z. LeonardProduserRobert Z. LeonardDitulis olehNick GrindeZelda SearsJohn MeehanBerdasarkanEx-Wifeoleh Ursula ParrottPemeranNorma ShearerChester MorrisPenata musikJack YellenMilton AgerSinematograferNorbert BrodinePenyuntingHugh WynnDistributorMetro-Goldwyn-MayerTanggal rilis 30 April 1930 (1930-04-30) (Amerika Serikat) Durasi84 menitNegaraAmerika SerikatBahasaInggris The Di...

 

Universitas Serambi MekkahJenisPerguruan Tinggi SwastaDidirikan21 Maret 1984RektorDr. H. Said Usman, M.KesLokasiKota Banda Aceh, Provinsi AcehSitus webhttp://www.serambimekkah.ac.id Universitas Serambi Mekkah adalah sebuah perguruan tinggi swasta yang terdapat di Kota Banda Aceh, Provinsi Aceh, Indonesia. Yayasan Pembangunan Serambi Mekkah (YPSM) didirikan pada tanggal 21 Maret 1984 oleh salah seorang pendiri negara Republik Indonesia (Pahlawan Nasional RI) yaitu DR. Mr. Haji Teuku Moehammad ...

French television detective series Les Petits Meurtres d'Agatha ChristieAlso known asThe Little Murders of Agatha Christie; Agatha Christie's Criminal GamesGenreComédie policière (comedic police crime drama)Created byAnne Giafferi Murielle MagellanBased onAgatha Christie's detective fictionStarringSeries One:Antoine DuléryMarius ColucciSeries Two:Samuel LabartheBlandine BellavoirÉlodie FrenckCountry of originFranceOriginal languageFrenchNo. of series3No. of episodes11 | 27ProductionProduc...

 

German preacher and theologian (c. 1489 – 1525) Thomas Muentzer redirects here. For the 1956 East German film, see Thomas Muentzer (film). Thomas MüntzerMüntzer, imagined in a 1608 engraving by Christoffel Van Sichem[a]Bornc. 1489Stolberg, County of Stolberg, Holy Roman EmpireDied27 May 1525 (aged 35–36)Free Imperial City of Mühlhausen, Holy Roman EmpireOccupation(s)Radical Reformation preacher, theologian, early ReformerSignature Part of a series on theReformati...

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

Satellite picture of extratropical cyclones south of Iceland. The following is a list of notable European windstorms. Windstorms Before 1800 Event Date Notes Grote Mandrenke (known as St Maury's wind in Ireland)[1] 15–16 January 1362 A southwesterly Atlantic gale swept across England, the Netherlands, northern Germany and southern Denmark, killing over 25,000 and changing the Dutch-German-Danish coastline. All Saints' Flood 1 November 1570 (11 November, New Style) [2] ...

 

Disambiguazione – Se stai cercando la guerra del XVI secolo, vedi Guerra di successione polacca (1587-1588). Questa voce o sezione sull'argomento conflitti non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Guerra di successione polaccaL'assedio di Danzica, tavola dipinta di un anonimo.Data1733 – 1738 Lu...

 

У этого термина существуют и другие значения, см. Чайки (значения). Чайки Доминиканская чайкаЗападная чайкаКалифорнийская чайкаМорская чайка Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:Вторич...

Hughes Aircraft CompanyLogo Stato Stati Uniti Fondazione1932 Fondata daHoward Hughes Chiusura1997 Sede principaleCulver City GruppoRaytheon Company Settoreaeronauticoaerospazialedifesa Prodottiaerei civili e militarisistemi d'arma Modifica dati su Wikidata · Manuale La Hughes Aircraft Company è stata una società aerospaziale e un'industria della difesa statunitense fondata nel 1932 dal regista e produttore cinematografico, nonché appassionato aviatore, Howard Hughes. La sede del...

 

Arabidopsis thaliana Klasifikasi ilmiah Kerajaan: Plantae (tanpa takson): Tracheophyta (tanpa takson): Angiospermae (tanpa takson): Eudikotil (tanpa takson): Rosid Ordo: Brassicales Famili: Brassicaceae Genus: Arabidopsis Spesies: A. thaliana Nama binomial Arabidopsis thaliana(L.) Heynh. Sinonim Arabis thaliana Arabidopsis thaliana adalah tanaman dari famili Brassicaceae yang dipilih menjadi tanaman yang paling sesuai untuk menjadi model studi perkembangan tanaman.[1] Seluruh ma...

 

إن حيادية وصحة هذه المقالة محلُّ خلافٍ. ناقش هذه المسألة في صفحة نقاش المقالة، ولا تُزِل هذا القالب من غير توافقٍ على ذلك. (نقاش) (نوفمبر 2020) القوات البرية الليبية شعار القوات البرية الليبية الدولة  ليبيا الإنشاء 1951 الانحلال 2011  النوع قوات برية الدور حرب برية الحجم 35,000 ج...

Wine making in the United Kingdom This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Wine from the United Kingdom – news · newspapers · books · scholar · JSTOR (September 2021) (Learn how and when to remove this message) A vineyard in Wyken An English wine, produced from vineyards in Kent The United Kingdom is ...

 

United States historic placeGambrill Storage BuildingU.S. National Register of Historic Places The building in 2017Show map of South DakotaShow map of the United StatesLocation822 Main Street, Rapid City, South DakotaCoordinates44°04′55″N 103°13′52″W / 44.08194°N 103.23111°W / 44.08194; -103.23111 (Gambrill Storage Building)Arealess than one acreBuilt1910Architectural styleRenaissanceNRHP reference No.84003379[1]Added to NRHP...

 

Jacques RivetteLahirJacques Pierre Louis Rivette(1928-03-01)1 Maret 1928Rouen, PrancisMeninggal29 Januari 2016(2016-01-29) (umur 87)Paris, PrancisSebab meninggalAlzheimerKebangsaanPrancisPekerjaanSutradara film, kritikus film, sutradara teaterTahun aktif1948–2009Dikenal atasParis nous appartientOut 1Celine and Julie Go BoatingLe Pont du NordLa Belle NoiseuseGerakan politikNouvelle VagueSuami/istriMarilù Parolini (bercerai)Véronique RivettePenghargaanTrofi SutherlandGrand P...

Voce principale: Unione Sportiva Massese 1919. Associazione Sportiva MasseseStagione 1975-1976Sport calcio Squadra Massese Allenatore Francesco Cipolli Presidente Vieri Rosati Serie C8º posto nel girone B. Maggiori presenzeCampionato: Neri, Orlandi (38) Miglior marcatoreCampionato: Borzoni (10) 1974-1975 1976-1977 Si invita a seguire il modello di voce Questa pagina raccoglie le informazioni riguardanti l'Associazione Sportiva Massese nelle competizioni ufficiali della stagione 1975-19...

 

Broadcasting non-profit Campbell Hall at the University of Illinois, home of Illinois Public Media Illinois Public Media, previously WILL AM-FM-TV, is a not-for-profit organization located within the College of Media at the University of Illinois Urbana-Champaign, which is responsible for the university's public media service activities. It manages three university educational broadcasting stations licensed to Urbana, Illinois, United States: NPR member stations WILL (580 AM) and WILL-FM (90....