Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Рендеринг на основе законов физики: от теории к практике

Покупка
Новинка
Артикул: 856007.01.99
Доступ онлайн
3 799 ₽
В корзину
В книге описывается рендеринг, основанный на рейтрейсинге — алгоритме трассировки лучей, который способен отображать физически реалистичные изображения сложных сцен. Описывается рейтрейсинг как вычислительный метод, основанный на физике процесса; рассматриваются радиометрия, спектры и цвет, представление геометрии сцены, иерархии ограничивающих объемов, текстуры и материалы, семплинг и антиалиасинг, источники света и многое другое. Большое внимание уделяется оптимизации процесса рендеринга, а также использованию графического процессора для ускорения вычислений. Издание предназначено для разработчиков программного обеспечения, тех, кто занимается исследованиями в области компьютерной графики, а также студентов и аспирантов, обучающихся по данному направлению.
Фарр, М. Рендеринг на основе законов физики: от теории к практике : практическое руководство / М. Фарр, В. Джейкоб, Г. Хамфрис ; пер. с англ. И. Л. Люско. – Москва : ДМК Пресс, 2024. - 1210 с. – ISBN 978-5-93700-237-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2204259 (дата обращения: 03.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Мэтт Фарр, Вензел Джейкоб,
Грег Хамфрис
Рендеринг на основе 
законов физики


Physically  
Based Rendering
FROM THEORY TO IMPLEMENTATION
MATT PHARR
WENZEL JAKOB
GREG HUMPHREYS
FOURTH EDITION
The MIT Press
Cambridge, Massachusetts
London, England


Москва, 2024
Рендеринг  
на основе законов физики
ОТ ТЕОРИИ К ПРАКТИКЕ
МЭТТ ФАРР
ВЕНЗЕЛ ДЖЕЙКОБ
ГРЕГ ХАМФРИС


УДК 004.35
ББК 32.372
Ф25
Фарр М., Джейкоб В., Хамфрис Г.
Ф25	 Рендеринг на основе законов физики / пер. с англ. И. Л. Люско. – М.: ДМК 
 
ISBN 978-5-93700-237-2
В книге описывается рендеринг,  основанный на рейтрейсинге – алгоритме 
трассировки лучей, который способен отображать физически реалистичные изображения сложных сцен. Описывается рейтрейсинг как вычислительный метод, 
основанный на физике процесса; рассматриваются  радиометрия, спектры и цвет, 
представление геометрии сцены, иерархии ограничивающих объемов, текстуры 
и материалы, семплинг и антиалиасинг, источники света и многое другое. Большое 
внимание уделяется оптимизации процесса рендеринга, а также использовани. 
графического процессора для ускорения вычислений.
Издание предназначено для разработчиков программного обеспечения, тех, кто 
занимается исследованиями в области компьютерной графики, а также студентов 
и аспирантов, обучающихся по данному направлению.
УДК  004.35
ББК  32.372
Original English language edition published by The MIT Press Cambridge, MA. Copyright 
© 2022 Physically Based Rendering 4e by Russian-language edition copyright © 2023 by DMK 
Press. All rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.
ISBN 978-0-262-04802-6 (англ.)	 
ISBN 978-5-93700-237-2 (рус.)	 
© 2023 Matt Pharr,Wenzel Jacob, and Greg Humphreys 
© Перевод, оформление, издание, ДМК Пресс, 2024


Дейдре, которая позволила мне заниматься рукописью даже в наш 
медовый месяц.
М. Ф.
 
Олесе, которая подумала, как это мило, что моя любимая книга – 
компьютерная программа.
В. Дж.
 
Изабель и Куинн, двум самым необыкновенным людям, которых 
я когда-либо встречал. Пусть ваши пиксели никогда не будут 
маленькими квадратиками.
Гр. Х.


СОДЕРЖАНИЕ
ОТ ИЗДАТЕЛЬСТВА............................................................................................................... 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


Похожие

Доступ онлайн
3 799 ₽
В корзину