Рендеринг на основе законов физики Год издания: 2023 Автор: Фарр М., Джейкоб В., Хамфрис Г. Переводчик: Люско И. Л. Издательство: ДМК Пресс ISBN: 978-5-93700-237-2 Язык: Русский Формат: PDF Качество: Издательский макет или текст (eBook) Количество страниц: 1210 Описание: В книге описывается рендеринг, основанный на рейтрейсинге – алгоритме трассировки лучей, который способен отображать физически реалистичные изображения сложных сцен. Описывается рейтрейсинг как вычислительный метод, основанный на физике процесса; рассматриваются радиометрия, спектры и цвет, представление геометрии сцены, иерархии ограничивающих объемов, текстуры и материалы, семплинг и антиалиасинг, источники света и многое другое. Большое внимание уделяется оптимизации процесса рендеринга, а также использовании графического процессора для ускорения вычислений. Издание предназначено для разработчиков программного обеспечения, тех, кто занимается исследованиями в области компьютерной графики, а также студентов и аспирантов, обучающихся по данному направлению.
Примеры страниц
Оглавление
ОТ ИЗДАТЕЛЬСТВА............................................................................................................... 16 ОБ АВТОРАХ............................................................................................................................. 17 ПРЕДИСЛОВИЕ....................................................................................................................... 18 ГЛАВА 01 ВВЕДЕНИЕ......................................................................................................... 30 1.1 Грамотное программирование........................................................................................ 30 1.2 Фотореалистический рендеринг и алгоритм рейтрейсинга......................................... 33 1.2.1 Камеры и пленка............................................................................................... 35 1.2.2 Пересечения луч–объект.................................................................................. 37 1.2.3 Распределение света......................................................................................... 38 1.2.4 Видимость.......................................................................................................... 40 1.2.5 Поверхности, рассеивающие свет.................................................................... 41 1.2.6 Непрямое пропускание света........................................................................... 41 1.2.7 Распространение луча...................................................................................... 44 1.3 Обзор системы pbrt.......................................................................................................... 45 1.3.1 Этапы выполнения............................................................................................ 46 1.3.2 Функция main() системы pbrt........................................................................... 47 1.3.3 Интерфейс Integrator........................................................................................ 51 1.3.4 ImageTileIntegrator и основной цикл рендеринга.......................................... 53 1.3.5 Реализация RayIntegrator................................................................................. 57 1.3.6 Интегратор случайного блуждания................................................................. 60 1.4 Как изучать материал этой книги................................................................................... 65 1.4.1 Упражнения....................................................................................................... 66 1.4.2 Просмотр изображений.................................................................................... 67 1.4.3 Онлайн-версия.................................................................................................. 67 1.5 Понимание и использование кода.................................................................................. 67 1.5.1 Организация исходного кода........................................................................... 67 1.5.2 Соглашение по наименованиям...................................................................... 68 1.5.3 Указатель или ссылка?...................................................................................... 68 1.5.4 Абстрактность или эффективность?................................................................ 69 1.5.5 Пространство имен pstd................................................................................... 69 1.5.6 Аллокаторы....................................................................................................... 69 1.5.7 Динамическая диспетчеризация..................................................................... 70 1.5.8 Оптимизация кода............................................................................................ 71 1.5.9 Отладка и регистрация..................................................................................... 71 1.5.10 Параллелизм и безопасность потоков............................................................. 72 1.5.11 Расширение системы........................................................................................ 73 1.5.12 Программные ошибки...................................................................................... 73 1.6 Краткая история рендеринга на основе законов физики.............................................. 73 1.6.1 Исследования.................................................................................................... 74 1.6.2 Производство.................................................................................................... 76 Дополнительная литература........................................................................................................ 78 Упражнения.................................................................................................................................. 80 ГЛАВА 02 ИНТЕГРИРОВАНИЕ МЕТОДОМ МОНТЕ-КАРЛО................................. 82 2.1 Метод Монте-Карло: основы........................................................................................... 83 2.1.1 Обзор предпосылок и теории вероятностей................................................... 83 2.1.2 Ожидаемые значения....................................................................................... 85 2.1.3 Оценка Монте-Карло........................................................................................ 85 2.1.4 Ошибка в статистических оценках Монте-Карло........................................... 87 2.2 Повышение эффективности............................................................................................ 89 2.2.1 Стратифицированный семплинг..................................................................... 89 2.2.2 Семплинг по значимости................................................................................. 91 2.2.3 Семплинг по множественной значимости...................................................... 93 2.2.4 Русская рулетка................................................................................................. 96 2.2.5 Расщепление..................................................................................................... 97 2.3 Семплинг методом инверсии.......................................................................................... 97 2.3.1 Дискретный случай........................................................................................... 97 2.3.2 Непрерывный случай...................................................................................... 100 2.4 Преобразование между распределениями................................................................... 101 2.4.1 Преобразование в нескольких измерениях.................................................. 102 2.4.2 Семплинг с многомерными преобразованиями.......................................... 103 Дополнительная литература...................................................................................................... 105 Упражнения................................................................................................................................ 106 ГЛАВА 03 ГЕОМЕТРИЯ И ПРЕОБРАЗОВАНИЯ....................................................... 108 3.1 Системы координат........................................................................................................ 108 3.1.1 Направленность системы координат............................................................. 109 3.2 Базовые классы n-кортежей........................................................................................... 110 3.3 Векторы........................................................................................................................... 113 3.3.1 Нормализация и длина вектора..................................................................... 114 3.3.2 Скалярное и векторное произведения.......................................................... 116 3.3.3 Система координат из одного вектора.......................................................... 118 3.4 Точки................................................................................................................................ 119 3.5 Нормали.......................................................................................................................... 120 3.6 Лучи................................................................................................................................. 121 3.6.1 Дифференциалы лучей................................................................................... 123 3.7 Ограничивающие боксы................................................................................................ 124 3.8 Сферическая геометрия................................................................................................. 130 3.8.1 Телесные углы................................................................................................. 130 3.8.2 Сферические полигоны.................................................................................. 131 3.8.3 Сферические параметризации....................................................................... 133 3.8.4 Ограничивающие направления..................................................................... 140 3.9 Преобразования.............................................................................................................. 144 3.9.1 Однородные координаты............................................................................... 145 3.9.2 Оценка класса преобразования..................................................................... 146 3.9.3 Базовые операции........................................................................................... 146 3.9.4 Перемещения (трансляции)........................................................................... 148 3.9.5 Масштабирование........................................................................................... 149 3.9.6 Поворот по осям x, y и z.................................................................................. 150 3.9.7 Поворот вокруг произвольной оси................................................................ 152 3.9.8 Поворот одного вектора к другому................................................................ 153 3.9.9 Преобразование точки зрения....................................................................... 154 3.10 Применение преобразований........................................................................................ 155 3.10.1 Точки................................................................................................................ 156 3.10.2 Векторы............................................................................................................ 156 3.10.3 Нормали........................................................................................................... 156 3.10.4 Лучи.................................................................................................................. 157 3.10.5 Ограничивающие боксы................................................................................. 157 3.10.6 Композиция преобразований........................................................................ 158 3.10.7 Преобразования и направленность системы координат............................. 158 3.10.8 Векторные фреймы......................................................................................... 159 3.10.9 Анимированные преобразования................................................................. 160 3.11 Взаимодействия.............................................................................................................. 162 3.11.1 Взаимодействие с поверхностью................................................................... 164 3.11.2 Взаимодействие со средой............................................................................. 166 Дополнительная литература...................................................................................................... 167 Упражнения................................................................................................................................ 168 ГЛАВА 04 РАДИОМЕТРИЯ, СПЕКТРЫ И ЦВЕТ....................................................... 170 4.1 Радиометрия................................................................................................................... 171 4.1.1 Базовые величины.......................................................................................... 172 4.1.2 Функции падающего и исходящего излучений............................................ 175 4.1.3 Радиометрические спектральные распределения....................................... 177 4.1.4 Яркость и фотометрия.................................................................................... 177 4.2 Работа с радиометрическими интегралами................................................................. 178 4.2.1 Интегралы по проекции телесного угла........................................................ 178 4.2.2 Интегралы по сферическим координатам.................................................... 179 4.2.3 Интегралы по площади.................................................................................. 180 4.3 Отражение от поверхности............................................................................................ 181 4.3.1 BRDF и BTDF.................................................................................................... 182 4.3.2 BSSRDF............................................................................................................. 184 4.4 Излучение света.............................................................................................................. 184 4.4.1 Излучение черного тела................................................................................. 186 4.4.2 Стандартные источники света....................................................................... 188 4.5 Представление спектральных распределений............................................................. 189 4.5.1 Интерфейс спектра......................................................................................... 190 4.5.2 Общие спектральные распределения............................................................ 191 4.5.3 Встроенные спектральные данные................................................................ 194 4.5.4 Семплированные спектральные распределения.......................................... 195 4.6 Цвет.................................................................................................................................. 200 4.6.1 Цветовое пространство XYZ........................................................................... 201 4.6.2 Цвет RGB.......................................................................................................... 205 4.6.3 Цветовые пространства RGB.......................................................................... 207 4.6.4 Почему именно спектральный рендеринг?.................................................. 210 4.6.5 Выбор количества длин волн для семплинга................................................ 211 4.6.6 От RGB к спектрам.......................................................................................... 214 Дополнительная литература...................................................................................................... 224 Упражнения................................................................................................................................ 227 ГЛАВА 05 КАМЕРЫ И ПЛЕНКА..................................................................................... 229 5.1 Интерфейс камеры......................................................................................................... 230 5.1.1 Пространства координат камеры................................................................... 232 5.1.2 Класс CameraBase............................................................................................ 235 5.2 Модели проекционных камер....................................................................................... 238 5.2.1 Ортографическая камера............................................................................... 240 5.2.2 Перспективная камера................................................................................... 243 5.2.3 Модель тонкой линзы и глубина резкости.................................................... 246 5.3 Сферическая камера....................................................................................................... 252 5.4 Пленка и изображение................................................................................................... 254 5.4.1 Уравнение измерения камеры....................................................................... 254 5.4.2 Моделирование отклика световоспринимающего сенсора......................... 255 5.4.3 Фильтрация семплов изображения............................................................... 264 5.4.4 Интерфейс пленки.......................................................................................... 267 5.4.5 Общая функциональность пленки................................................................. 269 5.4.6 RGBFilm............................................................................................................ 271 5.4.7 GBBufferFilm.................................................................................................... 275 Дополнительная литература...................................................................................................... 276 Упражнения................................................................................................................................ 279 ГЛАВА 06 ФОРМЫ............................................................................................................. 282 6.1 Базовый интерфейс формы........................................................................................... 282 6.1.1 Ограничивающие объемы.............................................................................. 282 6.1.2 Пересечения лучей с границами.................................................................... 283 6.1.3 Проверки пересечения................................................................................... 286 6.1.4 Пространство координат пересечений ......................................................... 287 6.1.5 Одностороннесть............................................................................................. 288 6.1.6 Диффузные источники................................................................................... 288 6.1.7 Семплинг......................................................................................................... 288 6.2 Сферы.............................................................................................................................. 290 6.2.1 Ограничивающие боксы................................................................................. 293 6.2.2 Проверки пересечения................................................................................... 293 6.2.3 Площадь поверхности..................................................................................... 300 6.2.4 Семплинг......................................................................................................... 301 6.3 Цилиндры........................................................................................................................ 306 6.3.1 Площадь и границы........................................................................................ 307 6.3.2 Проверки пересечения................................................................................... 308 6.3.3 Семплинг......................................................................................................... 310 6.4 Диски............................................................................................................................... 311 6.4.1 Площадь и ограничение................................................................................. 312 6.4.2 Проверки пересечения................................................................................... 313 6.4.3 Семплинг......................................................................................................... 315 6.5 Сетки из треугольников................................................................................................. 315 6.5.1 Представление и хранение сетки................................................................... 317 6.5.2 Класс Triangle................................................................................................... 321 6.5.3 Пересечение луч–треугольник....................................................................... 322 *6.5.4 Семплинг......................................................................................................... 332 6.6 Билинейчатые патчи...................................................................................................... 344 6.6.1 Тестирование пересечений............................................................................ 349 6.6.2 Семплинг......................................................................................................... 355 *6.7 Кривые............................................................................................................................. 362 6.7.1 Ограничивающие кривые.............................................................................. 365 6.7.2 Проверки пересечения................................................................................... 366 *6.8 Управление ошибкой округления................................................................................. 374 6.8.1 Арифметика чисел с плавающей запятой..................................................... 375 6.8.2 Консервативные пересечения луч–ограничение......................................... 386 6.8.3 Точные квадратичные дискриминанты........................................................ 387 6.8.4 Надежные пересечения с треугольником...................................................... 389 6.8.5 Ошибка точки пересечения с границей........................................................ 390 6.8.6 Надежные инициированные источники лучей............................................ 397 6.8.7 Избежание пересечений позади источников лучей..................................... 400 6.8.8 Обсуждение..................................................................................................... 402 Дополнительная литература...................................................................................................... 403 Упражнения................................................................................................................................ 407 * Звездочкой отмечены разделы с продвинутым содержанием, которые можно пропустить при первом чтении. ГЛАВА 07 ПРИМИТИВЫ И УСКОРЕНИЕ РЕНДЕРИНГА НА ПЕРЕСЕЧЕНИЯХ............................................................................................................. 413 7.1 Интерфейс Primitive и геометрические примитивы................................................... 414 7.1.1 Геометрические примитивы.......................................................................... 414 7.1.2 Инстансирование объекта и примитивы в движении.................................. 418 7.2 Агрегаты.......................................................................................................................... 421 7.3 Иерархии ограничивающих объемов............................................................................ 422 7.3.1 Конструкция BVH............................................................................................ 423 7.3.2 Эвристика площади поверхности.................................................................. 430 7.3.3 Линейные иерархии ограничивающих объемов.......................................... 435 7.3.4 Компактный BVH для обхода......................................................................... 443 7.3.5 Тесты ограничения и пересечения................................................................ 445 Дополнительная литература...................................................................................................... 449 Упражнения................................................................................................................................ 455 ГЛАВА 08 СЕМПЛИРОВАНИЕ И РЕКОНСТРУКЦИЯ............................................. 459 8.1 Теория семплирования.................................................................................................. 459 8.1.1 Частотный интервал и преобразование Фурье............................................. 461 8.1.2 Идеальный семплинг и реконструкция......................................................... 463 8.1.3 Алиасинг.......................................................................................................... 466 8.1.4 Понятие пикселя............................................................................................. 467 8.1.5 Семплинг и алиасинг при рендеринге.......................................................... 468 8.1.6 Спектральный анализ шаблонов семплинга................................................. 470 8.2 Семплинг и интегрирование......................................................................................... 473 *8.2.1 Дисперсный анализ Фурье............................................................................. 474 8.2.2 Низкое расхождение и квази-Монте-Карло.................................................. 478 8.3 Интерфейс cемплирования............................................................................................ 481 8.4 Независимый семплер................................................................................................... 484 8.5 Стратифицированный семплер..................................................................................... 485 *8.6 Семплер Халтона............................................................................................................ 491 8.6.1 Точки Хаммерсли и Халтона.......................................................................... 491 8.6.2 Рандомизация через скремблинг.................................................................. 494 8.6.3 Реализация семплера Халтона....................................................................... 498 8.6.4 Оценка............................................................................................................. 502 *8.7 Семплеры Sobol¢.............................................................................................................. 506 8.7.1 Стратификация по элементарным интервалам........................................... 508 8.7.2 Рандомизация и скремблирование............................................................... 509 8.7.3 Генерация семплов Sobol¢............................................................................... 511 8.7.4 Глобальный семплер Sobol¢............................................................................ 512 8.7.5 Заполненный семплер Sobol¢......................................................................... 515 8.7.6 Семплер синего шума Sobol¢.......................................................................... 517 8.7.7 Оценка............................................................................................................. 523 8.8 Реконструкция изображения......................................................................................... 525 8.8.1 Интерфейс Filter.............................................................................................. 527 8.8.2 FilterSampler.................................................................................................... 529 8.8.3 Прямоугольный фильтр.................................................................................. 531 8.8.4 Треугольный фильтр....................................................................................... 533 8.8.5 Фильтр Гаусса.................................................................................................. 534 8.8.6 Фильтр Митчелла............................................................................................ 535 8.8.7 Оконный фильтр Sinc ..................................................................................... 537 Дополнительная литература...................................................................................................... 539 Упражнения................................................................................................................................ 545 ГЛАВА 09 МОДЕЛИ ОТРАЖЕНИЯ................................................................................ 547 9.1 Представление BSDF....................................................................................................... 549 9.1.1 Геометрические установки и соглашения..................................................... 549 9.1.2 Интерфейс BxDF.............................................................................................. 550 9.1.3 Полусферическое отражение.......................................................................... 553 9.1.4 Дельта-распределения в BSDF........................................................................ 554 9.1.5 BSDF................................................................................................................. 555 9.2 Рассеянное отражение.................................................................................................... 557 9.3 Зеркальное отражение и пропускание.......................................................................... 559 9.3.1 Физические обоснования............................................................................... 559 9.3.2 Коэффициент преломления........................................................................... 560 9.3.3 Закон зеркального отражения....................................................................... 562 9.3.4 Закон Снелла................................................................................................... 563 9.3.5 Уравнение Френеля......................................................................................... 567 9.3.6 Уравнение Френеля для проводников........................................................... 568 9.4 BRDF проводника............................................................................................................ 571 9.5 BSDF диэлектрика........................................................................................................... 573 9.5.1 BSDF тонкого диэлектрика............................................................................. 577 *9.5.2 Несимметричное рассеяние и преломление................................................. 579 9.6 Моделирование шероховатости с использованием теории микрограней................. 581 9.6.1 Распределение микрограней......................................................................... 583 9.6.2 Маскирующая функция.................................................................................. 585 9.6.3 Функция маскирования-шейдинга................................................................ 588 9.6.4 Семплинг распределения видимых нормалей............................................. 589 9.6.5 Модель Торренса–Спэрроу............................................................................. 592 9.7 BSDF шероховатого диэлектрика.................................................................................. 597 *9.8 Измеренные BSDF........................................................................................................... 601 9.8.1 Базовые структуры данных............................................................................ 607 9.8.2 Уравнение измеренной BRDF......................................................................... 609 *9.9 Рассеяние от волос.......................................................................................................... 611 9.9.1 Геометрия волос.............................................................................................. 611 9.9.2 Рассеяние от волос.......................................................................................... 613 9.9.3 Продольное рассеяние.................................................................................... 616 9.9.4 Поглощение в волокнах.................................................................................. 618 9.9.5 Азимутальное рассеяние................................................................................ 621 9.9.6 Оценка модели рассеяния.............................................................................. 624 9.9.7 Семплинг......................................................................................................... 626 9.9.8 Коэффициент поглощения волос................................................................... 628 Дополнительная литература...................................................................................................... 629 Упражнения................................................................................................................................ 637 ГЛАВА 10 ТЕКСТУРЫ И МАТЕРИАЛЫ....................................................................... 641 10.1 Семплинг текстур и антиалиасинг................................................................................ 642 10.1.1 Определение частоты семплинга текстуры.................................................. 643 10.1.2 Лучевые дифференциалы на переходе границы между двумя средами.... 650 *10.1.3 Лучевые дифференциалы для зеркального отражения и пропускания...... 651 10.1.4 Фильтрующие функции текстур..................................................................... 655 10.2 Генерация текстурных координат................................................................................. 657 10.2.1 UV-маппинг..................................................................................................... 658 10.2.2 Сферический маппинг.................................................................................... 659 10.2.3 Цилиндрический маппинг............................................................................. 660 10.2.4 Планарный маппинг....................................................................................... 661 10.2.5 3D-маппинг..................................................................................................... 662 10.3 Текстурный интерфейс и базовые текстуры................................................................. 663 10.3.1 Текстура Constant............................................................................................ 664 10.3.2 Текстура Scale.................................................................................................. 664 10.3.3 Текстуры Mix................................................................................................... 666 10.4 Текстуры-изображения.................................................................................................. 668 10.4.1 Управление текстурной памятью.................................................................. 669 10.4.2 Оценка текстуры изображения...................................................................... 671 10.4.3 Текстуры MIP................................................................................................... 672 10.4.4 Фильтрование изображений-текстур............................................................ 675 10.5 Интерфейс материалов и его реализации.................................................................... 681 10.5.1 Реализации Material........................................................................................ 685 10.5.2 Вычисление BSDF на поверхности................................................................. 688 10.5.3 Нормальный маппинг..................................................................................... 691 10.5.4 Рельефный маппинг........................................................................................ 693 Дополнительная литература...................................................................................................... 697 Упражнения................................................................................................................................ 701 ГЛАВА 11 ОБЪЕМНОЕ РАССЕЯНИЕ............................................................................ 704 11.1 Процессы объемного рассеяния.................................................................................... 704 11.1.1 Поглощение..................................................................................................... 706 11.1.2 Эмиссия............................................................................................................ 707 11.1.3 Рассеяние на выходе и затухание.................................................................. 708 11.1.4 Внутреннее рассеяние.................................................................................... 709 11.2 Пропускание................................................................................................................... 711 11.2.1 Нулевое рассеяние.......................................................................................... 714 11.3 Фазовые функции........................................................................................................... 716 11.3.1 Фазовая функция Хеньи−Гринштейна.......................................................... 718 11.4 Передающие среды......................................................................................................... 721 11.4.1 Интерфейс Medium......................................................................................... 723 11.4.2 Однородная среда........................................................................................... 726 11.4.3 Мажорантный итератор DDA......................................................................... 728 11.4.4 Среда с однородной сеткой............................................................................ 734 11.4.5 Среда с сеткой RGB.......................................................................................... 737 Дополнительная литература...................................................................................................... 740 Упражнения................................................................................................................................ 742 ГЛАВА 12 ИСТОЧНИКИ СВЕТА..................................................................................... 745 12.1 Интерфейс источника света........................................................................................... 746 12.1.1 Характеристики фотометрических источников света................................. 750 12.1.2 Класс LightBase................................................................................................ 750 12.2 Точечные источники света............................................................................................. 752 12.2.1 Прожекторы..................................................................................................... 754 12.2.2 Источники света, проецирующие текстуры.................................................. 756 12.2.3 Гониофотометрические источники света..................................................... 760 12.3 Отдаленные источники света........................................................................................ 763 12.4 Протяженные источники света..................................................................................... 765 12.5 Бесконечные протяженные источники света............................................................... 769 12.5.1 Бесконечные источники с однородным светом........................................... 770 12.5.2 Бесконечные источники света, проецирующие изображение.................... 772 *12.5.3 Бесконечные источники света, проецирующие изображения, ограниченные порталом................................................................................ 777 12.6 Семплинг источников света........................................................................................... 785 12.6.1 Однородный семплинг источников света..................................................... 786 12.6.2 Семплирование по мощности света.............................................................. 787 *12.6.3 Семплинг источника света с BVH.................................................................. 790 Дополнительная литература...................................................................................................... 809 Упражнения................................................................................................................................ 813 ГЛАВА 13 СВЕТОВОЙ ПЕРЕНОС I: ПОВЕРХНОСТНОЕ ОТРАЖЕНИЕ............. 816 13.1 Уравнение светового переноса...................................................................................... 816 13.1.1 Основной вывод.............................................................................................. 817 13.1.2 Аналитические решения для LTE................................................................... 818 13.1.3 Поверхностная форма LTE.............................................................................. 819 13.1.4 Интегралы по пути.......................................................................................... 820 13.1.5 Подынтегральная дельта-функция................................................................ 822 13.1.6 Разделение подынтегральной функции........................................................ 822 13.2 Трассировка пути............................................................................................................ 823 13.2.1 Обзор................................................................................................................ 824 13.2.2 Семплинг пути................................................................................................. 825 13.2.3 Конструкция восходящего пути..................................................................... 826 13.3 Простой трассировщик пути.......................................................................................... 827 13.4 Улучшенный трассировщик пути.................................................................................. 832 13.4.1 Регуляризация пути........................................................................................ 843 Дополнительная литература...................................................................................................... 845 Упражнения................................................................................................................................ 851 ГЛАВА 14 СВЕТОВОЙ ПЕРЕНОС II: ОБЪЕМНЫЙ РЕНДЕРИНГ........................ 854 14.1 Уравнение переноса....................................................................................................... 854 14.1.1 Обобщение нулевого рассеяния..................................................................... 856 14.1.2 Расчет уравнения переноса............................................................................ 857 14.1.3 Семплинг мажорантного пропускания......................................................... 858 *14.1.4 Обобщенное пространство путей.................................................................. 863 *14.1.5 Оценка объемного интеграла пути................................................................ 866 14.2 Интеграторы объемного рассеяния............................................................................... 868 14.2.1 Простой объемный интегратор...................................................................... 868 *14.2.2 Совершенствование методов семплинга...................................................... 873 *14.2.3 Улучшенный объемный интегратор.............................................................. 877 14.3 Рассеяние на слоистых материалах............................................................................... 890 14.3.1 Одномерное уравнение переноса.................................................................. 891 14.3.2 Слоистая BxDF................................................................................................. 893 14.3.3 Проводники и диффузные материалы с покрытием................................... 906 Дополнительная литература...................................................................................................... 907 Упражнения................................................................................................................................ 912 ГЛАВА *15 РЕНДЕРИНГ ВОЛНОВОГО ФРОНТА НА GPU.................................... 915 15.1 Отображение трассировки пути на GPU....................................................................... 917 15.1.1 Базовая архитектура GPU............................................................................... 917 15.1.2 Структуризация вычислений рендеринга..................................................... 923 15.1.3 Обзор системы................................................................................................ 925 15.2 Фундамент реализации.................................................................................................. 927 15.2.1 Спецификация обработки и пространства памяти...................................... 927 15.2.2 Запуск ядер на GPU......................................................................................... 928 15.2.3 Схема массивов структур................................................................................ 929 15.2.4 Очереди обработки......................................................................................... 933 15.3 Реализация трассировщика пути.................................................................................. 937 15.3.1 Запуск работы.................................................................................................. 939 15.3.2 Метод Render()................................................................................................. 939 15.3.3 Генерация лучей камеры................................................................................ 941 15.3.4 Цикл по глубине луча...................................................................................... 945 15.3.5 Генерация семплов.......................................................................................... 947 15.3.6 Тестирование пересечений............................................................................ 949 15.3.7 Передающие среды......................................................................................... 952 15.3.8 Эмиссия, порожденная лучами...................................................................... 953 15.3.9 Поверхностное рассеяние............................................................................... 956 15.3.10 Теневые лучи................................................................................................... 966 15.3.11 Обновление Film............................................................................................. 967 Дополнительная литература...................................................................................................... 968 Упражнения................................................................................................................................ 970 ГЛАВА 16 РЕТРОСПЕКТИВА И БУДУЩЕЕ................................................................ 974 16.1 История pbrt.................................................................................................................... 974 16.2 Альтернативы................................................................................................................. 976 16.2.1 Внеядерный рендеринг.................................................................................. 977 16.2.2 Прешейдинг микрополигональных сеток..................................................... 977 16.2.3 Пакетный трейсинг......................................................................................... 978 16.2.4 Интерактивный и анимационный рендеринг.............................................. 980 16.2.5 Специализированная компиляция................................................................ 980 16.3 Новейшие темы.............................................................................................................. 981 16.3.1 Обратный и дифференцируемый рендеринг................................................ 981 16.3.2 Машинное обучение и рендеринг................................................................. 986 16.4 Будущее........................................................................................................................... 989 16.5 Заключение..................................................................................................................... 990 ПРИЛОЖЕНИЕ А АЛГОРИТМЫ СЕМПЛИНГА.......................................................... 991 A.1 Метод псевдонима.......................................................................................................... 991 A.2 Резервуарный семплинг................................................................................................. 995 A.3 Метод отбраковки........................................................................................................... 998 A.4 Семплинг одномерных функций................................................................................... 999 A.4.1 Семплинг треугольной функции.................................................................. 1000 A.4.2 Семплинг экспоненциальных распределений............................................ 1000 A.4.3 Семплинг функции Гаусса............................................................................ 1001 A.4.4 Семплинг логистической функции.............................................................. 1002 A.4.5 Семплинг функции на интервале................................................................ 1003 A.4.6 Семплинг неинвертируемых CDFS.............................................................. 1004 A.4.7 Семплинг кусочно-постоянных одномерных функций............................. 1005 A.5 Семплинг многомерных функций............................................................................... 1009 A.5.1 Семплинг единичного диска........................................................................ 1009 A.5.2 Однородный семплинг полусфер и сфер..................................................... 1012 A.5.3 Косинусно-взвешенный семплинг полусферы........................................... 1013 A.5.4 Семплинг внутри конуса.............................................................................. 1015 A.5.5 Кусочно-постоянные двумерные распределения....................................... 1015 A.5.6 Оконные кусочно-постоянные двумерные распределения....................... 1018 Дополнительная литература.................................................................................................... 1025 Упражнения.............................................................................................................................. 1027 ПРИЛОЖЕНИЕ B УТИЛИТЫ........................................................................................ 1028 B.1 Запуск системы, очистка и опции............................................................................... 1028 B.2 Математическая инфраструктура............................................................................... 1029 B.2.1 Основные алгебраические функции............................................................ 1030 B.2.2 Целые степени и многочлены...................................................................... 1031 B.2.3 Тригонометрические функции.................................................................... 1032 B.2.4 Логарифмическая и степенная функции.................................................... 1032 B.2.5 Трансцендентные и специальные функции............................................... 1034 B.2.6 Интервальный поиск.................................................................................... 1035 B.2.7 Битовые операции........................................................................................ 1036 B.2.8 Хеширование и случайные перестановки................................................... 1038 *B.2.9 Безошибочные преобразования.................................................................. 1039 B.2.10 Нахождение нулей........................................................................................ 1041 B.2.11 Надежная оценка дисперсии........................................................................ 1044 B.2.12 Квадратные матрицы................................................................................... 1045 B.2.13 Безье-сплайны............................................................................................... 1047 B.2.14 Генерация псевдослучайных чисел.............................................................. 1050 B.2.15 Интервальная арифметика........................................................................... 1053 B.3 Интерактивность.......................................................................................................... 1056 B.3.1 Работа с файлами.......................................................................................... 1057 B.3.2 Кодирование символов и Unicode................................................................ 1057 B.3.3 Печать и форматирование строк................................................................. 1059 B.3.4 Сообщения о ошибках.................................................................................. 1060 B.3.5 Логирование.................................................................................................. 1060 B.3.6 Оператор контроля и отслеживание ошибок при выполнении................ 1061 B.3.7 Отображение изображений.......................................................................... 1063 B.3.8 Рапорт о процессе выполнения.................................................................... 1063 B.4 Контейнеры и управление памятью........................................................................... 1064 B.4.1 Двумерные массивы..................................................................................... 1065 B.4.2 Интернированные объекты.......................................................................... 1066 *B.4.3 Наборы типов................................................................................................ 1067 B.4.4 Тегированные указатели.............................................................................. 1068 B.4.5 Трехмерный семплинг.................................................................................. 1072 B.4.6 Эффективная временная аллокация памяти.............................................. 1073 B.5 Изображения................................................................................................................. 1075 B.5.1 Работа со значениями пикселей.................................................................. 1077 B.5.2 Операции на всем изображении.................................................................. 1079 B.5.3 Чтение и сохранение изображений............................................................. 1080 B.5.4 Изменение размера изображения............................................................... 1082 B.5.5 Пирамиды изображений.............................................................................. 1086 B.5.6 Кодировки цвета........................................................................................... 1089 B.6 Параллельная обработка.............................................................................................. 1090 B.6.1 Конкуренция потоков данных и координация........................................... 1091 B.6.2 Атомики с плавающей запятой.................................................................... 1094 B.6.3 Модели с когерентностью памяти и производительность........................ 1095 B.6.4 Пулы потоков и выполнение параллельных задач..................................... 1096 B.6.5 Функция Parallel для циклов........................................................................ 1100 B.6.6 Асинхронные задачи.................................................................................... 1103 B.6.7 Переменные локального потока.................................................................. 1106 B.7 Статистика.................................................................................................................... 1107 B.7.1 Реализация.................................................................................................... 1109 Дополнительная литература.................................................................................................... 1110 Упражнения.............................................................................................................................. 1111 ПРИЛОЖЕНИЕ C ОБРАБОТКА ОПИСАНИЯ СЦЕНЫ........................................... 1112 C.1 Токенизация и парсинг................................................................................................ 1113 C.2 Управление описанием сцены..................................................................................... 1115 C.2.1 Сущности сцены............................................................................................ 1116 C.2.2 Словари параметров..................................................................................... 1117 C.2.3 Отслеживание графического статуса........................................................... 1121 C.2.4 Создание элементов сцены.......................................................................... 1125 C.3 Создание BasicScene и финальных объектов.............................................................. 1126 C.4 Добавление новых реализаций объекта..................................................................... 1129 Дополнительная литература.................................................................................................... 1130 Упражнения.............................................................................................................................. 1130 ССЫЛКИ................................................................................................................................. 1132 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ........................................................................................... 1182
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum