Рендеринг или синтез изображений — это процесс создания фотореалистичного или нефотореалистичного изображения из 2D- или 3D-модели с помощью компьютерной программы . [ требуется цитата ] Полученное изображение называется рендерингом . Несколько моделей могут быть определены в файле сцены, содержащем объекты на строго определенном языке или структуре данных . Файл сцены содержит геометрию, точку обзора, текстуры , освещение и информацию о затенении , описывающую виртуальную сцену. Затем данные, содержащиеся в файле сцены, передаются в программу рендеринга для обработки и вывода в файл цифрового изображения или растрового графического изображения. Термин «рендеринг» аналогичен концепции впечатления художника от сцены. Термин «рендеринг» также используется для описания процесса расчета эффектов в программе видеоредактирования для получения конечного видеовывода.
Рендеринг — одна из основных подтем 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]
Преобразования для позиционирования, поворота и масштабирования объектов в пределах сцены (позволяющие частям сцены использовать разные локальные системы координат).
Информация о «камере», описывающая, как просматривается сцена (положение, направление, фокусное расстояние и поле зрения )
Информация о свете (местоположение, тип, яркость и цвет)
Небольшие скрипты или программы для создания сложных 3D-фигур или сцен процедурным способом
Описание того, как со временем меняются местоположения объектов и камер, а также другая информация, для рендеринга анимации
Существует множество форматов файлов для хранения отдельных 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
Векторные дисплеи 1960-1970-х годов использовали отклонение электронного луча для рисования отрезков линий непосредственно на экране. В настоящее время векторная графика визуализируется с помощью алгоритмов растеризации , которые также поддерживают заполненные формы. В принципе, любой рендерер 2D-векторной графики может использоваться для визуализации 3D-объектов, сначала проецируя их на плоскость 2D-изображения. [20] : 93, 431, 505, 553
Адаптирует алгоритмы 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 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] )
Примеры сравнения различных методов рендеринга
Растровое изображение низкого качества, созданное рендерером Blender EEVEE с низким разрешением карты теней и сеткой низкого разрешения.
Изображение с трассировкой пути низкого качества, созданное с помощью рендерера Blender Cycles, в котором используется всего 16 сэмплированных путей на пиксель и сетка низкого разрешения.
Изображение, полученное с помощью трассировки лучей с помощью программы POV-Ray (использующей только ее функции трассировки лучей) с сеткой низкого разрешения
Растровое изображение более высокого качества, полученное с помощью рендерера Blender EEVEE со световыми зондами
Изображение с более высоким качеством трассировки пути, полученное с помощью рендерера Blender Cycles с 2000 сэмплированными путями на пиксель
Рендерер объединяет растеризацию с обработкой геометрии (которая не является специфичной для растеризации) и обработкой пикселей , которая вычисляет значения цвета RGB , которые помещаются в буфер кадра для отображения. [9] : 2.1 [19] : 9
Основными задачами растеризации (включая обработку пикселей) являются: [9] : 2, 3.8, 23.1.1
Определение того, какие пиксели покрываются каждой геометрической фигурой в 3D-сцене или 2D-изображении (это фактический этап растеризации, в самом строгом смысле)
3D-растеризация обычно является частью графического конвейера , в котором приложение предоставляет списки треугольников для рендеринга, а система рендеринга преобразует и проецирует их координаты, определяет, какие треугольники потенциально видны в области просмотра , и выполняет указанные выше задачи растеризации и обработки пикселей перед отображением конечного результата на экране. [9] : 2.1 [19] : 9
Исторически 3D-растеризация использовала алгоритмы, такие как алгоритм Уорнока и рендеринг сканлайна (также называемый «скан-преобразованием»), которые могут обрабатывать произвольные полигоны и могут растеризовать множество фигур одновременно. Хотя такие алгоритмы по-прежнему важны для 2D-рендеринга, 3D-рендеринг теперь обычно делит фигуры на треугольники и растеризует их по отдельности, используя более простые методы. [32] [33] [20] : 456, 561–569
После проецирования 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
Один из самых простых способов визуализации 3D-сцены — это проверка пересечения луча , начинающегося в точке обзора («глаз» или «камера»), с любой геометрической фигурой в сцене, повторяя этот тест, используя другое направление луча для каждого пикселя. Этот метод, называемый ray casting , был важен в ранней компьютерной графике и является фундаментальным строительным блоком для более сложных алгоритмов. Ray casting может использоваться для визуализации фигур, определенных операциями конструктивной твердотельной геометрии (CSG). [21] : 8-9 [39] : 246–249
Ранние эксперименты по отбрасыванию лучей включают работу Артура Аппеля в 1960-х годах. Аппель визуализировал тени, отбрасывая дополнительный луч от каждой видимой точки поверхности к источнику света. Он также пытался визуализировать плотность освещения, отбрасывая случайные лучи от источника света к объекту и нанося точки пересечения (аналогично более поздней технике, называемой фотонным отображением ). [40]
При рендеринге сцен, содержащих много объектов, проверка пересечения луча с каждым объектом становится очень дорогой. Специальные структуры данных используются для ускорения этого процесса, позволяя быстро исключать большое количество объектов (например, объекты за камерой). Эти структуры аналогичны индексам базы данных для поиска соответствующих объектов. Наиболее распространенными являются иерархия ограничивающего объема (BVH), которая хранит предварительно вычисленный ограничивающий прямоугольник или сферу для каждой ветви дерева объектов, и дерево kd , которое рекурсивно делит пространство на две части. Современные графические процессоры включают аппаратное ускорение для тестов пересечения BVH. Деревья kd являются особым случаем двоичного разбиения пространства , которое часто использовалось в ранней компьютерной графике (оно также может генерировать порядок растеризации для алгоритма художника ). Октодеревья , еще один исторически популярный метод, по-прежнему часто используются для объемных данных. [22] : 16–17 [41] [39] [5] : 36.2
Геометрических формул достаточно для нахождения пересечения луча с такими фигурами, как сферы , многоугольники и многогранники , но для большинства криволинейных поверхностей нет аналитического решения , или пересечение трудно вычислить точно с использованием чисел с плавающей точкой ограниченной точности . Иногда можно использовать алгоритмы поиска корней , такие как метод Ньютона . Чтобы избежать этих осложнений, криволинейные поверхности часто аппроксимируются как сетки треугольников . Объемный рендеринг (например, рендеринг облаков и дыма) и некоторые поверхности, такие как фракталы , могут потребовать ray marching вместо базового ray casting. [42] [21] : 13 [9] : 14, 17.3
Трассировка лучей
Трассировка лучей направлена на имитацию естественного потока света, интерпретируемого как частицы. Часто методы трассировки лучей используются для аппроксимации решения уравнения рендеринга путем применения к нему методов Монте-Карло . Некоторые из наиболее используемых методов — это трассировка пути , двунаправленная трассировка пути или транспортировка света Metropolis , но также используются полуреалистичные методы, такие как трассировка лучей в стиле Уиттеда или гибриды. В то время как большинство реализаций позволяют свету распространяться по прямым линиям, существуют приложения для имитации релятивистских эффектов пространства-времени. [43]
При окончательном, качественном рендеринге работы с трассировкой лучей для каждого пикселя обычно испускается несколько лучей, которые трассируются не только до первого объекта пересечения, но и через ряд последовательных «отскоков», используя известные законы оптики, такие как «угол падения равен углу отражения», а также более сложные законы, учитывающие преломление и шероховатость поверхности.
Как только луч встречает источник света или, что более вероятно, после оценки заданного предельного числа отскоков, затем оценивается освещенность поверхности в этой конечной точке с использованием описанных выше методов, а изменения на пути через различные отскоки оцениваются для оценки значения, наблюдаемого в точке зрения. Все это повторяется для каждого образца, для каждого пикселя.
При трассировке лучей распределения в каждой точке пересечения может быть порождено несколько лучей. Однако при трассировке пути на каждом пересечении запускается только один луч или ни одного, используя статистическую природу экспериментов Монте-Карло .
Достижения в области технологий графических процессоров сделали трассировку лучей в реальном времени возможной в играх, хотя в настоящее время она почти всегда используется в сочетании с растеризацией. [22] : 2 Это позволяет создавать визуальные эффекты, которые трудно реализовать только с помощью растеризации, включая отражение от изогнутых поверхностей и взаимно отражающих объектов, [44] : 305 и тени, которые точны в широком диапазоне расстояний и ориентаций поверхности. [45] : 159-160 Поддержка трассировки лучей включена в последние версии графических API, используемых в играх, таких как DirectX , Metal и Vulkan . [46]
Радиосити
Излучение (названное в честь радиометрической величины с тем же названием ) — это метод рендеринга объектов, освещенных светом, отражающимся от шероховатых или матовых поверхностей . Этот тип освещения называется непрямым светом , освещением окружающей среды или диффузным освещением , а проблема его реалистичной визуализации называется глобальным освещением . Растеризация и основные формы трассировки лучей (кроме трассировки лучей распределения и трассировки пути) могут лишь приблизительно аппроксимировать непрямой свет, например, путем добавления равномерного количества «окружающего» освещения, выбранного художником. Методы излучения также подходят для рендеринга сцен с площадным освещением , таким как прямоугольные панели флуоресцентного освещения, которые трудно растеризовать и традиционную трассировку лучей. Излучение считается физически обоснованным методом , то есть он направлен на имитацию потока света в среде с использованием уравнений и экспериментальных данных из физики, однако он часто предполагает, что все поверхности непрозрачны и идеально ламбертовы , что снижает реализм и ограничивает его применимость. [9] : 10, 11.2.1 [24] : 888, 893 [47]
В оригинальном методе излучательности (впервые предложенном в 1984 году), который теперь называется классическим излучателем , поверхности и источники света в сцене разбиваются на части, называемые патчами , этот процесс называется сеткой (этот шаг делает его методом конечных элементов ). Затем код рендеринга должен определить, какая часть света, излучаемого или диффузно отражаемого (рассеиваемого) каждым патчем, принимается каждым другим патчем. Эти части называются форм-факторами или факторами вида (впервые использовались в инженерии для моделирования лучистого теплообмена ). Форм-факторы умножаются на альбедо принимающей поверхности и помещаются в матрицу . Затем освещение в сцене можно выразить в виде матричного уравнения (или, что эквивалентно, системы линейных уравнений ), которое можно решить методами линейной алгебры . [47] [48] : 46 [24] : 888, 896
Решение уравнения излучательности дает общее количество света, излучаемого и отражаемого каждым патчем, которое делится на площадь, чтобы получить значение, называемое излучательностью , которое может использоваться при растеризации или трассировке лучей для определения цвета пикселей, соответствующих видимым частям патча. Для рендеринга в реальном времени это значение (или, чаще, освещенность , которая не зависит от локального альбедо поверхности) может быть предварительно вычислено и сохранено в текстуре (называемой картой освещенности ) или сохранено как данные вершин для 3D-моделей. Эта функция использовалась в программном обеспечении для архитектурной визуализации, чтобы обеспечить возможность обхода интерьера здания в реальном времени после расчета освещения. [24] : 890 [9] : 11.5.1 [49] : 332
Большой размер матриц, используемых в классической излучательности (квадрат числа участков), вызывает проблемы для реалистичных сцен. Практические реализации могут использовать итерации Якоби или Гаусса-Зейделя , что эквивалентно (по крайней мере, в случае Якоби) моделированию распространения света по одному отскоку за раз, пока количество оставшегося света (еще не поглощенного поверхностями) не станет незначительным. Количество требуемых итераций (отскоков) зависит от сцены, а не от количества участков, поэтому общая работа пропорциональна квадрату числа участков (по сравнению с кубом для гауссовского исключения ). Форм-факторы могут быть пересчитаны, когда они необходимы, чтобы избежать хранения полной матрицы в памяти. [24] : 901, 907
Качество рендеринга часто определяется размером патчей, например, для точного отображения краев теней требуются очень мелкие сетки. Важным усовершенствованием является иерархическая излучательность , которая использует более грубую сетку (большие патчи) для имитации передачи света между поверхностями, которые находятся далеко друг от друга, и адаптивно подразделяет патчи по мере необходимости. Это позволяет использовать излучательность для гораздо более крупных и сложных сцен. [24] : 975, 939
Альтернативные и расширенные версии метода излучательности поддерживают неламбертовские поверхности, такие как глянцевые поверхности и зеркала, и иногда используют объемы или «кластеры» объектов, а также участки поверхности. Стохастическая или излучательность Монте-Карло использует случайную выборку различными способами, например, взятие образцов падающего света вместо интегрирования по всем участкам, что может улучшить производительность, но добавляет шум (этот шум можно уменьшить, используя детерминированные итерации в качестве конечного шага, в отличие от шума трассировки пути). Упрощенные и частично предварительно вычисленные версии излучательности широко используются для рендеринга в реальном времени в сочетании с такими методами, как излучательность октодерева , которые хранят приближения светового поля . [24] : 979, 982 [48] : 49 [50] [9] : 11.5
Трассировка пути
В рамках подхода, известного как физически обоснованный рендеринг , трассировка пути стала доминирующей техникой для рендеринга реалистичных сцен, включая эффекты для фильмов. [51] Например, популярное программное обеспечение для 3D-графики с открытым исходным кодом Blender использует трассировку пути в своем рендерере Cycles. [52] Изображения, полученные с использованием трассировки пути для глобального освещения , как правило, более шумные, чем при использовании излучательности (основного конкурирующего алгоритма для реалистичного освещения), но излучательность может быть трудно применима к сложным сценам и подвержена артефактам, которые возникают из-за использования мозаичного представления освещенности . [51] [24] : 975-976, 1045
Как и распределенная трассировка лучей , трассировка пути является разновидностью стохастической или рандомизированной трассировки лучей , которая использует интеграцию Монте-Карло или квази-Монте-Карло . Она была предложена и названа в 1986 году Джимом Каджией в той же статье, что и уравнение рендеринга . Каджийя заметил, что большую часть сложности распределенной трассировки лучей можно было бы избежать, если бы трассировка была только одной траектории от камеры за раз (в реализации Каджии это правило «отсутствия ветвления» было нарушено путем трассировки дополнительных лучей от каждой точки пересечения поверхностей до случайно выбранных точек на каждом источнике света). Каджийя предложил уменьшить шум, присутствующий в выходных изображениях, с помощью стратифицированной выборки и выборки по важности для принятия случайных решений, таких как выбор луча для следования на каждом этапе пути. Даже с этими методами трассировка пути была бы непрактичной для рендеринга фильмов с использованием доступных в то время компьютеров, поскольку вычислительные затраты на генерацию достаточного количества выборок для снижения дисперсии до приемлемого уровня были слишком высоки. «Дом-монстр» , первый художественный фильм, полностью созданный с использованием трассировки пути, был выпущен лишь 20 лет спустя. [25] [51] [53]
В своей базовой форме трассировка пути неэффективна (требует слишком много образцов) для рендеринга каустики и сцен, где свет проникает непрямо через узкие пространства. Попытки устранить эти недостатки были предприняты в 1990-х годах. Двунаправленная трассировка пути имеет сходство с фотонным картированием , трассируя лучи от источника света и камеры по отдельности, а затем находя способы соединить эти пути (но в отличие от фотонного картирования она обычно выбирает новые пути света для каждого пикселя, а не использует одни и те же кэшированные данные для всех пикселей). Транспорт света Metropolis выбирает пути, изменяя пути, которые были ранее отслежены, тратя больше времени на исследование путей, которые похожи на другие «яркие» пути, что увеличивает вероятность обнаружения еще более ярких путей. Выборка множественной важности обеспечивает способ уменьшения дисперсии при объединении образцов из более чем одного метода выборки, особенно когда некоторые образцы намного шумнее других. [51] [28]
Относительная простота трассировки пути и ее природа как метода Монте-Карло (выборка сотен или тысяч путей на пиксель) сделали ее привлекательной для реализации на графическом процессоре , особенно на последних графических процессорах, которые поддерживают технологию ускорения трассировки лучей, таких как RTX и OptiX от Nvidia . [54] Однако двунаправленную трассировку пути и транспортировку света Metropolis сложнее эффективно реализовать на графическом процессоре. [55] [56]
Исследования по улучшению трассировки пути продолжаются. Последние подходы к управлению путем создают аппроксимации распределения вероятностей светового поля в каждом объеме пространства, поэтому пути могут быть выбраны более эффективно. [57] Было разработано много методов для шумоподавления выходных данных трассировки пути, уменьшая количество путей, необходимых для достижения приемлемого качества, с риском потери некоторых деталей или введения мелкомасштабных артефактов, которые более нежелательны, чем шум; [58] [59] нейронные сети теперь широко используются для этой цели. [60] [61] [62]
Нейронный рендеринг
Нейронный рендеринг — это метод рендеринга с использованием искусственных нейронных сетей . [63] [64] Нейронный рендеринг включает в себя методы рендеринга на основе изображений , которые используются для реконструкции 3D-моделей из 2-мерных изображений. [63] Одним из таких методов является фотограмметрия , которая представляет собой метод, в котором набор изображений с разных углов объекта превращается в 3D-модель. Также были недавние разработки в области генерации и рендеринга 3D-моделей из текста и грубых рисунков, в частности, Nvidia , Google и различными другими компаниями.
Научно-математическая основа
Реализация реалистичного рендерера всегда содержит некий базовый элемент физического моделирования или эмуляции — некоторые вычисления, которые напоминают или абстрагируют реальный физический процесс.
Термин « физически обоснованный » указывает на использование физических моделей и приближений, которые являются более общими и широко принятыми за пределами рендеринга. Определенный набор связанных методов постепенно утвердился в сообществе рендеринга.
Базовые концепции относительно просты, но не поддаются вычислению; и единый элегантный алгоритм или подход оказался неуловимым для более универсальных рендереров. Чтобы удовлетворить требованиям надежности, точности и практичности, реализация будет представлять собой сложную комбинацию различных методов.
Исследования в области визуализации связаны как с адаптацией научных моделей, так и с их эффективным применением.
Это ключевая академическая/теоретическая концепция в рендеринге. Она служит наиболее абстрактным формальным выражением неперцептуального аспекта рендеринга. Все более полные алгоритмы можно рассматривать как решения частных формулировок этого уравнения.
Значение: в определенном положении и направлении, исходящий свет (L o ) является суммой испускаемого света (L e ) и отраженного света. Отраженный свет является суммой входящего света (L i ) со всех направлений, умноженной на отражение поверхности и входящий угол. Соединяя исходящий свет с внутренним светом через точку взаимодействия, это уравнение обозначает весь «перенос света» – все движение света – в сцене.
Взаимодействие света часто аппроксимируется еще более простыми моделями: диффузным отражением и зеркальным отражением, хотя обе модели ТАКЖЕ могут быть BRDF.
Геометрическая оптика
Рендеринг практически полностью связан с аспектом частиц физики света, известным как геометрическая оптика . Рассмотрение света на его базовом уровне как частиц, отскакивающих друг от друга, является упрощением, но уместным: волновые аспекты света незначительны в большинстве сцен и их значительно сложнее моделировать. Известные явления волнового аспекта включают дифракцию (как видно по цветам компакт-дисков и DVD ) и поляризацию (как видно на ЖК-дисплеях ). Оба типа эффекта, если необходимо, создаются путем корректировки модели отражения, ориентированной на внешний вид.
Визуальное восприятие
Хотя ему уделяется меньше внимания, понимание человеческого визуального восприятия ценно для рендеринга. Это в основном потому, что дисплеи изображений и человеческое восприятие имеют ограниченные диапазоны. Рендерер может имитировать широкий диапазон яркости и цвета света, но современные дисплеи — киноэкран, компьютерный монитор и т. д. — не могут справиться с таким количеством, и что-то должно быть отброшено или сжато. Человеческое восприятие также имеет ограничения, и поэтому ему не нужно давать изображения большого диапазона для создания реализма. Это может помочь решить проблему размещения изображений на дисплеях и, кроме того, подсказать, какие сокращения можно использовать при моделировании рендеринга, поскольку определенные тонкости не будут заметны. Эта связанная тема — тональная компрессия .
Отбор проб и фильтрация
Одной из проблем, с которой должна сталкиваться любая система рендеринга, независимо от того, какой подход она использует, является проблема выборки . По сути, процесс рендеринга пытается изобразить непрерывную функцию от пространства изображения к цветам, используя конечное число пикселей. Как следствие теоремы выборки Найквиста-Шеннона (или теоремы Котельникова), любая пространственная форма волны, которая может быть отображена, должна состоять как минимум из двух пикселей, что пропорционально разрешению изображения . Проще говоря, это выражает идею о том, что изображение не может отображать детали, пики или впадины в цвете или интенсивности, которые меньше одного пикселя.
Если использовать наивный алгоритм рендеринга без какой-либо фильтрации, высокие частоты в функции изображения приведут к появлению уродливого алиасинга в конечном изображении. Алиасинг обычно проявляется в виде неровностей или зубчатых краев на объектах, где видна пиксельная сетка. Чтобы удалить алиасинг, все алгоритмы рендеринга (если они должны создавать красивые изображения) должны использовать какой-либо фильтр нижних частот в функции изображения для удаления высоких частот, процесс, называемый сглаживанием .
Аппаратное обеспечение
Рендеринг обычно ограничен доступной вычислительной мощностью и пропускной способностью памяти , поэтому было разработано специализированное оборудование для его ускорения («ускорения»), особенно для рендеринга в реальном времени . Аппаратные функции, такие как кадровый буфер для растровой графики, необходимы для плавного отображения вывода рендеринга в реальном времени.
История
В эпоху векторных мониторов (также называемых каллиграфическими дисплеями ) блок обработки отображения (DPU) представлял собой выделенный ЦП или сопроцессор , который поддерживал список визуальных элементов и непрерывно перерисовывал их на экране, управляя электронным лучом . Усовершенствованные DPU, такие как Line Drawing System-1 компании Evans & Sutherland (и более поздние модели, выпущенные в 1980-х годах), включали функции преобразования трехмерных координат для ускорения рендеринга каркасных изображений . [20] : 93–94, 404–421 [65] Evans & Sutherland также создали проекционную систему планетария Digistar , которая представляла собой векторный дисплей, который мог отображать как звезды, так и каркасную графику (векторные Digistar и Digistar II использовались во многих планетариях, и некоторые из них, возможно, все еще находятся в эксплуатации). [66] [67] [68] Прототип Digistar использовался для рендеринга 3D-звездных полей для фильма « Звездный путь 2: Гнев Хана» — одних из первых 3D-последовательностей компьютерной графики, когда-либо показанных в художественном фильме. [69]
В 1970-х и начале 1980-х годов рендеринг затененной 3D-графики обычно реализовывался на компьютерах общего назначения, таких как PDP-10 , используемый исследователями в Университете Юты [70] [36] . Было трудно ускорить с помощью специализированного оборудования, поскольку оно включает в себя конвейер сложных шагов, требующий адресации данных, принятия решений и вычислительных возможностей, обычно предоставляемых только центральными процессорами (хотя были предложены специальные схемы для ускорения определенных операций [70] ). Суперкомпьютеры или специально разработанные многопроцессорные компьютеры или кластеры иногда использовались для трассировки лучей. [39] В 1981 году Джеймс Х. Кларк и Марк Ханна разработали Geometry Engine, чип VLSI для выполнения некоторых шагов конвейера 3D-растеризации, и основали компанию Silicon Graphics (SGI) для коммерциализации этой технологии. [71] [72]
Домашние компьютеры и игровые консоли в 1980-х годах содержали графические сопроцессоры , которые были способны прокручивать и заполнять области дисплея, а также рисовать спрайты и линии, хотя они не были полезны для рендеринга реалистичных изображений. [73] [74] К концу 1980-х годов начали появляться видеокарты для ПК и аркадные игры с ускорением 3D-рендеринга, а в 1990-х годах такая технология стала обычным явлением. Сегодня даже маломощные мобильные процессоры обычно включают функции ускорения 3D-графики. [71] [75]
Графические процессоры
Ускорители 3D-графики 1990-х годов превратились в современные графические процессоры. Графические процессоры являются процессорами общего назначения, как и центральные процессоры , но они предназначены для задач, которые можно разбить на множество небольших, похожих, в основном независимых подзадач (например, рендеринг отдельных пикселей) и выполнять параллельно . Это означает, что графический процессор может ускорить любой алгоритм рендеринга, который можно разбить на подзадачи таким образом, в отличие от 3D-ускорителей 1990-х годов, которые были разработаны только для ускорения определенных алгоритмов растеризации и простых эффектов затенения и освещения (хотя трюки могли использоваться для выполнения более общих вычислений). [9] : ch3 [76]
Графические процессоры обычно интегрируются с системами памяти с высокой пропускной способностью для поддержки требований к пропускной способности чтения и записи для рендеринга высокого разрешения в реальном времени, особенно когда для рендеринга кадра требуется несколько проходов, однако задержка памяти может быть выше, чем у центрального процессора, что может быть проблемой, если критический путь в алгоритме включает много обращений к памяти. Конструкция графического процессора принимает высокую задержку как неизбежную (отчасти потому, что большое количество потоков совместно используют шину памяти ) и пытается «скрыть» ее, эффективно переключаясь между потоками, поэтому другой поток может выполнять вычисления, пока первый поток ожидает завершения чтения или записи. [9] : ch3 [78] [79]
Алгоритмы рендеринга будут работать эффективно на GPU только в том случае, если они могут быть реализованы с использованием небольших групп потоков, которые выполняют в основном одни и те же операции. В качестве примера кода, который соответствует этому требованию: при рендеринге небольшого квадрата пикселей в простом изображении с трассировкой лучей все потоки, скорее всего, будут пересекать лучи с одним и тем же объектом и выполнять одни и те же вычисления освещения. По причинам производительности и архитектуры графические процессоры запускают группы из примерно 16-64 потоков, называемых варпами или волновыми фронтами, в режиме lock-step (все потоки в группе выполняют одни и те же инструкции одновременно). Если не всем потокам в группе нужно запускать определенные блоки кода (из-за условий), то некоторые потоки будут простаивать, или результаты их вычислений будут отброшены, что приведет к снижению производительности. [9] : ch3 [79]
Хронология алгоритмов и методов
Ниже приведена приблизительная хронология часто упоминаемых методов визуализации, включая области текущих исследований. Обратите внимание, что даже в случаях, когда идея упоминалась в конкретной статье, почти всегда было несколько исследователей, работающих в той же области (включая более ранние связанные работы). Когда метод предлагается впервые, он часто бывает очень неэффективным, и требуются дополнительные исследования и практические усилия, чтобы превратить его в полезную технику. [24] : 887
Архитектурная визуализация – создание двухмерных изображений или анимаций, демонстрирующих атрибуты предлагаемого архитектурного проекта.Pages displaying wikidata descriptions as a fallback
Предварительная обработка — процесс, при котором видеоматериал не обрабатывается в режиме реального времени.
Процессор растровых изображений – компонент, используемый в системе печати, который создает растровое изображение, также известное как битовая карта.Pages displaying wikidata descriptions as a fallback
Radiosity – метод визуализации компьютерной графики с использованием диффузного отражения.
^ ab Adobe Systems Incorporated (1990). Справочное руководство по языку PostScript (2-е изд.). Addison-Wesley Publishing Company. ISBN0-201-18127-4.
^ ab "SVG: Scalable Vector Graphics". Mozilla Corporation. 7 августа 2024 г. Архивировано из оригинала 24 августа 2024 г. Получено 31 августа 2024 г.
^ ab Хьюз, Джон Ф.; Ван Дам, Андрис ; Макгуайр, Морган; Склар, Дэвид Ф.; Фоли, Джеймс Д.; Файнер, Стивен К.; Экли, Курт (2014). Компьютерная графика: принципы и практика (3-е изд.). Addison-Wesley. ISBN978-0-321-39952-6.
^ ab "Blender 4.2 Manual: Importing & Exporting Files". docs.blender.org . Blender Foundation. Архивировано из оригинала 31 августа 2024 г. Получено 31 августа 2024 г.
^ Фарр, Мэтт; Якоб, Венцель; Хамфрис, Грег (2023). "pbrt-v4 Input File Format" . Получено 31 августа 2024 г. .
^ ab Dunlop, Renee (2014). Основы производственного конвейера для фильмов и игр . Focal Press. ISBN978-1-315-85827-2.
^ abcdefghijklmnopq Акенин-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати; Пеше, Анджело; Иваницкий, Михал; Хиллэр, Себастьян (2018). Рендеринг в реальном времени (4-е изд.). Бока-Ратон, Флорида: AK Peters/CRC Press. ISBN978-1138627000.
^ "About OpenVDB". www.openvdb.org . Academy Software Foundation. Архивировано из оригинала 3 сентября 2024 г. Получено 31 августа 2024 г.
^ 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 г. .
^ Bridson, Robert (2015). Моделирование жидкости для компьютерной графики (2-е изд.). AK Peters/CRC Press. ISBN978-1-482-23283-7.
^ Шмид, Катрин (2 марта 2023 г.). «Краткая 170-летняя история полей нейронного излучения (NeRF), голограмм и световых полей». radiancefields.com . Архивировано из оригинала 31 августа 2024 г. . Получено 31 августа 2024 г. .
^ ab Mildenhall, Ben; Srinivasan, Pratul P.; Tancik, Matthew; Barron, Jonathan T.; Ramamoorthi, Ravi; Ng, Ren (2020). "NeRF: Представление сцен как полей нейронного излучения для синтеза представлений" . Получено 31 августа 2024 г. .
^ 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 г.
^ ab Pharr, Matt; Jakob, Wenzel; Humphreys, Greg (2023). "pbrt-v4 User's Guide". Архивировано из оригинала 3 сентября 2024 года . Получено 31 августа 2024 года .
^ ab Brinkmann, Ron (2008). Искусство и наука цифрового композитинга (2-е изд.). Morgan Kaufmann. ISBN978-0-12-370638-6.
^ "Blender 4.2 Manual: Rendering: Render Output: Rendering Animations". docs.blender.org . Blender Foundation. Архивировано из оригинала 31 августа 2024 г. Получено 31 августа 2024 г.
^ abcdefgh Маршнер, Стив; Ширли, Питер (2022). Основы компьютерной графики (5-е изд.). CRC Press. ISBN978-1-003-05033-9.
^ abcdefg Хейнс, Эрик; Ширли, Питер (25 февраля 2019 г.). "1. Терминология трассировки лучей". Ray Tracing Gems: высококачественный рендеринг в реальном времени с помощью DXR и других API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN978-1-4842-4427-2. S2CID 71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ abcde Акенин-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати; Пеше, Анджело; Иваницкий, Михал; Хиллер, Себастьен (6 августа 2018 г.). "Онлайн-глава 26. Трассировка лучей в реальном времени" (PDF) . Рендеринг в реальном времени (4-е изд.). Бока-Ратон, Флорида: AK Peters/CRC Press. ISBN978-1138627000. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ Кук, Роберт Л. (11 апреля 2019 г.) [1989]. "5. Стохастическая выборка и распределенная трассировка лучей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ abcdefghijk Гласснер, Эндрю С. (2011) [1995]. Принципы цифрового синтеза изображений (PDF) . 1.0.1. Morgan Kaufmann Publishers, Inc. ISBN978-1-55860-276-2. Архивировано (PDF) из оригинала 2024-01-27 . Получено 2024-01-27 .
^ abcd Каджия, Джеймс Т. (август 1986). «Уравнение рендеринга». ACM SIGGRAPH Computer Graphics . 20 (4): 143–150. doi :10.1145/15886.15902. Архивировано из оригинала 3 сентября 2024 года . Получено 27 января 2024 года .
^ ab Glassner, Andrew S. (11 апреля 2019 г.) [1989]. "1. Обзор трассировки лучей". Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ Арво, Джеймс (август 1986 г.). Обратная трассировка лучей (конспект курса) (PDF) . SIGGRAPH 1986 Developments in Ray Tracing. Том 12. CiteSeerX 10.1.1.31.581 . Получено 5 октября 2024 г. .
^ ab Veach, Eric (1997). Надежные методы Монте-Карло для моделирования переноса света (PDF) (диссертация). Стэнфордский университет.
^ Дютре, Филип; Бала, Кавита; Бекарт, Филипп (2015). Продвинутое глобальное освещение (2-е изд.). АК Петерс/CRC Press. ISBN978-1-4987-8562-4.
^ "Unity Manual:Light Probes: Introduction". docs.unity3d.com . Архивировано из оригинала 3 сентября 2024 г. Получено 27 января 2024 г.
^ "Blender Manual: Rendering: EEVEE: Light Probes: Introduction". docs.blender.org . Blender Foundation. Архивировано из оригинала 24 марта 2024 года . Получено 27 января 2024 года .
^ ab Warnock, John (июнь 1969), Алгоритм скрытой поверхности для полутоновых изображений, созданных компьютером, Университет Юты, TR 69-249 , получено 19 сентября 2024 г.
^ ab Bouknight, WJ (1970). "Процедура генерации трехмерных полутоновых компьютерных графических презентаций". Communications of the ACM . 13 (9): 527–536. doi : 10.1145/362736.362739 . S2CID 15941472.
^ Stamm, Beat (21 июня 2018 г.). «Возвращение к трагедии растра при низком разрешении: возможности и проблемы за пределами «дельта-хинтинга»». rastertragedy.com . Получено 19 сентября 2024 г.
^ ab Watkins, Gary Scott (июнь 1970), A Real Time Visible Surface Algorithm, University of Utah , получено 19 сентября 2024 г.
^ abcde Кэтмелл, Эдвин (декабрь 1974 г.). Алгоритм подразделения для компьютерного отображения криволинейных поверхностей (PDF) (диссертация). Университет Юты . Получено 19 сентября 2024 г.
^ ab Карпентер, Лорен (июль 1984 г.). «А-буфер, метод скрытой сглаженной поверхности». Компьютерная графика . 18 (3): 103–108. doi :10.1145/964965.808585.
^ ab Кук, Роберт Л. ; Карпентер, Лорен ; Кэтмелл, Эдвин (июль 1987 г.). "Архитектура рендеринга изображений Рейеса" (PDF) . Компьютерная графика ACM SIGGRAPH . 21 (4). Ассоциация вычислительной техники: 95–102. doi :10.1145/37402.37414. ISSN 0097-8930. Архивировано (PDF) из оригинала 2011-07-15 . Получено 19 сентября 2024 г. .
^ abc Арво, Джеймс; Кирк, Дэвид (11 апреля 2019 г.) [1989]. "6. Обзор методов ускорения трассировки лучей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN978-0-12-286160-4. Получено 13 сентября 2024 г. .
^ ab Appel, A. (1968). "Некоторые методы машинной визуализации шейдеров" (PDF) . Труды Весенней совместной компьютерной конференции . Том 32. С. 37–49. Архивировано (PDF) из оригинала 2012-03-13 . Получено 19 сентября 2024 .
^ 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. ISBN978-1-4842-4427-2. S2CID 71144394 . Получено 13 сентября 2024 г. .
^ Ханрахан, Пэт (11 апреля 2019 г.) [1989]. "2. Обзор алгоритмов пересечения лучей и поверхностей". В Glassner, Andrew S. (ред.). Введение в трассировку лучей (PDF) . 1.3. ACADEMIC PRESS. ISBN978-0-12-286160-4. Архивировано (PDF) из оригинала 27 января 2024 г. . Получено 22 сентября 2024 г. .
^ Лю, Эдвард; Льямас, Игнасио; Каньяда, Хуан; Келли, Патрик (25 февраля 2019 г.). «19: Кинематографический рендеринг в UE4 с трассировкой лучей в реальном времени и шумоподавлением». Ray Tracing Gems: высококачественный рендеринг в реальном времени с DXR и другими API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN978-1-4842-4427-2. S2CID 71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ Боксански, Якуб; Виммер, Михаэль; Биттнер, Иржи (25 февраля 2019 г.). "13. Тени с трассировкой лучей: поддержание частоты кадров в реальном времени". Драгоценные камни трассировки лучей: высококачественный рендеринг в реальном времени с помощью DXR и других API. Беркли, Калифорния: Apress. doi : 10.1007/978-1-4842-4427-2. ISBN978-1-4842-4427-2. S2CID 71144394. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ "Блог Хроноса: Трассировка лучей в Вулкане" . www.khronos.org . The Khronos® Group Inc. 15 декабря 2020 г. Проверено 27 января 2024 г.
^ ab Goral, Cindy M.; Torrance, Kenneth E.; Greenberg, Donald P .; Battaile, Bennett (июль 1984 г.). "Моделирование взаимодействия света между диффузными поверхностями" (PDF) . Труды 11-й ежегодной конференции по компьютерной графике и интерактивным технологиям . Том 18. Ассоциация вычислительной техники. стр. 213–222. doi :10.1145/800031.808601. ISBN0-89791-138-5. ISSN 0097-8930 . Получено 8 октября 2024 г. .
^ ab Dutré, Philip (29 сентября 2003 г.), Global Illumination Compendium: The Concise Guide to Global Illumination Algorithms , получено 6 октября 2024 г.
^ Коэн, Майкл Ф.; Уоллес, Джон Р. (1993). Излучательность и реалистичный синтез изображений . Academic Press. ISBN0-12-178270-0.
^ Бекарт, Филипп (1999). Иерархические и стохастические алгоритмы для излучательности (диссертация). Кафедра компьютерных наук, Католический университет Лёвена.
^ abcde Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). "1.6". Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ "Blender Manual: Rendering: Cycles: Introduction". docs.blender.org . Blender Foundation. Архивировано из оригинала 3 сентября 2024 года . Получено 27 января 2024 года .
^ Кулла, Кристофер (30 июля 2017 г.), Арнольд в Sony Pictures Imageworks: От Monster House до Smurfs: The Lost Village (слайды курса) (PDF) , SIGGRAPH, Лос-Анджелес{{citation}}: CS1 maint: location missing publisher (link)
^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «15. Wavefront Rendering on GPUs». Physically Based Rendering: From Theory to Implementation (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ Отте, Вилем (2015). Двунаправленная трассировка путей на графическом процессоре (PDF) (магистерская диссертация). Масариков университет, Брно.
^ Шмидт, Мартин; Лобачев, Олег; Гуте, Майкл (2016). «Когерентный транспорт света метрополии на графическом процессоре с использованием спекулятивных мутаций» (PDF) . Журнал WSCG . 24 (1): 1–8. ISSN 1213-6972.
^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «13. Дальнейшее чтение: Путь руководства». Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN978-0262048026. Получено 8 сентября 2024 г. .
^ Фарр, Мэтт ; Якоб, Венцель; Хамфрис, Грег (28 марта 2023 г.). «5. Дальнейшее чтение: шумоподавление». Физически обоснованный рендеринг: от теории к реализации (4-е изд.). Кембридж, Массачусетс: The MIT Press. ISBN978-0262048026. Архивировано из оригинала 27 января 2024 г. . Получено 27 января 2024 г. .
^ "Blender Manual: Rendering: Cycles: Optimizing Renders: Reducing Noise". docs.blender.org . Blender Foundation. Архивировано из оригинала 27 января 2024 г. Получено 27 января 2024 г.
^ "Blender Manual: Rendering: Cycles: Render Settings: Sampling". docs.blender.org . Blender Foundation. Архивировано из оригинала 27 января 2024 года . Получено 27 января 2024 года .
^ "Intel® Open Image Denoise: высокопроизводительная библиотека шумоподавления для трассировки лучей". www.openimagedenoise.org . Корпорация Intel. Архивировано из оригинала 6 января 2024 г. Получено 27 января 2024 г.
^ "NVIDIA OptiX™ AI-Accelerated Denoiser". developer.nvidia.com . NVIDIA Corporation. Архивировано из оригинала 18 января 2024 года . Получено 27 января 2024 года .
^ "Городской научный музей Нагои - Путеводитель по выставке - Digistar II". www.ncsm.city.nagoya.jp . Городской научный музей Нагои . Получено 13 сентября 2024 г. .
^ "Evans_and_Sutherland Digistar-II". planetariums-database.org . База данных планетариев мира . Получено 13 сентября 2024 г. .
^ "Список планетариев, использующих Evans_and_Sutherland Digistar-II". planetariums-database.org . База данных планетариев мира . Получено 13 сентября 2024 г. .
^ Смит, Элви Рэй (октябрь 1982 г.). "Спецэффекты для Star Trek II: The Genesis Demo" (PDF) . American Cinematographer : 1038. Получено 13 сентября 2024 г.
^ ab Bùi, Tường-Phong (1973). Освещение для компьютерно-генерируемых изображений (PDF) (диссертация). Университет Юты.
^ ab Peddie, Jon (24 сентября 2020 г.). «Знаменитые графические чипы: Geometry Engine». www.computer.org . Институт инженеров по электротехнике и электронике (IEEE) . Получено 13 сентября 2024 г. .
^ Кларк, Джеймс Х. (1980). «Структурирование архитектуры системы СБИС» (PDF) . Lambda (2-й квартал): 25–30.
^ "NES Dev Wiki: PPU" . www.nesdev.org . Несдев вики . Проверено 13 сентября 2024 г.
^ Гарольд, Дэвид (11 августа 2017 г.). «PowerVR в 25: история графической революции». blog.imaginationtech.com . Imagination Technologies Limited . Получено 13 сентября 2024 г. .
^ Пирси, Марк С.; Олано, Марк; Эйри, Джон; Унгар, П. Джеффри (2000). "Интерактивное многопроходное программируемое затенение" (PDF) . Труды 27-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '00 . стр. 425-432. doi :10.1145/344779.344976. ISBN1-58113-208-5. Получено 13 сентября 2024 г. .
^ "NVIDIA DLSS 3". nvidia.com . NVIDIA Corporation . Получено 13 сентября 2024 г. .
^ Лэм, Честер (16 апреля 2021 г.). «Измерение задержки памяти графического процессора». chipsandcheese.com . Chips and Cheese . Получено 13 сентября 2024 г. .
^ 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 г.
↑ Уорнок, Джон (20 мая 1968 г.), Алгоритм скрытой линии для представления полутоновых изображений (PDF) , Университет Юты, TR 4-5 , получено 19 сентября 2024 г.
^ Gouraud, H. (1971). «Непрерывное затенение криволинейных поверхностей» (PDF) . IEEE Transactions on Computers . 20 (6): 623–629. doi :10.1109/tc.1971.223313. S2CID 123827991. Архивировано из оригинала (PDF) 2010-07-02.
^ ab "История | Школа вычислительной техники". Архивировано из оригинала 2013-12-03 . Получено 2021-11-22 .
^ 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.
^ Блинн, Дж. Ф .; Ньюэлл, М. Э. (1976). «Текстура и отражение в компьютерных изображениях». Сообщения ACM . 19 (10): 542–546. CiteSeerX 10.1.1.87.8903 . doi :10.1145/360349.360353. S2CID 408793.
^ Блинн, Джеймс Ф. (20 июля 1977 г.). «Модели отражения света для компьютерно-синтезированных изображений». ACM SIGGRAPH Computer Graphics . 11 (2): 192–198. doi : 10.1145/965141.563893 – через dl.acm.org.
^ Crow, FC (1977). "Теневые алгоритмы для компьютерной графики" (PDF) . Компьютерная графика (Труды SIGGRAPH 1977) . Том 11. С. 242–248. Архивировано из оригинала (PDF) 2012-01-13 . Получено 2011-07-15 .
^ Уильямс, Л. (1978). «Отбрасывание изогнутых теней на изогнутые поверхности». Компьютерная графика (Труды SIGGRAPH 1978) . Т. 12. С. 270–274. CiteSeerX 10.1.1.134.8225 .
^ Блинн, Дж. Ф. (1978). Моделирование морщинистых поверхностей (PDF) . Компьютерная графика (Труды SIGGRAPH 1978). Том 12. С. 286–292. Архивировано (PDF) из оригинала 21.01.2012.
^ Фукс, Х.; Кедем, З.М.; Нейлор, Б.Ф. (1980). О генерации видимых поверхностей априорными древовидными структурами . Компьютерная графика (Труды SIGGRAPH 1980). Т. 14. С. 124–133. CiteSeerX 10.1.1.112.4406 .
^ Уиттед, Т. (1980). «Улучшенная модель освещения для затененного дисплея». Сообщения ACM . 23 (6): 343–349. CiteSeerX 10.1.1.114.7629 . doi :10.1145/358876.358882. S2CID 9524504.
^ Кук, Р. Л .; Торранс, К. Э. (1981). Модель отражения для компьютерной графики . Компьютерная графика (Труды SIGGRAPH 1981). Т. 15. С. 307–316. CiteSeerX 10.1.1.88.7796 .
^ Уильямс, Л. (1983). Пирамидальная параметрика . Компьютерная графика (Труды SIGGRAPH 1983). Т. 17. С. 1–11. CiteSeerX 10.1.1.163.6298 .
^ Glassner, AS (1984). «Разделение пространства для быстрой трассировки лучей». IEEE Computer Graphics & Applications . 4 (10): 15–22. doi :10.1109/mcg.1984.6429331. S2CID 16965964.
^ Портер, Т.; Дафф, Т. (1984). Компоновка цифровых изображений (PDF) . Компьютерная графика (Труды SIGGRAPH 1984). Том 18. С. 253–259. Архивировано (PDF) из оригинала 2015-02-16.
^ Горал, К.; Торранс, К.Е.; Гринберг, Д.П .; Баттайл, Б. (1984). Моделирование взаимодействия света между диффузными поверхностями . Компьютерная графика (Труды SIGGRAPH 1984). Т. 18. С. 213–222. CiteSeerX 10.1.1.112.356 .
^ Коэн, М. Ф.; Гринберг , Д. П. (1985). Полукуб: решение по методу излучения для сложных сред (PDF) . Компьютерная графика (Труды SIGGRAPH 1985). Том 19. С. 31–40. doi :10.1145/325165.325171. Архивировано из оригинала (PDF) 24.04.2014 . Получено 25.03.2020 .
^ Арво, Дж. (1986). Обратная трассировка лучей . SIGGRAPH 1986 Разработки в области трассировки лучей. Заметки к курсу. CiteSeerX 10.1.1.31.581 .
^ Wu, Xiaolin (июль 1991). Эффективный метод сглаживания. Том 25. С. 143–152. doi :10.1145/127719.122734. ISBN978-0-89791-436-9. {{cite book}}: |journal=проигнорировано ( помощь )
^ Ву, Сяолинь (1991). «Быстрое создание сглаженных кругов». У Джеймса Арво (ред.). Графические драгоценности II . Сан-Франциско: Морган Кауфманн. стр. 446–450. ISBN978-0-12-064480-3.
^ Ханрахан, П.; Зальцман , Д.; Опперле, Л. (1991). Быстрый иерархический алгоритм излучательности . Компьютерная графика (Труды SIGGRAPH 1991). Т. 25. С. 197–206. CiteSeerX 10.1.1.93.5694 .
^ М. Орен и С. К. Наяр, «Обобщение модели отражения Ламберта. Архивировано 15 февраля 2010 г. в Wayback Machine ». SIGGRAPH. стр. 239–246, июль 1994 г.
^ 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.
^ Ханрахан, П.; Крюгер, В. (1993). Отражение от слоистых поверхностей из-за подповерхностного рассеяния . Компьютерная графика (Труды SIGGRAPH 1993). Т. 27. С. 165–174. CiteSeerX 10.1.1.57.9761 .
^ Лафортюн, Эрик; Виллемс, Ив (декабрь 1993 г.). «Двунаправленная трассировка пути» (PDF) . Труды Третьей международной конференции по вычислительной графике и методам визуализации (CompuGraphics) . стр. 145–153. Архивировано (PDF) из оригинала 21 мая 2022 г. . Получено 2 сентября 2024 г. .
^ Миллер, Гэвин (24 июля 1994 г.). "Эффективные алгоритмы для локального и глобального затенения доступности". Труды 21-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '94 . ACM. стр. 319–326. doi :10.1145/192161.192244. ISBN978-0897916677. S2CID 15271113. Архивировано из оригинала 22 ноября 2021 г. . Получено 7 мая 2018 г. – через dl.acm.org.
^ Jensen, HW ; Christensen, NJ (1995). «Фотонные карты в двунаправленной трассировке лучей Монте-Карло сложных объектов». Компьютеры и графика . 19 (2): 215–224. CiteSeerX 10.1.1.97.2724 . doi :10.1016/0097-8493(94)00145-o.
^ Veach, Eric; Guibas, Leonidas J. (15 сентября 1995 г.). «Оптимальное комбинирование методов выборки для рендеринга Монте-Карло». SIGGRAPH95: 22-я Международная конференция ACM по компьютерной графике и интерактивным технологиям . стр. 419–428. doi :10.1145/218380.218498. Архивировано из оригинала 26 июля 2024 г. Получено 2 сентября 2024 г.
^ Veach, E. ; Guibas, L. (1997). Метрополисный легкий транспорт . Компьютерная графика (Труды SIGGRAPH 1997). Т. 16. С. 65–76. CiteSeerX 10.1.1.88.944 .
^ Veach, E. ; Guibas, L. (1997). Метрополисный легкий транспорт . Компьютерная графика (Труды SIGGRAPH 1997). Т. 16. С. 65–76. CiteSeerX 10.1.1.88.944 .
^ Келлер, А. (1997). Мгновенная радиационность . Компьютерная графика (Труды SIGGRAPH 1997). Т. 24. С. 49–56. CiteSeerX 10.1.1.15.240 .
^ Слоан, П.; Каутц, Дж.; Снайдер, Дж. (2002). Предварительно вычисленная передача излучения для рендеринга в реальном времени в динамических низкочастотных средах освещения (PDF) . Компьютерная графика (Труды SIGGRAPH 2002). Том 29. С. 527–536. Архивировано из оригинала (PDF) 24.07.2011.
^ 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 г. .
^ Мюллер, Томас; Гросс, Маркус; Новак, Ян (июнь 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 г.
^ Биттерли, Бенедикт; Уайман, Крис; Фарр, Мэтт; Ширли, Питер; Лефон, Аарон; Ярош, Войцех (июль 2020 г.). «Пространственно-временная передискретизация резервуара для трассировки лучей в реальном времени с динамическим прямым освещением». ACM Transactions on Graphics . 39 (4). doi :10.1145/3386569.3392481. Архивировано из оригинала 1 марта 2024 г. . Получено 2 сентября 2024 г. .
Дальнейшее чтение
Акенине-Мёллер, Томас; Хейнс, Эрик; Хоффман, Нати; Пеше, Анджело; Иваницкий, Микал; Хиллэр, Себастьян (2018). Рендеринг в реальном времени (4-е изд.). Бока-Ратон, Флорида, США: AK Peters. ISBN 978-1-13862-700-0.
Блинн, Джим (1996). Уголок Джима Блинна: путешествие по графическому конвейеру . Сан-Франциско, Калифорния: Morgan Kaufmann Publishers. ISBN 978-1-55860-387-5.
Коэн, Майкл Ф.; Уоллес, Джон Р. (1998). Излучательность и реалистичный синтез изображений (3-е изд.). Бостон, Массачусетс. [ua]: Academic Press Professional. ISBN 978-0-12-178270-2.
Филип Дютре; Бекарт, Филипп; Бала, Кавита (2003). Расширенное глобальное освещение (изд. [Online-Ausg.]). Натик, Массачусетс: АК Питерс. ISBN 978-1-56881-177-2.
Фоли, Джеймс Д .; Ван Дам; Фейнер; Хьюз (1990). Компьютерная графика: принципы и практика (2-е изд.). Reading, Mass.: Addison-Wesley. ISBN 978-0-201-12110-0.
Эндрю С. Гласснер, ред. (1989). Введение в трассировку лучей (3-е изд.). Лондон [ua]: Acad. Press. ISBN 978-0-12-286160-4.
Гуч, Брюс; Гуч, Эми (2001). Нефотореалистичный рендеринг . Натик, Массачусетс: AK Peters. ISBN 978-1-56881-133-8.
Йенсен, Хенрик Ванн (2001). Синтез реалистичных изображений с использованием фотонного картирования (изд. [Начдр.]). Натик, Массачусетс: АК Питерс. ISBN 978-1-56881-147-5.
Фарр, Мэтт; Хамфрис, Грег (2004). Физически обоснованный рендеринг от теории до реализации . Амстердам: Elsevier/Morgan Kaufmann. ISBN 978-0-12-553180-1.
Ширли, Питер ; Морли, Р. Кит (2003). Реалистичная трассировка лучей (2-е изд.). Натик, Массачусетс: AK Peters. ISBN 978-1-56881-198-7.
Стротхотт, Томас; Шлехтвег, Стефан (2002). Нефотореалистичное компьютерное графическое моделирование, рендеринг и анимация (2-е изд.). Сан-Франциско, Калифорния: Морган Кауфманн. ISBN 978-1-55860-787-3.
Ward, Gregory J. (июль 1994 г.). "Система моделирования и рендеринга освещения RADIANCE". Труды 21-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '94 . стр. 459–72. doi :10.1145/192161.192286. ISBN 0897916670. S2CID 2487835.
Внешние ссылки
Найдите значение слова «рендерер» в Викисловаре, бесплатном словаре.
На Викискладе есть медиафайлы по теме « Изображения, созданные компьютером» .
SIGGRAPH – специальная группа ACM по графическим интересам – крупнейшая академическая и профессиональная ассоциация и конференция
vintage3d.org «Путь к домашнему 3D» – Обширная история аппаратного обеспечения компьютерной графики, включая исследования, коммерциализацию, а также видеоигры и консоли.