Как известно, расшифровка звучит как Physically Based Rendering (англ. Физически обоснованный\корректный рендеринг). В около профессиональной среде PBR тема обросла мифами, суевериями и прочей чепухой, а дискуссии на тематических форумах стали напоминать анекдот:
Чукча приезжает домой из партийной школы в Москве и хвалится другому: — Я узнал! Оказывается, Карл Маркс и Фридрих Энгельс - не муж и жена, а четыре разных человека! Другой ему в ответ: — Это что! Вот я знаю получше - Слава КПСС - ВООБЩЕ НЕ ЧЕЛОВЕК!!!"
Истоки PBR
Для общей эрудиции достаточно знать следующее, что первые публикации, так или иначе затрагивающие тему PBR, появились 80-х годах. В этих публикациях разбираются алгоритмы для визуализации прозрачных и отражающих поверхностей, алгоритмы трассировки теней: An Improved Illumination Model for Shaded Display
Корнеллский университет
Большой вклад в создание «моста» между реальным миром и виртуальным - внёс Корнеллский университет (Cornell University). На кафедре компьютерной графики которого и по сей день ведутся многочисленные исследования свойств поверхности у реальных материалов, которые потом имплементируются в CG пространстве. Отправной точкой, с которой начинается долгий путь PBR из лабораторий в пользовательский софт, можно считать статью опубликованную группой ученых с кафедры компьютерной графики Корнеллского университета в 1997. В этой работе закладываются основы PBR: A Framework for Realistic Image Synthesis
Термин PBR
Термин PBR в те времена еще не употреблялся. Этот термин был популяризован в книге — Physically Based Rendering. From Theory to Implementation (англ. Физически обоснованный (корректный) рендеринг. От теории к реализации.), впервые изданной в 2004 году. Книга изобилует формулами, примерами, реализациями тех или иных BRDF моделей и возможно будет достаточно скучна на рядовых пользователей, но мой интерес был подогрет тем фактом, что за этот труд авторы Matt Pharr, Greg Humphreys, и Pat Hanrahan получили Оскара в 2014.
Да, да — существует отдельная церемония Оскара, основанная в 1995 году, для научно-технических достижений в области киноиндустрии, на которой награждаются «серые кардиналы» CG индустрии, которых в детстве часто называли - ботан, задрот, кнопкодав и т.д., тремя годами позже Оскара получит и Владимир Койлазов (ака Vlado) разработчик рендер системы V-ray. Уже за свой вклад в развитие CG киноиндустрии.
Относительно недавно (15 октября 2018 года), появилась бесплатная онлайн версия книги. На официальном сайте доступно третье, дополненное издание. В предисловии книги сказано, что в ней есть все, чтобы создать свою физически корректную рендер систему. Бегло пролистав работу мне стало понятно за что был дан Оскар. Без преувеличения можно назвать этот труд библией в мире CG и физически корректного рендеринга. Кому интересно более глубокое погружение – читайте книгу: Physically Based Rendering. From Theory to Implementation
Что важно знать, я имею ввиду пользователя любой актуальной рендер системы, не важно будь это V-ray, Corona, Redshift, Arnold, FStorm – все обозначенные движки, это всего лишь «калькуляторы», которые занимаются вычислением математических задач. Для ускорения вычислений допускается аппроксимация исходных данных (приближение, упрощение) и интерполяция результатов (сглаживание, усреднение) – именно в области оптимизации вычислительных алгоритмов ведутся основные баталии среди рендер систем. В основе же любой рендер системы используются одни и те же формулы, выведенные учеными. Поэтому говорить, что одна рендер система физически корректна, а другая нет — более чем глупо, просто они различаются по алгоритмам и задачам, которые ставили перед собой разработчики софта.
Дак что такое PBR?
PBR это не шейдер и не текстура или какой-то отдельно взятый рендер движок — это в первую очередь принципы и основы современной компьютерной графики, кто-то называет это философией. В любом случае PBR это физически обоснованная точка зрения на то, как должен реализовываться тот или иной шейдер или освещение в вашей сцене, а вот инструменты и пути для реализации PBR принципов могут быть разными. В своей практике к принципам PBR я чаще обращаюсь при настройке шейдеров, поскольку прочие аспекты, связанные PBR, уже интегрированы в софт и их использование естественно и очевидно. Я имею ввиду встроенные алгоритмы расчета GI - Global Illumination (англ. Глобальное освещение) и стандартные источники света. Тут нет необходимости «изобретать велосипед» или глубоко погружаться в теорию глобального освещения, важно просто соблюдать рекомендации от разработчиков софта. А вот шейдинг, достаточно многогранная и интересная тема, особенно в контексте PBR.
Продолжение следует…