stringtranslate.com

Рендеринг (компьютерная графика)

Различные методы рендеринга, применяемые к одной 3D-сцене
Изображение создано с помощью POV-Ray 3.6

Рендеринг или синтез изображений — это процесс создания фотореалистичного или нефотореалистичного изображения из 2D- или 3D-модели с помощью компьютерной программы . [ требуется цитата ] Полученное изображение называется рендерингом . Несколько моделей могут быть определены в файле сцены, содержащем объекты на строго определенном языке или структуре данных . Файл сцены содержит геометрию, точку обзора, текстуры , освещение и информацию о затенении , описывающую виртуальную сцену. Затем данные, содержащиеся в файле сцены, передаются в программу рендеринга для обработки и вывода в файл цифрового изображения или растрового графического изображения. Термин «рендеринг» аналогичен концепции впечатления художника от сцены. Термин «рендеринг» также используется для описания процесса расчета эффектов в программе видеоредактирования для получения конечного видеовывода.

Программное приложение или компонент , который выполняет рендеринг, называется движком рендеринга , [1] движком рендеринга , системой рендеринга , графическим движком или просто рендерером .

Рендеринг — одна из основных подтем 3D-компьютерной графики , и на практике она всегда связана с другими. Это последний важный шаг в графическом конвейере , придающий моделям и анимации их окончательный вид. С ростом сложности компьютерной графики с 1970-х годов она стала более отдельной темой.

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

Хотя технические детали методов рендеринга различаются, общие проблемы, которые необходимо преодолеть при создании 2D-изображения на экране из 3D-представления, сохраненного в файле сцены, обрабатываются графическим конвейером в устройстве рендеринга, таком как GPU . GPU — это специально созданное устройство, которое помогает CPU выполнять сложные расчеты рендеринга. Если сцена должна выглядеть относительно реалистично и предсказуемо при виртуальном освещении, программное обеспечение для рендеринга должно решить уравнение рендеринга . Уравнение рендеринга не учитывает все явления освещения, а вместо этого действует как общая модель освещения для изображений, сгенерированных компьютером.

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

Функции

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

Входы

Прежде чем визуализировать 3D-сцену или 2D-изображение, их необходимо описать таким образом, чтобы программное обеспечение для визуализации могло их понять. Исторически входные данные для 2D- и 3D-рендеринга обычно представляли собой текстовые файлы , которые проще редактировать и отлаживать, чем двоичные файлы для людей. Для 3D-графики текстовые форматы в значительной степени были вытеснены более эффективными двоичными форматами и API, которые позволяют интерактивным приложениям напрямую взаимодействовать с компонентом визуализации без создания файла на диске (хотя описание сцены обычно все еще создается в памяти перед визуализацией). [2] : 1.2, 3.2.6, 3.3.1, 3.3.7 

Традиционные алгоритмы рендеринга используют геометрические описания 3D-сцен или 2D-изображений. Приложения и алгоритмы, которые визуализируют данные , сканированные из реального мира, или научные симуляции , могут требовать различные типы входных данных.

Формат PostScript (который часто приписывают росту настольных издательских систем ) обеспечивает стандартизированный, совместимый способ описания 2D-графики и макета страницы . Формат масштабируемой векторной графики (SVG) также основан на тексте, а формат PDF использует язык PostScript внутри. Напротив, хотя многие форматы файлов 3D-графики были стандартизированы (включая текстовые форматы, такие как VRML и X3D ), различные приложения рендеринга обычно используют форматы, адаптированные к их потребностям, и это привело к распространению фирменных и открытых форматов, причем двоичные файлы являются более распространенными. [2] : 3.2.3, 3.2.5, 3.3.7  [3] : vii  [4] [5] : 16.5.2.  [6]

2D векторная графика

Описание векторного графического изображения может включать: [3] [4]

3D геометрия

Описание геометрической сцены может включать: [2] : Гл. 4-7, 8.7  [7]

Существует множество форматов файлов для хранения отдельных 3D-объектов или « моделей ». Их можно импортировать в большую сцену или загружать по требованию с помощью программного обеспечения для рендеринга или игр. Реалистичная сцена может потребовать сотни предметов, таких как предметы домашнего обихода, транспортные средства и деревья, и 3D-художники часто используют большие библиотеки моделей. В производстве игр эти модели (вместе с другими данными, такими как текстуры, аудиофайлы и анимация) называются « активами ». [6] [8] : Гл. 4 

Объемные данные

Научная и инженерная визуализация часто требует визуализации объемных данных, полученных с помощью 3D-сканирования или моделирования . Возможно, наиболее распространенным источником таких данных являются медицинские КТ и МРТ- сканы, которые необходимо визуализировать для диагностики. Объемные данные могут быть чрезвычайно большими и требуют специализированных форматов данных для их эффективного хранения, особенно если объем разреженный (с пустыми областями, не содержащими данных). [9] : 14.3.1  [10] [11]

Перед рендерингом наборы уровней для объемных данных могут быть извлечены и преобразованы в сетку треугольников, например, с помощью алгоритма марширующих кубов . Также были разработаны алгоритмы, которые работают напрямую с объемными данными, например, для рендеринга реалистичных изображений того, как свет рассеивается и поглощается облаками и дымом, и этот тип объемного рендеринга широко используется в визуальных эффектах для фильмов. При рендеринге объемных данных с низким разрешением без интерполяции могут быть видны отдельные кубы или « воксели », эффект, который иногда намеренно используется для игровой графики. [12] : 4.6  [9] : 13.10, Ch. 14, 16.1 

Фотограмметрия и сканирование

Фотографии объектов реального мира могут быть включены в визуализированную сцену, используя их в качестве текстур для 3D-объектов. Фотографии сцены также могут быть сшиты вместе для создания панорамных изображений или карт окружающей среды , которые позволяют визуализировать сцену очень эффективно, но только с одной точки зрения. Сканирование реальных объектов и сцен с использованием структурированного света или лидара создает облака точек , состоящие из координат миллионов отдельных точек в пространстве, иногда вместе с цветовой информацией. Эти облака точек могут быть либо визуализированы напрямую, либо преобразованы в сетки перед визуализацией. (Примечание: «облако точек» иногда также относится к минималистичному стилю визуализации, который может использоваться для любой 3D-геометрии, аналогично каркасной визуализации.) [9] : 13.3, 13.9  [2] : 1.3 

Нейронные аппроксимации и световые поля

Более поздний экспериментальный подход заключается в описании сцен с использованием полей сияния , которые определяют цвет, интенсивность и направление входящего света в каждой точке пространства. (Это концептуально похоже, но не идентично световому полю , записанному голограммой . ) Для любого полезного разрешения объем данных в поле сияния настолько велик, что его непрактично представлять непосредственно как объемные данные, и необходимо найти функцию аппроксимации . Нейронные сети обычно используются для генерации и оценки этих аппроксимаций, иногда с использованием видеокадров или коллекции фотографий сцены, сделанных под разными углами, в качестве « обучающих данных ». [13] [14]

Алгоритмы, связанные с нейронными сетями, недавно использовались для поиска приближений сцены в виде 3D-гауссианов . Полученное представление похоже на облако точек , за исключением того, что оно использует нечеткие, частично прозрачные пятна различных размеров и ориентаций вместо точек. Как и в случае с нейронными полями сияния , эти приближения часто генерируются из фотографий или видеокадров. [15]

Выходы

Результат рендеринга может быть немедленно отображен на экране (много раз в секунду в случае рендеринга в реальном времени, например, в играх) или сохранен в формате файла растровой графики , например JPEG или PNG . Высокопроизводительные приложения рендеринга обычно используют формат файла OpenEXR , который может представлять более тонкие градации цветов и освещение с высоким динамическим диапазоном , что позволяет впоследствии применять тональную компрессию или другие корректировки без потери качества. [16] [17] : Гл. 14, Ап. B 

Быстро отрендеренные анимации можно сохранять непосредственно в виде видеофайлов, но для высококачественного рендеринга отдельные кадры (которые могут быть отрендерены разными компьютерами в кластере или ферме рендеринга и на их отрисовку могут уйти часы или даже дни) выводятся в виде отдельных файлов и позже объединяются в видеоклип. [18] [8] : 1.5, 3.11, 8.11 

Выходные данные рендерера иногда включают в себя не только значения цвета RGB . Например, спектр может быть выбран с использованием нескольких длин волн света, или может быть включена дополнительная информация, такая как глубина (расстояние от камеры) или материал каждой точки изображения (эти данные могут использоваться во время композитинга или при создании текстурных карт для рендеринга в реальном времени, или использоваться для удаления шума из изображения с трассировкой пути). Может быть включена информация о прозрачности, что позволяет компоновать визуализированные объекты переднего плана с фотографиями или видео. Иногда также полезно сохранять вклады различных источников света или зеркального и рассеянного освещения в виде отдельных каналов, чтобы освещение можно было настроить после рендеринга. Формат OpenEXR позволяет хранить множество каналов данных в одном файле. [16] [17] : Ch. 14, Ap. B 

Методы

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

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

2D векторная графика
Векторные дисплеи 1960-1970-х годов использовали отклонение электронного луча для рисования отрезков линий непосредственно на экране. В настоящее время векторная графика визуализируется с помощью алгоритмов растеризации , которые также поддерживают заполненные формы. В принципе, любой рендерер 2D-векторной графики может использоваться для визуализации 3D-объектов, сначала проецируя их на плоскость 2D-изображения. [20] : 93, 431, 505, 553 
3D растеризация
Адаптирует алгоритмы 2D-растеризации, чтобы их можно было использовать более эффективно для 3D-рендеринга, обрабатывая удаление скрытых поверхностей с помощью техник сканлайна или z-буфера . Различные реалистичные или стилизованные эффекты могут быть получены путем окрашивания пикселей, покрытых объектами, разными способами. Поверхности обычно делятся на сетки треугольников перед растеризацией. Растеризация обычно является синонимом рендеринга «порядка объектов» (как описано выше). [20] : 560-561, 575-590  [2] : 8.5  [19] : Гл. 9 
Лучевое литье
Использует геометрические формулы для вычисления первого объекта, который пересекает луч . [21] : 8  Его можно использовать для реализации рендеринга «порядка изображений» путем проецирования луча для каждого пикселя и поиска соответствующей точки на сцене. Проецирование лучей — это фундаментальная операция, используемая как для графических, так и для неграфических целей, [22] : 6  например, для определения того, находится ли точка в тени, или проверки того, что видит враг в игре .
Трассировка лучей
Имитирует отскакивающие пути света, вызванные зеркальным отражением и преломлением , требуя различного количества операций луча для каждого пути. Расширенные формы используют методы Монте-Карло для визуализации таких эффектов, как площадные источники света, глубина резкости , размытые отражения и мягкие тени , но вычисление глобального освещения обычно находится в области трассировки пути. [21] : 9-13  [23]
Радиосити
Подход анализа конечных элементов , который разбивает поверхности в сцене на части и оценивает количество света, которое каждая часть получает от источников света или косвенно от других поверхностей. Как только освещенность каждой поверхности известна, сцену можно визуализировать с помощью растеризации или трассировки лучей. [24] : 888-890, 1044-1045 
Трассировка пути
Использует интеграцию Монте-Карло с упрощенной формой трассировки лучей, вычисляя среднюю яркость выборки возможных путей, которые может пройти фотон при движении от источника света к камере (для некоторых изображений необходимо отбирать тысячи путей на пиксель [22] : 8  ). Он был представлен как статистически беспристрастный способ решения уравнения рендеринга , давая трассировке лучей строгую математическую основу. [25] [21] : 11-13 

Каждый из вышеперечисленных подходов имеет множество вариаций, и есть некоторые совпадения. Трассировка пути может рассматриваться как отдельная техника или особый тип трассировки лучей. [24] : 846, 1021  Обратите внимание, что использование терминологии, связанной с трассировкой лучей и трассировкой пути, значительно изменилось с течением времени. [21] : 7 

Визуализация фрактального ландшафта с помощью ray marching

Ray marching — это семейство алгоритмов, используемых при ray casting для поиска пересечений между лучом и сложным объектом, таким как объемный набор данных или поверхность, определяемая функцией расстояния со знаком . Это не метод рендеринга сам по себе, но он может быть включен в трассировку лучей и трассировку пути, и используется при растеризации для реализации отражения в пространстве экрана и других эффектов. [21] : 13 

Метод, называемый картированием фотонов, отслеживает пути фотонов от источника света до объекта, накапливая данные об освещенности , которые затем используются во время обычной трассировки лучей или трассировки пути. [24] : 1037-1039  Визуализация сцены с использованием только лучей, трассируемых от источника света до камеры, непрактична, хотя это и более близко соответствует реальности, поскольку необходимо смоделировать огромное количество фотонов, лишь малая часть которых фактически попадает в камеру. [26] : 7-9  [20] : 587 

Некоторые авторы называют обычную трассировку лучей «обратной» трассировкой лучей, поскольку она отслеживает пути фотонов в обратном направлении от камеры к источнику света, а следование путям от источника света (как в картировании фотонов) называют «прямой» трассировкой лучей. [26] : 7-9  Однако иногда значение этих терминов меняется на противоположное. [27] Трассировка лучей, начинающихся от источника света, также может называться трассировкой частиц или трассировкой света , что позволяет избежать этой двусмысленности. [28] : 92  [29] : 4.5.4 

Рендеринг в реальном времени, включая графику видеоигр, обычно использует растеризацию, но все чаще комбинирует ее с трассировкой лучей и трассировкой пути. [22] : 2  Чтобы обеспечить реалистичное глобальное освещение , рендеринг в реальном времени часто полагается на предварительно отрендеренное («запеченное») освещение для неподвижных объектов. Для движущихся объектов он может использовать технику, называемую световыми зондами , в которой освещение записывается путем рендеринга всенаправленных видов сцены в выбранных точках пространства (часто точек на сетке, чтобы упростить интерполяцию ). Они похожи на карты окружения , но обычно используют очень низкое разрешение или приближение, такое как сферические гармоники . [30] (Примечание: Blender использует термин «световые зонды» для более общего класса предварительно записанных данных освещения, включая карты отражения. [31] )

Растеризация

Визуализация чрезвычайно большого телескопа

Термин «растеризация» (в широком смысле) охватывает множество методов, используемых для 2D-рендеринга и 3D-рендеринга в реальном времени . 3D- мультфильмы визуализировались с помощью растеризации до того, как трассировка лучей и трассировка пути стали практичными.

Рендерер объединяет растеризацию с обработкой геометрии (которая не является специфичной для растеризации) и обработкой пикселей , которая вычисляет значения цвета RGB , которые помещаются в буфер кадра для отображения. [9] : 2.1  [19] : 9 

Основными задачами растеризации (включая обработку пикселей) являются: [9] : 2, 3.8, 23.1.1 

3D-растеризация обычно является частью графического конвейера , в котором приложение предоставляет списки треугольников для рендеринга, а система рендеринга преобразует и проецирует их координаты, определяет, какие треугольники потенциально видны в области просмотра , и выполняет указанные выше задачи растеризации и обработки пикселей перед отображением конечного результата на экране. [9] : 2.1  [19] : 9 

Исторически 3D-растеризация использовала алгоритмы, такие как алгоритм Уорнока и рендеринг сканлайна (также называемый «скан-преобразованием»), которые могут обрабатывать произвольные полигоны и могут растеризовать множество фигур одновременно. Хотя такие алгоритмы по-прежнему важны для 2D-рендеринга, 3D-рендеринг теперь обычно делит фигуры на треугольники и растеризует их по отдельности, используя более простые методы. [32] [33] [20] : 456, 561–569 

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

После проецирования 3D-координат на плоскость изображения растеризация в первую очередь является 2D-проблемой, но 3-е измерение требует удаления скрытых поверхностей . Ранняя компьютерная графика использовала геометрические алгоритмы или ray casting для удаления скрытых частей фигур или использовала алгоритм художника , который сортирует фигуры по глубине (расстоянию от камеры) и визуализирует их сзади вперед. Сортировка по глубине позже была исключена путем включения сравнения глубины в алгоритм визуализации строк сканирования . Алгоритм z-буфера выполняет сравнения косвенно, включая глубину или значение «z» в буфер кадра . Пиксель покрывается фигурой только в том случае, если значение z этой фигуры ниже (указывая на близость к камере), чем текущее значение z в буфере. Z-буфер требует дополнительной памяти (дорогой ресурс на момент его изобретения), но упрощает код растеризации и допускает несколько проходов. Память теперь быстрее и ее больше, а z-буфер почти всегда используется для рендеринга в реальном времени. [35] [36] [20] : 553–570  [9] : 2.5.2 

Недостатком базового алгоритма z-буфера является то, что каждый пиксель либо полностью покрывается одним объектом, либо заполняется фоновым цветом, что приводит к появлению неровных краев на конечном изображении. Ранние подходы к сглаживанию решали эту проблему путем обнаружения частичного покрытия пикселя формой и вычисления покрытой области. A-буфер (и другие методы субпиксельной и множественной выборки ) решают проблему менее точно, но с более высокой производительностью. Для 3D-графики в реальном времени стало обычным использовать сложные эвристики (и даже нейронные сети ) для выполнения сглаживания. [36] [37] [19] : 9.3  [9] : 5.4.2 

В 3D-растеризации цвет обычно определяется пиксельным шейдером или фрагментным шейдером , небольшой программой, которая запускается для каждого пикселя. Шейдер не имеет (или не может) прямого доступа к 3D-данным для всей сцены (это было бы очень медленно и привело бы к алгоритму, похожему на трассировку лучей), и были разработаны различные методы для рендеринга эффектов, таких как тени и отражения, с использованием только текстурного отображения и нескольких проходов. [19] : 17.8 

Более старые и более простые реализации 3D-растеризации не поддерживали шейдеры и использовали простые методы затенения, такие как плоское затенение (освещение вычисляется один раз для каждого треугольника, который затем визуализируется полностью в одном цвете), затенение Гуро (освещение вычисляется с использованием векторов нормалей, определенных в вершинах, а затем цвета интерполируются по каждому треугольнику) или затенение Фонга (векторы нормалей интерполируются по каждому треугольнику, а освещение вычисляется для каждого пикселя). [19] : 9.2 

До недавнего времени Pixar использовала растеризацию для рендеринга своих анимационных фильмов . В отличие от рендереров, обычно используемых для графики в реальном времени, система рендеринга Reyes в программном обеспечении RenderMan от Pixar была оптимизирована для рендеринга очень маленьких (размером с пиксель) полигонов и включала методы стохастической выборки, которые обычно ассоциируются с трассировкой лучей . [2] : 2, 6.3  [38]

Лучевое литье

Один из самых простых способов визуализации 3D-сцены — это проверка пересечения луча , начинающегося в точке обзора («глаз» или «камера»), с любой геометрической фигурой в сцене, повторяя этот тест, используя другое направление луча для каждого пикселя. Этот метод, называемый ray casting , был важен в ранней компьютерной графике и является фундаментальным строительным блоком для более сложных алгоритмов. Ray casting может использоваться для визуализации фигур, определенных операциями конструктивной твердотельной геометрии (CSG). [21] : 8-9  [39] : 246–249 

Ранние эксперименты по отбрасыванию лучей включают работу Артура Аппеля в 1960-х годах. Аппель визуализировал тени, отбрасывая дополнительный луч от каждой видимой точки поверхности к источнику света. Он также пытался визуализировать плотность освещения, отбрасывая случайные лучи от источника света к объекту и нанося точки пересечения (аналогично более поздней технике, называемой фотонным отображением ). [40]

Метод Ray marching можно использовать для поиска первого пересечения луча со сложной формой, например, с этим фракталом Мандельбульба .

При рендеринге сцен, содержащих много объектов, проверка пересечения луча с каждым объектом становится очень дорогой. Специальные структуры данных используются для ускорения этого процесса, позволяя быстро исключать большое количество объектов (например, объекты за камерой). Эти структуры аналогичны индексам базы данных для поиска соответствующих объектов. Наиболее распространенными являются иерархия ограничивающего объема (BVH), которая хранит предварительно вычисленный ограничивающий прямоугольник или сферу для каждой ветви дерева объектов, и дерево kd , которое рекурсивно делит пространство на две части. Современные графические процессоры включают аппаратное ускорение для тестов пересечения BVH. Деревья kd являются особым случаем двоичного разбиения пространства , которое часто использовалось в ранней компьютерной графике (оно также может генерировать порядок растеризации для алгоритма художника ). Октодеревья , еще один исторически популярный метод, по-прежнему часто используются для объемных данных. [22] : 16–17  [41] [39] [5] : 36.2 

Геометрических формул достаточно для нахождения пересечения луча с такими фигурами, как сферы , многоугольники и многогранники , но для большинства криволинейных поверхностей нет аналитического решения , или пересечение трудно вычислить точно с использованием чисел с плавающей точкой ограниченной точности . Иногда можно использовать алгоритмы поиска корней , такие как метод Ньютона . Чтобы избежать этих осложнений, криволинейные поверхности часто аппроксимируются как сетки треугольников . Объемный рендеринг (например, рендеринг облаков и дыма) и некоторые поверхности, такие как фракталы , могут потребовать ray marching вместо базового ray casting. [42] [21] : 13  [9] : 14, 17.3 

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

Спиральная сфера и Джулия, деталь , компьютерное изображение, созданное визуальным художником Робертом У. МакГрегором с использованием только POV-Ray 3.6 и его встроенного языка описания сцен.

Ray casting можно использовать для визуализации изображения путем трассировки световых лучей в обратном направлении от имитируемой камеры. После нахождения точки на поверхности, где возник луч, другой луч трассируется к источнику света, чтобы определить, отбрасывает ли что-либо тень на эту точку. Если нет, то модель отражения (например, модель отражения Ламберта для матовых поверхностей или модель отражения Фонга для глянцевых поверхностей) используется для вычисления вероятности того, что фотон, прибывающий из источника света, будет отражен в сторону камеры, и это умножается на яркость света для определения яркости пикселя. Если имеется несколько источников света, вклад яркости источников света суммируется. Для цветных изображений вычисления повторяются для нескольких длин волн света (например, красного, зеленого и синего). [9] : 11.2.2  [21] : 8 

Классическая трассировка лучей (также называемая Whitted-style или рекурсивной трассировкой лучей) расширяет этот метод, так что он может визуализировать зеркала и прозрачные объекты. Если луч, трассируемый назад от камеры, исходит из точки на зеркале, формула отражения из геометрической оптики используется для вычисления направления, откуда пришел отраженный луч, и другой луч отбрасывается назад в этом направлении. Если луч исходит от прозрачной поверхности, лучи отбрасываются назад как для отраженных , так и для преломленных лучей (используя закон Снеллиуса для вычисления преломленного направления), и поэтому трассировка лучей должна поддерживать ветвящееся «дерево» лучей. В простых реализациях для трассировки каждого луча вызывается рекурсивная функция . [9] : 11.2.2  [21] : 9 

Трассировка лучей обычно выполняет сглаживание , беря среднее значение нескольких образцов для каждого пикселя. Она также может использовать несколько образцов для таких эффектов, как глубина резкости и размытость движения . Если для каждой из этих функций используются равномерно распределенные направления лучей или время, требуется много лучей, и некоторое сглаживание останется. Трассировка лучей в стиле Кука , стохастическая или Монте-Карло избегает этой проблемы, используя случайную выборку вместо равномерно распределенных образцов. Этот тип трассировки лучей обычно называют распределенной трассировкой лучей или трассировкой лучей распределения , потому что она выбирает лучи из распределений вероятностей . Распределенная трассировка лучей также может отображать реалистичные «мягкие» тени от больших источников света, используя случайную выборку точек на источнике света при проверке на затенение, и она может имитировать хроматическую аберрацию , выбирая несколько длин волн из спектра света . [21] : 10  [26] : 25 

Реальные поверхностные материалы отражают небольшое количество света почти в каждом направлении, поскольку они имеют небольшие (или микроскопические) выпуклости и канавки. Трассировщик лучей распределения может имитировать это, выбирая возможные направления лучей, что позволяет визуализировать размытые отражения от глянцевых и металлических поверхностей. Однако, если эта процедура повторяется рекурсивно для имитации реалистичного непрямого освещения, и если в каждой точке поверхности берется более одного образца, дерево лучей быстро становится огромным. Другой вид трассировки лучей, называемый трассировкой пути , обрабатывает непрямой свет более эффективно, избегая ветвления и гарантирует, что распределение всех возможных путей от источника света до камеры выбирается беспристрастным образом. [26] : 25–27  [25]

Трассировка лучей часто использовалась для рендеринга отражений в анимационных фильмах, пока трассировка пути не стала стандартом для рендеринга фильмов. Такие фильмы, как «Шрек 2» и «Университет монстров», также использовали трассировку лучей распределения или трассировку пути для предварительного вычисления непрямого освещения для сцены или кадра перед его рендерингом с использованием растеризации. [43] : 118–121 

Достижения в области технологий графических процессоров сделали трассировку лучей в реальном времени возможной в играх, хотя в настоящее время она почти всегда используется в сочетании с растеризацией. [22] : 2  Это позволяет создавать визуальные эффекты, которые трудно реализовать только с помощью растеризации, включая отражение от изогнутых поверхностей и взаимно отражающих объектов, [44] : 305  и тени, которые точны в широком диапазоне расстояний и ориентаций поверхности. [45] : 159-160  Поддержка трассировки лучей включена в последние версии графических API, используемых в играх, таких как DirectX , Metal и Vulkan . [46]

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

Радиосити

Классическая демонстрация излучательности. Поверхности разделены на ячейки 16x16 или 16x32. Вверху: только прямой свет. Внизу: решение излучательности (для альбедо 0,85).
Вверху: та же сцена с более мелкой сеткой излучения, сглаживание заплаток во время финального рендеринга с использованием билинейной интерполяции . Внизу: сцена, визуализированная с трассировкой пути (с использованием рендерера PBRT).

Излучение (названное в честь радиометрической величины с тем же названием ) — это метод рендеринга объектов, освещенных светом, отражающимся от шероховатых или матовых поверхностей . Этот тип освещения называется непрямым светом , освещением окружающей среды или диффузным освещением , а проблема его реалистичной визуализации называется глобальным освещением . Растеризация и основные формы трассировки лучей (кроме трассировки лучей распределения и трассировки пути) могут лишь приблизительно аппроксимировать непрямой свет, например, путем добавления равномерного количества «окружающего» освещения, выбранного художником. Методы излучения также подходят для рендеринга сцен с площадным освещением , таким как прямоугольные панели флуоресцентного освещения, которые трудно растеризовать и традиционную трассировку лучей. Излучение считается физически обоснованным методом , то есть он направлен на имитацию потока света в среде с использованием уравнений и экспериментальных данных из физики, однако он часто предполагает, что все поверхности непрозрачны и идеально ламбертовы , что снижает реализм и ограничивает его применимость. [9] : 10, 11.2.1  [24] : 888, 893  [49]

В оригинальном методе излучательности (впервые предложенном в 1984 году), который теперь называется классическим излучателем , поверхности и источники света в сцене разбиваются на части, называемые патчами , этот процесс называется сеткой (этот шаг делает его методом конечных элементов ). Затем код рендеринга должен определить, какая часть света, излучаемого или диффузно отражаемого (рассеиваемого) каждым патчем, принимается каждым другим патчем. Эти части называются форм-факторами или факторами вида (впервые использовались в инженерии для моделирования лучистого теплообмена ). Форм-факторы умножаются на альбедо принимающей поверхности и помещаются в матрицу . Затем освещение в сцене можно выразить в виде матричного уравнения (или, что эквивалентно, системы линейных уравнений ), которое можно решить методами линейной алгебры . [49] [50] : 46  [24] : 888, 896 

Решение уравнения излучательности дает общее количество света, излучаемого и отражаемого каждым патчем, которое делится на площадь, чтобы получить значение, называемое излучательностью , которое может использоваться при растеризации или трассировке лучей для определения цвета пикселей, соответствующих видимым частям патча. Для рендеринга в реальном времени это значение (или, чаще, освещенность , которая не зависит от локального альбедо поверхности) может быть предварительно вычислено и сохранено в текстуре (называемой картой освещенности ) или сохранено как данные вершин для 3D-моделей. Эта функция использовалась в программном обеспечении для архитектурной визуализации, чтобы обеспечить возможность обхода интерьера здания в реальном времени после расчета освещения. [24] : 890  [9] : 11.5.1  [51] : 332 

Большой размер матриц, используемых в классической излучательности (квадрат числа участков), вызывает проблемы для реалистичных сцен. Практические реализации могут использовать итерации Якоби или Гаусса-Зейделя , что эквивалентно (по крайней мере, в случае Якоби) моделированию распространения света по одному отскоку за раз, пока количество оставшегося света (еще не поглощенного поверхностями) не станет незначительным. Количество требуемых итераций (отскоков) зависит от сцены, а не от количества участков, поэтому общая работа пропорциональна квадрату числа участков (по сравнению с кубом для гауссовского исключения ). Форм-факторы могут быть пересчитаны, когда они необходимы, чтобы избежать хранения полной матрицы в памяти. [24] : 901, 907 

Качество рендеринга часто определяется размером патчей, например, для точного отображения краев теней требуются очень мелкие сетки. Важным усовершенствованием является иерархическая излучательность , которая использует более грубую сетку (большие патчи) для имитации передачи света между поверхностями, которые находятся далеко друг от друга, и адаптивно подразделяет патчи по мере необходимости. Это позволяет использовать излучательность для гораздо более крупных и сложных сцен. [24] : 975, 939 

Альтернативные и расширенные версии метода излучательности поддерживают неламбертовские поверхности, такие как глянцевые поверхности и зеркала, и иногда используют объемы или «кластеры» объектов, а также участки поверхности. Стохастическая или излучательность Монте-Карло использует случайную выборку различными способами, например, взятие образцов падающего света вместо интегрирования по всем участкам, что может улучшить производительность, но добавляет шум (этот шум можно уменьшить, используя детерминированные итерации в качестве конечного шага, в отличие от шума трассировки пути). Упрощенные и частично предварительно вычисленные версии излучательности широко используются для рендеринга в реальном времени в сочетании с такими методами, как излучательность октодерева , которые хранят приближения светового поля . [24] : 979, 982  [50] : 49  [52] [9] : 11.5 

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

В рамках подхода, известного как физически обоснованный рендеринг , трассировка пути стала доминирующей техникой для рендеринга реалистичных сцен, включая эффекты для фильмов. [53] Например, популярное программное обеспечение для 3D-графики с открытым исходным кодом Blender использует трассировку пути в своем рендерере Cycles. [54] Изображения, полученные с использованием трассировки пути для глобального освещения , как правило, более шумные, чем при использовании излучательности (основного конкурирующего алгоритма для реалистичного освещения), но излучательность может быть трудно применима к сложным сценам и подвержена артефактам, которые возникают из-за использования мозаичного представления освещенности . [53] [24] : 975-976, 1045 

Как и распределенная трассировка лучей , трассировка пути является разновидностью стохастической или рандомизированной трассировки лучей , которая использует интеграцию Монте-Карло или квази-Монте-Карло . Она была предложена и названа в 1986 году Джимом Каджией в той же статье, что и уравнение рендеринга . Каджийя заметил, что большую часть сложности распределенной трассировки лучей можно было бы избежать, если бы трассировка была только одной траектории от камеры за раз (в реализации Каджии это правило «отсутствия ветвления» было нарушено путем трассировки дополнительных лучей от каждой точки пересечения поверхностей до случайно выбранных точек на каждом источнике света). Каджийя предложил уменьшить шум, присутствующий в выходных изображениях, с помощью стратифицированной выборки и выборки по важности для принятия случайных решений, таких как выбор луча для следования на каждом этапе пути. Даже с этими методами трассировка пути была бы непрактичной для рендеринга фильмов с использованием доступных в то время компьютеров, поскольку вычислительные затраты на генерацию достаточного количества выборок для снижения дисперсии до приемлемого уровня были слишком высоки. «Дом-монстр» , первый художественный фильм, полностью созданный с использованием трассировки пути, был выпущен лишь 20 лет спустя. [25] [53] [55]

В своей базовой форме трассировка пути неэффективна (требует слишком много образцов) для рендеринга каустики и сцен, где свет проникает непрямо через узкие пространства. Попытки устранить эти недостатки были предприняты в 1990-х годах. Двунаправленная трассировка пути имеет сходство с фотонным картированием , трассируя лучи от источника света и камеры по отдельности, а затем находя способы соединить эти пути (но в отличие от фотонного картирования она обычно выбирает новые пути света для каждого пикселя, а не использует одни и те же кэшированные данные для всех пикселей). Транспорт света Metropolis выбирает пути, изменяя пути, которые были ранее отслежены, тратя больше времени на исследование путей, которые похожи на другие «яркие» пути, что увеличивает вероятность обнаружения еще более ярких путей. Выборка множественной важности обеспечивает способ уменьшения дисперсии при объединении образцов из более чем одного метода выборки, особенно когда некоторые образцы намного шумнее других. [53] [28]

Эта более поздняя работа была обобщена и расширена в докторской диссертации Эрика Вича 1997 года, которая помогла повысить интерес к трассировке пути в сообществе компьютерной графики. Рендерер Arnold , впервые выпущенный в 1998 году, доказал, что трассировка пути была практична для рендеринга кадров для фильмов, и что в киноиндустрии существовал спрос на беспристрастный и физически обоснованный рендеринг; начали появляться другие коммерческие и открытые рендереры трассировки пути. Вычислительная стоимость была решена быстрым прогрессом в производительности ЦП и кластера . [53]

Относительная простота трассировки пути и ее природа как метода Монте-Карло (выборка сотен или тысяч путей на пиксель) сделали ее привлекательной для реализации на графическом процессоре , особенно на последних графических процессорах, поддерживающих технологию ускорения трассировки лучей, таких как RTX и OptiX от Nvidia . [56] Однако двунаправленную трассировку пути и транспортировку света Metropolis сложнее эффективно реализовать на графическом процессоре. [57] [58]

Исследования по улучшению трассировки пути продолжаются. Последние подходы к управлению путем создают аппроксимации распределения вероятности светового поля в каждом объеме пространства, поэтому пути могут быть выбраны более эффективно. [59] Было разработано много методов для шумоподавления выходных данных трассировки пути, уменьшая количество путей, необходимых для достижения приемлемого качества, с риском потери некоторых деталей или введения мелкомасштабных артефактов, которые более нежелательны, чем шум; [60] [61] нейронные сети теперь широко используются для этой цели. [62] [63] [64]

Нейронный рендеринг

Нейронный рендеринг — это метод рендеринга с использованием искусственных нейронных сетей . [65] [66] Нейронный рендеринг включает в себя методы рендеринга на основе изображений , которые используются для реконструкции 3D-моделей из 2-мерных изображений. [65] Одним из таких методов является фотограмметрия , которая представляет собой метод, в котором набор изображений с разных углов объекта превращается в 3D-модель. Также были недавние разработки в области генерации и рендеринга 3D-моделей из текста и грубых рисунков, в частности, Nvidia , Google и различными другими компаниями.

Научно-математическая основа

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

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

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

Исследования в области визуализации связаны как с адаптацией научных моделей, так и с их эффективным применением.

Математика, используемая при рендеринге, включает: линейную алгебру , исчисление , числовую математику , обработку сигналов и методы Монте-Карло .

Уравнение рендеринга

Это ключевая академическая/теоретическая концепция в рендеринге. Она служит наиболее абстрактным формальным выражением неперцептуального аспекта рендеринга. Все более полные алгоритмы можно рассматривать как решения частных формулировок этого уравнения.

Значение: в определенном положении и направлении, исходящий свет (L o ) является суммой испускаемого света (L e ) и отраженного света. Отраженный свет является суммой входящего света (L i ) со всех направлений, умноженной на отражение поверхности и входящий угол. Соединяя исходящий свет с внутренним светом через точку взаимодействия, это уравнение обозначает весь «перенос света» – все движение света – в сцене.

Функция распределения двунаправленного отражения

Функция распределения двунаправленного отражения (BRDF) выражает простую модель взаимодействия света с поверхностью следующим образом:

Взаимодействие света часто аппроксимируется еще более простыми моделями: диффузным отражением и зеркальным отражением, хотя обе модели ТАКЖЕ могут быть BRDF.

Геометрическая оптика

Рендеринг практически полностью связан с аспектом частиц физики света, известным как геометрическая оптика . Рассмотрение света на его базовом уровне как частиц, отскакивающих друг от друга, является упрощением, но уместным: волновые аспекты света незначительны в большинстве сцен и их значительно сложнее моделировать. Известные явления волнового аспекта включают дифракцию (как видно по цветам компакт-дисков и DVD ) и поляризацию (как видно на ЖК-дисплеях ). Оба типа эффекта, если необходимо, создаются путем корректировки модели отражения, ориентированной на внешний вид.

Визуальное восприятие

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

Отбор проб и фильтрация

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

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

Аппаратное обеспечение

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

История

В эпоху векторных мониторов (также называемых каллиграфическими дисплеями ) блок обработки отображения (DPU) представлял собой выделенный ЦП или сопроцессор , который поддерживал список визуальных элементов и непрерывно перерисовывал их на экране, управляя электронным лучом . Усовершенствованные DPU, такие как Line Drawing System-1 компании Evans & Sutherland (и более поздние модели, выпущенные в 1980-х годах), включали функции преобразования трехмерных координат для ускорения рендеринга каркасных изображений . [20] : 93–94, 404–421  [67] Evans & Sutherland также создали проекционную систему планетария Digistar , которая представляла собой векторный дисплей, который мог отображать как звезды, так и каркасную графику (векторные Digistar и Digistar II использовались во многих планетариях, и некоторые из них, возможно, все еще находятся в эксплуатации). [68] [69] [70] Прототип Digistar использовался для рендеринга 3D-звездных полей для фильма « Звездный путь 2: Гнев Хана» — одних из первых 3D-последовательностей компьютерной графики, когда-либо показанных в художественном фильме. [71]

В 1970-х и начале 1980-х годов рендеринг затененной 3D-графики обычно реализовывался на компьютерах общего назначения, таких как PDP-10 , используемый исследователями в Университете Юты [72] [36] . Было трудно ускорить с помощью специализированного оборудования, поскольку оно включает в себя конвейер сложных шагов, требующий адресации данных, принятия решений и вычислительных возможностей, обычно предоставляемых только центральными процессорами (хотя были предложены специальные схемы для ускорения определенных операций [72] ). Суперкомпьютеры или специально разработанные многопроцессорные компьютеры или кластеры иногда использовались для трассировки лучей. [39] В 1981 году Джеймс Х. Кларк и Марк Ханна разработали Geometry Engine, чип VLSI для выполнения некоторых шагов конвейера 3D-растеризации, и основали компанию Silicon Graphics (SGI) для коммерциализации этой технологии. [73] [74]

Домашние компьютеры и игровые консоли в 1980-х годах содержали графические сопроцессоры , которые были способны прокручивать и заполнять области дисплея, а также рисовать спрайты и линии, хотя они не были полезны для рендеринга реалистичных изображений. [75] [76] К концу 1980-х годов начали появляться видеокарты для ПК и аркадные игры с ускорением 3D-рендеринга, а в 1990-х годах такая технология стала обычным явлением. Сегодня даже маломощные мобильные процессоры обычно включают функции ускорения 3D-графики. [73] [77]

Графические процессоры

3D-графические ускорители 1990 -х годов превратились в современные графические процессоры. Графические процессоры являются процессорами общего назначения, как и центральные процессоры , но они предназначены для задач, которые можно разбить на множество небольших, похожих, в основном независимых подзадач (например, рендеринг отдельных пикселей) и выполнять параллельно . Это означает, что графический процессор может ускорить любой алгоритм рендеринга, который можно разбить на подзадачи таким образом, в отличие от 3D-ускорителей 1990-х годов, которые были разработаны только для ускорения определенных алгоритмов растеризации и простых эффектов затенения и освещения (хотя трюки могли использоваться для выполнения более общих вычислений). [9] : ch3  [78]

Из-за своего происхождения графические процессоры, как правило, по-прежнему обеспечивают специализированное аппаратное ускорение для некоторых этапов традиционного конвейера 3D-растеризации , включая удаление скрытых поверхностей с использованием z-буфера и текстурное отображение с помощью MIP-карт , но эти функции больше не всегда используются. [9] : ch3  Современные графические процессоры имеют функции для ускорения поиска пересечений лучей с иерархией ограничивающего объема , чтобы помочь ускорить все варианты трассировки лучей и трассировки пути , [41] а также функции ускорения нейронных сетей, иногда полезные для рендеринга. [79]

Графические процессоры обычно интегрируются с системами памяти с высокой пропускной способностью для поддержки требований к пропускной способности чтения и записи для рендеринга в реальном времени с высоким разрешением, особенно когда для рендеринга кадра требуется несколько проходов, однако задержка памяти может быть выше, чем у центрального процессора, что может быть проблемой, если критический путь в алгоритме включает много обращений к памяти. Конструкция графического процессора принимает высокую задержку как неизбежную (отчасти потому, что большое количество потоков совместно используют шину памяти ) и пытается «скрыть» ее, эффективно переключаясь между потоками, поэтому другой поток может выполнять вычисления, пока первый поток ожидает завершения чтения или записи. [9] : ch3  [80] [81]

Алгоритмы рендеринга будут работать эффективно на GPU только в том случае, если они могут быть реализованы с использованием небольших групп потоков, которые выполняют в основном одни и те же операции. В качестве примера кода, который соответствует этому требованию: при рендеринге небольшого квадрата пикселей в простом изображении с трассировкой лучей все потоки, скорее всего, будут пересекать лучи с одним и тем же объектом и выполнять одни и те же вычисления освещения. По причинам производительности и архитектуры графические процессоры запускают группы из примерно 16-64 потоков, называемых варпами или волновыми фронтами, в режиме lock-step (все потоки в группе выполняют одни и те же инструкции одновременно). Если не всем потокам в группе нужно запускать определенные блоки кода (из-за условий), то некоторые потоки будут простаивать, или результаты их вычислений будут отброшены, что приведет к снижению производительности. [9] : ch3  [81]

Хронология алгоритмов и методов

Ниже приведена приблизительная хронология часто упоминаемых методов визуализации, включая области текущих исследований. Обратите внимание, что даже в случаях, когда идея упоминалась в конкретной статье, почти всегда было несколько исследователей или групп, работающих в той же области (включая более ранние связанные работы). Когда метод предлагается впервые, он часто бывает очень неэффективным, и требуются дополнительные исследования и практические усилия, чтобы превратить его в полезную технику. [24] : 887 

Список сосредоточен на академических исследованиях и не включает аппаратное обеспечение. (Более подробную историю см. в разделе #Внешние ссылки, а также в разделах Компьютерная графика#История и Золотой_век_аркадных_видеоигр#Технологии .)

Смотрите также

Ссылки

  1. ^ "Что такое движок рендеринга? | Словарь". Архивировано из оригинала 2024-02-21 . Получено 2024-02-21 .
  2. ^ abcdef Рагхавачари, Сать (2005). Рендеринг для начинающих . Focal Press. ISBN 0-240-51935-3.
  3. ^ ab Adobe Systems Incorporated (1990). Справочное руководство по языку PostScript (2-е изд.). Addison-Wesley Publishing Company. ISBN 0-201-18127-4.
  4. ^ ab "SVG: Scalable Vector Graphics". Mozilla Corporation. 7 августа 2024 г. Архивировано из оригинала 24 августа 2024 г. Получено 31 августа 2024 г.
  5. ^ ab Хьюз, Джон Ф.; Ван Дам, Андрис ; Макгуайр, Морган; Склар, Дэвид Ф.; Фоли, Джеймс Д.; Файнер, Стивен К.; Экли, Курт (2014). Компьютерная графика: принципы и практика (3-е изд.). Addison-Wesley. ISBN 978-0-321-39952-6.
  6. ^ ab "Blender 4.2 Manual: Importing & Exporting Files". docs.blender.org . Blender Foundation. Архивировано из оригинала 31 августа 2024 г. Получено 31 августа 2024 г.
  7. ^ Фарр, Мэтт; Якоб, Венцель; Хамфрис, Грег (2023). "pbrt-v4 Input File Format" . Получено 31 августа 2024 г. .
  8. ^ ab Dunlop, Renee (2014). Основы производственного конвейера для фильмов и игр . Focal Press. ISBN 978-1-315-85827-2.
  9. ^ abcdefghijklmnopqrs Акенин-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати; Пеше, Анджело; Иваницкий, Михал; Хиллер, Себастьен (2018). Рендеринг в реальном времени (4-е изд.). Бока-Ратон, Флорида: AK Peters/CRC Press. ISBN 978-1138627000.
  10. ^ "About OpenVDB". www.openvdb.org . Academy Software Foundation. Архивировано из оригинала 3 сентября 2024 г. Получено 31 августа 2024 г.
  11. ^ Museth, Ken (июнь 2013 г.). "VDB: High-Resolution Sparse Volumes with Dynamic Topology" (PDF) . ACM Transactions on Graphics . 32 (3). doi :10.1145/2487228.2487235. Архивировано (PDF) из оригинала 15 апреля 2024 г. . Получено 31 августа 2024 г. .
  12. ^ Bridson, Robert (2015). Моделирование жидкости для компьютерной графики (2-е изд.). AK Peters/CRC Press. ISBN 978-1-482-23283-7.
  13. ^ Шмид, Катрин (2 марта 2023 г.). «Краткая 170-летняя история полей нейронного излучения (NeRF), голограмм и световых полей». radiancefields.com . Архивировано из оригинала 31 августа 2024 г. . Получено 31 августа 2024 г. .
  14. ^ ab Mildenhall, Ben; Srinivasan, Pratul P.; Tancik, Matthew; Barron, Jonathan T.; Ramamoorthi, Ravi; Ng, Ren (2020). "NeRF: Представление сцен как полей нейронного излучения для синтеза представлений" . Получено 31 августа 2024 г. .
  15. ^ ab Kerbl, Bernhard; Kopanas, Georgios; Leimkühler, Thomas; Drettakis, George (июль 2023 г.). "3D Gaussian Splatting for Real-Time Radiance Field Rendering". ACM Transactions on Graphics . 42 (4): 1–14. arXiv : 2308.04079 . doi : 10.1145/3592433. Архивировано из оригинала 22 августа 2024 г. Получено 31 августа 2024 г.
  16. ^ ab Pharr, Matt; Jakob, Wenzel; Humphreys, Greg (2023). "pbrt-v4 User's Guide". Архивировано из оригинала 3 сентября 2024 года . Получено 31 августа 2024 года .
  17. ^ ab Brinkmann, Ron (2008). Искусство и наука цифрового композитинга (2-е изд.). Morgan Kaufmann. ISBN 978-0-12-370638-6.
  18. ^ "Blender 4.2 Manual: Rendering: Render Output: Rendering Animations". docs.blender.org . Blender Foundation. Архивировано из оригинала 31 августа 2024 г. Получено 31 августа 2024 г.
  19. ^ abcdefgh Маршнер, Стив; Ширли, Питер (2022). Основы компьютерной графики (5-е изд.). CRC Press. ISBN 978-1-003-05033-9.
  20. ^ abcdef Фоли, Джеймс Д. ; Ван Дам, Андрис (1982). Основы интерактивной компьютерной графики . Addison-Wesley Publishing Company, Inc. ISBN 0-201-14468-9.
  21. ^ abcdefghij Хейнс, Эрик; Ширли, Питер (25 февраля 2019 г.). "1. Терминология трассировки лучей". Ray Tracing Gems: высококачественный рендеринг в реальном времени с помощью DXR и других API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN 978-1-4842-4427-2. S2CID  71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  22. ^ abcde Акенин-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати; Пеше, Анджело; Иваницкий, Михал; Хиллер, Себастьен (6 августа 2018 г.). "Онлайн-глава 26. Трассировка лучей в реальном времени" (PDF) . Рендеринг в реальном времени (4-е изд.). Бока-Ратон, Флорида: AK Peters/CRC Press. ISBN 978-1138627000. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  23. ^ Кук, Роберт Л. (11 апреля 2019 г.) [1989]. "5. Стохастическая выборка и распределенная трассировка лучей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN 978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  24. ^ abcdefghijk Гласснер, Эндрю С. (2011) [1995]. Принципы цифрового синтеза изображений (PDF) . 1.0.1. Morgan Kaufmann Publishers, Inc. ISBN 978-1-55860-276-2. Архивировано (PDF) из оригинала 2024-01-27 . Получено 2024-01-27 .
  25. ^ abcde Kajiya, James T. (август 1986). «Уравнение рендеринга». ACM SIGGRAPH Computer Graphics . 20 (4): 143–150. doi :10.1145/15886.15902. Архивировано из оригинала 3 сентября 2024 года . Получено 27 января 2024 года .
  26. ^ abcd Glassner, Andrew S. (11 апреля 2019 г.) [1989]. "1. Обзор трассировки лучей". Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN 978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  27. ^ Арво, Джеймс (август 1986 г.). Обратная трассировка лучей (конспект курса) (PDF) . SIGGRAPH 1986 Developments in Ray Tracing. Том 12. CiteSeerX 10.1.1.31.581 . Получено 5 октября 2024 г. . 
  28. ^ ab Veach, Eric (1997). Надежные методы Монте-Карло для моделирования переноса света (PDF) (диссертация). Стэнфордский университет.
  29. ^ Дютре, Филип; Бала, Кавита; Бекарт, Филипп (2015). Продвинутое глобальное освещение (2-е изд.). АК Петерс/CRC Press. ISBN 978-1-4987-8562-4.
  30. ^ "Unity Manual:Light Probes: Introduction". docs.unity3d.com . Архивировано из оригинала 3 сентября 2024 г. Получено 27 января 2024 г.
  31. ^ "Blender Manual: Rendering: EEVEE: Light Probes: Introduction". docs.blender.org . Blender Foundation. Архивировано из оригинала 24 марта 2024 года . Получено 27 января 2024 года .
  32. ^ ab Warnock, John (июнь 1969), Алгоритм скрытой поверхности для полутоновых изображений, созданных компьютером, Университет Юты, TR 69-249 , получено 19 сентября 2024 г.
  33. ^ ab Bouknight, WJ (1970). "Процедура генерации трехмерных полутоновых компьютерных графических презентаций". Communications of the ACM . 13 (9): 527–536. doi : 10.1145/362736.362739 . S2CID  15941472.
  34. ^ Stamm, Beat (21 июня 2018 г.). «Возвращение к трагедии растра при низком разрешении: возможности и проблемы за пределами «дельта-хинтинга»». rastertragedy.com . Получено 19 сентября 2024 г.
  35. ^ ab Watkins, Gary Scott (июнь 1970), A Real Time Visible Surface Algorithm, University of Utah , получено 19 сентября 2024 г.
  36. ^ abcde Кэтмелл, Эдвин (декабрь 1974 г.). Алгоритм подразделения для компьютерного отображения криволинейных поверхностей (PDF) (диссертация). Университет Юты . Получено 19 сентября 2024 г.
  37. ^ ab Карпентер, Лорен (июль 1984 г.). «А-буфер, метод скрытой сглаженной поверхности». Компьютерная графика . 18 (3): 103–108. doi :10.1145/964965.808585.
  38. ^ ab Кук, Роберт Л. ; Карпентер, Лорен ; Кэтмелл, Эдвин (июль 1987 г.). "Архитектура рендеринга изображений Рейеса" (PDF) . Компьютерная графика ACM SIGGRAPH . 21 (4). Ассоциация вычислительной техники: 95–102. doi :10.1145/37402.37414. ISSN  0097-8930. Архивировано (PDF) из оригинала 2011-07-15 . Получено 19 сентября 2024 г. .
  39. ^ abc Арво, Джеймс; Кирк, Дэвид (11 апреля 2019 г.) [1989]. "6. Обзор методов ускорения трассировки лучей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN 978-0-12-286160-4. Получено 13 сентября 2024 г. .
  40. ^ ab Appel, A. (1968). "Некоторые методы машинной визуализации шейдеров" (PDF) . Труды Весенней совместной компьютерной конференции . Том 32. С. 37–49. Архивировано (PDF) из оригинала 2012-03-13 . Получено 19 сентября 2024 .
  41. ^ ab Stich, Martin (25 февраля 2019 г.). «Предисловие». В Haines, Eric; Akenine-Möller, Tomas (ред.). Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs. Berkeley, CA: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN 978-1-4842-4427-2. S2CID  71144394 . Получено 13 сентября 2024 г. .
  42. ^ Ханрахан, Пэт (11 апреля 2019 г.) [1989]. "2. Обзор алгоритмов пересечения лучей и поверхностей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN 978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 22 сентября 2024 г. .
  43. ^ Кристенсен, Пер Х.; Ярош, Войцех (27 октября 2016 г.). «Путь к фильмам с трассировкой пути» (PDF) . Основы и тенденции в компьютерной графике и зрении . 10 (2): 103–175. arXiv : 1611.02145 . doi :10.1561/0600000073 . Получено 26 октября 2024 г. .
  44. ^ Лю, Эдвард; Льямас, Игнасио; Каньяда, Хуан; Келли, Патрик (25 февраля 2019 г.). «19: Кинематографический рендеринг в UE4 с трассировкой лучей в реальном времени и шумоподавлением». Ray Tracing Gems: высококачественный рендеринг в реальном времени с DXR и другими API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN 978-1-4842-4427-2. S2CID  71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  45. ^ Боксански, Якуб; Виммер, Михаэль; Биттнер, Иржи (25 февраля 2019 г.). "13. Тени с трассировкой лучей: поддержание частоты кадров в реальном времени". Драгоценные камни трассировки лучей: высококачественный рендеринг в реальном времени с помощью DXR и других API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN 978-1-4842-4427-2. S2CID  71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  46. ^ "Блог Хроноса: Трассировка лучей в Вулкане" . www.khronos.org . The Khronos® Group Inc. 15 декабря 2020 г. Проверено 27 января 2024 г.
  47. ^ Ален, Риасуэло (март 2019 г.). «Видим относительность-I: трассировка лучей в метрике Шварцшильда для исследования максимального аналитического расширения метрики и создания правильного рендеринга звезд». Международный журнал современной физики D . 28 (2). arXiv : 1511.06025 . doi :10.1142/S0218271819500421.
  48. Howard, Andrew; Dance, Sandy; Kitchen, Les (24 июля 1995 г.), Relativistic ray-tracing: Simulating the visual appearance of fast moving objects, University of Melbourne, Department of Computer Science , получено 26 октября 2024 г.
  49. ^ ab Goral, Cindy M.; Torrance, Kenneth E.; Greenberg, Donald P .; Battaile, Bennett (июль 1984 г.). "Моделирование взаимодействия света между диффузными поверхностями" (PDF) . Труды 11-й ежегодной конференции по компьютерной графике и интерактивным технологиям . Том 18. Ассоциация вычислительной техники. стр. 213–222. doi :10.1145/800031.808601. ISBN 0-89791-138-5. ISSN  0097-8930 . Получено 8 октября 2024 г. .
  50. ^ ab Dutré, Philip (29 сентября 2003 г.), Global Illumination Compendium: The Concise Guide to Global Illumination Algorithms , получено 6 октября 2024 г.
  51. ^ Коэн, Майкл Ф.; Уоллес, Джон Р. (1993). Излучательность и реалистичный синтез изображений . Academic Press. ISBN 0-12-178270-0.
  52. ^ Бекарт, Филипп (1999). Иерархические и стохастические алгоритмы для излучательности (диссертация). Кафедра компьютерных наук, Католический университет Лёвена.
  53. ^ abcde Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). "1.6". Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN 978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  54. ^ "Blender Manual: Rendering: Cycles: Introduction". docs.blender.org . Blender Foundation. Архивировано из оригинала 3 сентября 2024 года . Получено 27 января 2024 года .
  55. ^ Кулла, Кристофер (30 июля 2017 г.), Арнольд в Sony Pictures Imageworks: От Monster House до Smurfs: The Lost Village (слайды курса) (PDF) , SIGGRAPH, Лос-Анджелес{{citation}}: CS1 maint: location missing publisher (link)
  56. ^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «15. Wavefront Rendering on GPUs». Physically Based Rendering: From Theory to Implementation (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN 978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  57. ^ Отте, Вилем (2015). Двунаправленная трассировка путей на графическом процессоре (PDF) (магистерская диссертация). Масариков университет, Брно.
  58. ^ Шмидт, Мартин; Лобачев, Олег; Гуте, Майкл (2016). «Когерентный транспорт света метрополии на графическом процессоре с использованием спекулятивных мутаций» (PDF) . Журнал WSCG . 24 (1): 1–8. ISSN  1213-6972.
  59. ^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «13. Дальнейшее чтение: Путь руководства». Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN 978-0262048026. Получено 8 сентября 2024 г. .
  60. ^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «5. Дальнейшее чтение: шумоподавление». Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN 978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
  61. ^ "Blender Manual: Rendering: Cycles: Optimizing Renders: Reducing Noise". docs.blender.org . Blender Foundation. Архивировано из оригинала 27 января 2024 г. Получено 27 января 2024 г.
  62. ^ "Blender Manual: Rendering: Cycles: Render Settings: Sampling". docs.blender.org . Blender Foundation. Архивировано из оригинала 27 января 2024 года . Получено 27 января 2024 года .
  63. ^ "Intel® Open Image Denoise: высокопроизводительная библиотека шумоподавления для трассировки лучей". www.openimagedenoise.org . Корпорация Intel. Архивировано из оригинала 6 января 2024 г. Получено 27 января 2024 г.
  64. ^ "NVIDIA OptiX™ AI-Accelerated Denoiser". developer.nvidia.com . NVIDIA Corporation. Архивировано из оригинала 18 января 2024 года . Получено 27 января 2024 года .
  65. ^ Аб Тевари, А.; Фрид, О.; Тис, Дж.; Зитцманн, В.; Ломбарди, С.; Сункавалли, К.; Мартин-Бруалла, Р.; Саймон, Т.; Сараги, Дж.; Ниснер, М.; Панди, Р.; Фанелло, С.; Вецштейн, Г.; Чжу, Ж.-Ю.; Теобальт, К.; Агравала, М.; Шехтман Э.; Гольдман, Д.Б.; Цольхёфер, М. (2020). «Современное состояние нейронного рендеринга». Форум компьютерной графики . 39 (2): 701–727. arXiv : 2004.03805 . дои : 10.1111/cgf.14022. S2CID  215416317.
  66. ^ Найт, Уилл. «Новый трюк позволяет искусственному интеллекту видеть в 3D». Wired . ISSN  1059-1028. Архивировано из оригинала 2022-02-07 . Получено 2022-02-08 .
  67. ^ Evans & Sutherland Multi-Picture System (брошюра), Evans & Sutherland Corporation., 1979
  68. ^ "Городской научный музей Нагои - Путеводитель по выставке - Digistar II". www.ncsm.city.nagoya.jp . Городской научный музей Нагои . Получено 13 сентября 2024 г. .
  69. ^ "Evans_and_Sutherland Digistar-II". planetariums-database.org . База данных планетариев мира . Получено 13 сентября 2024 г. .
  70. ^ "Список планетариев, использующих Evans_and_Sutherland Digistar-II". planetariums-database.org . База данных планетариев мира . Получено 13 сентября 2024 г. .
  71. ^ Смит, Элви Рэй (октябрь 1982 г.). "Спецэффекты для Star Trek II: The Genesis Demo" (PDF) . American Cinematographer : 1038. Получено 13 сентября 2024 г.
  72. ^ ab Bùi, Tường-Phong (1973). Освещение для компьютерно-генерируемых изображений (PDF) (диссертация). Университет Юты.
  73. ^ ab Peddie, Jon (24 сентября 2020 г.). «Знаменитые графические чипы: Geometry Engine». www.computer.org . Институт инженеров по электротехнике и электронике (IEEE) . Получено 13 сентября 2024 г. .
  74. ^ Кларк, Джеймс Х. (1980). «Структурирование архитектуры системы СБИС» (PDF) . Lambda (2-й квартал): 25–30.
  75. ^ Фокс, Чарльз (2024). "11. РЕТРО-АРХИТЕКТУРЫ: 16-битный компьютерный дизайн с Commodore Amiga: понимание архитектуры". Архитектура компьютера . No Starch Press. ISBN 978-1-7185-0287-1.
  76. ^ "NES Dev Wiki: PPU" . www.nesdev.org . Несдев вики . Проверено 13 сентября 2024 г.
  77. ^ Гарольд, Дэвид (11 августа 2017 г.). «PowerVR в 25: история графической революции». blog.imaginationtech.com . Imagination Technologies Limited . Получено 13 сентября 2024 г. .
  78. ^ Пирси, Марк С.; Олано, Марк; Эйри, Джон; Унгар, П. Джеффри (2000). "Интерактивное многопроходное программируемое затенение" (PDF) . Труды 27-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '00 . стр. 425-432. doi :10.1145/344779.344976. ISBN 1-58113-208-5. Получено 13 сентября 2024 г. .
  79. ^ "NVIDIA DLSS 3". nvidia.com . NVIDIA Corporation . Получено 13 сентября 2024 г. .
  80. ^ Лэм, Честер (16 апреля 2021 г.). «Измерение задержки памяти графического процессора». chipsandcheese.com . Chips and Cheese . Получено 13 сентября 2024 г. .
  81. ^ ab Gong, Xun; Gong, Xiang; Yu, Leiming; Kaeli, David (март 2019 г.). "HAWS: ускорение выполнения волнового фронта на графическом процессоре с помощью выборочного внеочередного выполнения". ACM Trans. Archit. Code Optim . 16 (2). Association for Computing Machinery. doi :10.1145/3291050 . Получено 15 сентября 2024 г.
  82. Уорнок, Джон (20 мая 1968 г.), Алгоритм скрытой линии для представления полутоновых изображений (PDF) , Университет Юты, TR 4-5 , получено 19 сентября 2024 г.
  83. ^ Gouraud, H. (1971). «Непрерывное затенение криволинейных поверхностей» (PDF) . IEEE Transactions on Computers . 20 (6): 623–629. doi :10.1109/tc.1971.223313. S2CID  123827991. Архивировано из оригинала (PDF) 2010-07-02.
  84. ^ ab "История | Школа вычислительной техники". Архивировано из оригинала 2013-12-03 . Получено 2021-11-22 .
  85. ^ ab Phong, BT (1975). "Освещение для компьютерных изображений" (PDF) . Сообщения ACM . 18 (6): 311–316. CiteSeerX 10.1.1.330.4718 . doi :10.1145/360825.360839. S2CID  1439868. Архивировано из оригинала (PDF) 2012-03-27. 
  86. ^ Блинн, Дж. Ф .; Ньюэлл, М. Э. (1976). «Текстура и отражение в компьютерных изображениях». Сообщения ACM . 19 (10): 542–546. CiteSeerX 10.1.1.87.8903 . doi :10.1145/360349.360353. S2CID  408793. 
  87. ^ Блинн, Джеймс Ф. (20 июля 1977 г.). «Модели отражения света для компьютерно-синтезированных изображений». ACM SIGGRAPH Computer Graphics . 11 (2): 192–198. doi : 10.1145/965141.563893 – через dl.acm.org.
  88. ^ Crow, FC (1977). "Теневые алгоритмы для компьютерной графики" (PDF) . Компьютерная графика (Труды SIGGRAPH 1977) . Том 11. С. 242–248. Архивировано из оригинала (PDF) 2012-01-13 . Получено 2011-07-15 .
  89. ^ Уильямс, Л. (1978). «Отбрасывание изогнутых теней на изогнутые поверхности». Компьютерная графика (Труды SIGGRAPH 1978) . Т. 12. С. 270–274. CiteSeerX 10.1.1.134.8225 . 
  90. ^ Блинн, Дж. Ф. (1978). Моделирование морщинистых поверхностей (PDF) . Компьютерная графика (Труды SIGGRAPH 1978). Том 12. С. 286–292. Архивировано (PDF) из оригинала 21.01.2012.
  91. ^ Фукс, Х.; Кедем, З.М.; Нейлор, Б.Ф. (1980). О генерации видимых поверхностей априорными древовидными структурами . Компьютерная графика (Труды SIGGRAPH 1980). Т. 14. С. 124–133. CiteSeerX 10.1.1.112.4406 . 
  92. ^ Уиттед, Т. (1980). «Улучшенная модель освещения для затененного дисплея». Сообщения ACM . 23 (6): 343–349. CiteSeerX 10.1.1.114.7629 . doi :10.1145/358876.358882. S2CID  9524504. 
  93. ^ Кук, Р. Л .; Торранс, К. Э. (1981). Модель отражения для компьютерной графики . Компьютерная графика (Труды SIGGRAPH 1981). Т. 15. С. 307–316. CiteSeerX 10.1.1.88.7796 . 
  94. ^ Уильямс, Л. (1983). Пирамидальная параметрика . Компьютерная графика (Труды SIGGRAPH 1983). Т. 17. С. 1–11. CiteSeerX 10.1.1.163.6298 . 
  95. ^ Glassner, AS (1984). «Разделение пространства для быстрой трассировки лучей». IEEE Computer Graphics & Applications . 4 (10): 15–22. doi :10.1109/mcg.1984.6429331. S2CID  16965964.
  96. ^ Портер, Т.; Дафф, Т. (1984). Компоновка цифровых изображений (PDF) . Компьютерная графика (Труды SIGGRAPH 1984). Том 18. С. 253–259. Архивировано (PDF) из оригинала 2015-02-16.
  97. ^ Кук, Р. Л .; Портер, Т.; Карпентер, Л. (1984). Распределенная трассировка лучей (PDF) . Компьютерная графика (Труды SIGGRAPH 1984). Т. 18. С. 137–145.[ постоянная мертвая ссылка ]
  98. ^ Горал, К.; Торранс, К.Е.; Гринберг, Д.П .; Баттайл, Б. (1984). Моделирование взаимодействия света между диффузными поверхностями . Компьютерная графика (Труды SIGGRAPH 1984). Т. 18. С. 213–222. CiteSeerX 10.1.1.112.356 . 
  99. ^ Коэн, М. Ф.; Гринберг , Д. П. (1985). Полукуб: решение по методу излучения для сложных сред (PDF) . Компьютерная графика (Труды SIGGRAPH 1985). Том 19. С. 31–40. doi :10.1145/325165.325171. Архивировано из оригинала (PDF) 24.04.2014 . Получено 25.03.2020 .
  100. ^ Арво, Дж. (1986). Обратная трассировка лучей . SIGGRAPH 1986 Разработки в области трассировки лучей. Заметки к курсу. CiteSeerX 10.1.1.31.581 . 
  101. ^ Wu, Xiaolin (июль 1991). Эффективный метод сглаживания. Том 25. С. 143–152. doi :10.1145/127719.122734. ISBN 978-0-89791-436-9. {{cite book}}: |journal=проигнорировано ( помощь )
  102. ^ Ву, Сяолинь (1991). «Быстрое создание сглаженных кругов». У Джеймса Арво (ред.). Графические драгоценности II . Сан-Франциско: Морган Кауфманн. стр. 446–450. ISBN 978-0-12-064480-3.
  103. ^ Ханрахан, П.; Зальцман , Д.; Опперле, Л. (1991). Быстрый иерархический алгоритм излучательности . Компьютерная графика (Труды SIGGRAPH 1991). Т. 25. С. 197–206. CiteSeerX 10.1.1.93.5694 . 
  104. ^ М. Орен и С. К. Наяр, «Обобщение модели отражения Ламберта. Архивировано 15 февраля 2010 г. в Wayback Machine ». SIGGRAPH. стр. 239–246, июль 1994 г.
  105. ^ Tumblin, J.; Rushmeier, HE (1993). «Воспроизведение тона для реалистичных компьютерных изображений» (PDF) . IEEE Computer Graphics & Applications . 13 (6): 42–48. doi :10.1109/38.252554. S2CID  6459836. Архивировано (PDF) из оригинала 2011-12-08.
  106. ^ Ханрахан, П.; Крюгер, В. (1993). Отражение от слоистых поверхностей из-за подповерхностного рассеяния . Компьютерная графика (Труды SIGGRAPH 1993). Т. 27. С. 165–174. CiteSeerX 10.1.1.57.9761 . 
  107. ^ Лафортюн, Эрик; Виллемс, Ив (декабрь 1993 г.). «Двунаправленная трассировка пути» (PDF) . Труды Третьей международной конференции по вычислительной графике и методам визуализации (CompuGraphics) . стр. 145–153. Архивировано (PDF) из оригинала 21 мая 2022 г. . Получено 2 сентября 2024 г. .
  108. ^ Миллер, Гэвин (24 июля 1994 г.). "Эффективные алгоритмы для локального и глобального затенения доступности". Труды 21-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '94 . ACM. стр. 319–326. doi :10.1145/192161.192244. ISBN 978-0897916677. S2CID  15271113. Архивировано из оригинала 22 ноября 2021 г. . Получено 7 мая 2018 г. – через dl.acm.org.
  109. ^ Jensen, HW ; Christensen, NJ (1995). «Фотонные карты в двунаправленной трассировке лучей Монте-Карло сложных объектов». Компьютеры и графика . 19 (2): 215–224. CiteSeerX 10.1.1.97.2724 . doi :10.1016/0097-8493(94)00145-o. 
  110. ^ Veach, Eric; Guibas, Leonidas J. (15 сентября 1995 г.). «Оптимальное комбинирование методов выборки для рендеринга Монте-Карло». SIGGRAPH95: 22-я Международная конференция ACM по компьютерной графике и интерактивным технологиям . стр. 419–428. doi :10.1145/218380.218498. Архивировано из оригинала 26 июля 2024 г. Получено 2 сентября 2024 г.
  111. ^ Veach, E. ; Guibas, L. (1997). Метрополисный легкий транспорт . Компьютерная графика (Труды SIGGRAPH 1997). Т. 16. С. 65–76. CiteSeerX 10.1.1.88.944 . 
  112. ^ Veach, E. ; Guibas, L. (1997). Метрополисный легкий транспорт . Компьютерная графика (Труды SIGGRAPH 1997). Т. 16. С. 65–76. CiteSeerX 10.1.1.88.944 . 
  113. ^ Келлер, А. (1997). Мгновенная радиационность . Компьютерная графика (Труды SIGGRAPH 1997). Т. 24. С. 49–56. CiteSeerX 10.1.1.15.240 . 
  114. ^ Слоан, П.; Каутц, Дж.; Снайдер, Дж. (2002). Предварительно вычисленная передача излучения для рендеринга в реальном времени в динамических низкочастотных средах освещения (PDF) . Компьютерная графика (Труды SIGGRAPH 2002). Том 29. С. 527–536. Архивировано из оригинала (PDF) 24.07.2011.
  115. ^ Loper, Matthew M; Black, Michael J (6 сентября 2014 г.). "OpenDR: An approx Differentiable renderer" (PDF) . Computer Vision - ECCV 2014 . Vol. 8695. Цюрих, Швейцария: Springer International Publishing. стр. 154–169. doi :10.1007/978-3-319-10584-0_11. Архивировано (PDF) из оригинала 24 июня 2024 г. . Получено 2 сентября 2024 г. .
  116. ^ Мюллер, Томас; Гросс, Маркус; Новак, Ян (июнь 2017 г.). «Практическое руководство по эффективному моделированию переноса света». Computer Graphics Forum (Proceedings of EGSR) . 36 (4). The Eurographs Association & John Wiley & Sons, Ltd.: 91–100. doi :10.1111/cgf.13227 . Получено 4 сентября 2024 г.
  117. ^ Биттерли, Бенедикт; Уайман, Крис; Фарр, Мэтт; Ширли, Питер; Лефон, Аарон; Ярош, Войцех (июль 2020 г.). «Пространственно-временная передискретизация резервуара для трассировки лучей в реальном времени с динамическим прямым освещением». ACM Transactions on Graphics . 39 (4). doi :10.1145/3386569.3392481. Архивировано из оригинала 1 марта 2024 г. . Получено 2 сентября 2024 г. .

Дальнейшее чтение

Внешние ссылки