Принципы построения физически ... · Glossiness/ Roughness число/...
Transcript of Принципы построения физически ... · Glossiness/ Roughness число/...
![Page 1: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/1.jpg)
Принципы построения физически корректных материалов в трехмерной графике
Лекция для художников и дизайнеров
Борис Юрьевич Кулагин
доцент Кафедры инженерной
графики и дизайна Национального
исследовательскогоуниверситета МИЭТ
![Page 2: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/2.jpg)
Свет и поверхность в реальном мире (Физика, ~9 класс)
падающий свет отраженный свет (зеркально)
“преломленный” свет
свет превратился в тепло
падающий свет = поглощенная энергия + отраженный свет + преломленный свет
отраженный свет (рассеянно, “диффузно”)
![Page 3: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/3.jpg)
Иога́нн Ге́нрих Ла́мберт (1728 - 1770)смотрит на всё это с уважением к себе
Опубликовано в 1760 году, позволяет имитировать:~ свежевыпавший снег~ гипс~ бумагу (матовую)~ неполированное дерево????
1. Свет отражается равномерно во все стороны.2. Яркость отраженного света зависит от угла падения.
Идеальная диффузная поверхность
![Page 4: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/4.jpg)
материалlambertцвет/карта
Как же всё просто!
УРА!
![Page 5: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/5.jpg)
Ламберт, ты не прав! (Oren & Nayar, 1994)
Roughness больше 0.5 выглядит неестественно, поэтому в большинстве рендереров 1 равна 0.5 :-) (кроме V-Ray :-( )
Подходит для большего количества матовых материалов.Убирает “пластмассу”.И все же… (см. дальше)
https://en.wikipedia.org/wiki/Oren%E2%80%93Nayar_reflectance_model
![Page 6: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/6.jpg)
материалOren-Nayar-Lambert
Colorцвет/карта
УРА!?
Rougnessчисло/карта
(см. дальше)
Ненамного сложнее! Хотя уже закрадываются
подозрения...
![Page 7: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/7.jpg)
http://filmicworlds.com/blog/everything-has-fresnel/
Отражения бывают не только рассеянные, но и направленные. В трехмерной графике их раньше принято было разделять.
На картинках фотографии , сделанные с поляризационным фильтром и без него. Блестящие кирпичи, картон, ткань...
![Page 8: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/8.jpg)
материал
Oren-Nayar-Lambert
Color?цвет/карта?
Rougnessчисло/карта
Reflection
Mix?Add?Mult?
Glossiness/Roughnessчисло/карта
Colorцвет/карта
![Page 9: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/9.jpg)
Карта отражений
Когда-то для отражений использовалась “похожая” кубическая карта…
Но это не дает нужного эффекта. Нужны динамические отражения - карта отражений генерируется постоянно. Но и это не выход...
![Page 10: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/10.jpg)
Этапы большого путипо достижению реализма в трехмерной графике
https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf
Beckmann 1963Torrance and Sparrow 1967 Smith 1967Phong 1975Trowbridge and Reitz 1975Blinn 1977Cook and Torrance 1981He, Torrance, Sillion, and Greenberg 1991 Ward 1992Lewis 1993Oren and Nayar 1994Schlick 1994Lafortune 1997Wolff, Nayar and Oren 1998Neumann et al. 1999
Ashikhmin, Premoˇze, and Shirley 2000 Ashikhmin and Shirley 2000Kelemen and Szirmay-Kalos 2001D¨ur 2006Edwards et al. 2006Ashikhmin and Premoˇze 2007Walter et al. 2007 Trowbridge-ReitzRomeiro et al. 2008 Geisler-Moroder and D¨ur 2010 Kurt et al 2010Nishino and Lombardi 2011L¨ow et al. 2012Pacanowski et al. 2012Bagher et al. 2012
![Page 11: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/11.jpg)
Phong/Blinn/Ward/etc.
Закон сохранения энергии? Нет, не слышали! Френель? Кто это?
![Page 12: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/12.jpg)
GGX*/GTR** vs Phong/Blinn/Ward/etc.
http://www.neilblevins.com/cg_education/ggx/ggx.htm
Хром (Фото) GGX Blinn
http://www.shlyaev.com/rnd/37-cpp-category/54-ggx
![Page 13: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/13.jpg)
GGX/GTR vs Phong/Blinn/Ward/etc.
https://www.allegorithmic.com/system/files/software/download/build/PBR_Guide_Vol.1.pdf
![Page 14: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/14.jpg)
Физика для (3D) художников
1. Закон сохранения энергии
2. “Отражения по Френелю”
3. Разделение на металлы и диэлектрики
ну и еще кое-что...
![Page 15: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/15.jpg)
Физика для (3D) художников
1. Закон сохранения энергии
Старая формулировка
diffuse + Reflection + Refraction <= 1(исключение - эмиссия, самосвечение)
Новая формулировка
Сумма всех компонентов материала <= 1(исключение - эмиссия, самосвечение)
К СЧАСТЬЮ ЭТО ПРЕДУСМОТРЕНО ПОЧТИ ВО ВСЕХ СОВРЕМЕННЫХ СИСТЕМАХ ВИЗУАЛИЗАЦИИ!
![Page 16: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/16.jpg)
Физика для (3D) художников
2. Эффект Френеля
Огюстен-Жан Френель(1788 - 1827)
отвернулся, чтобы не видетьво что превратили еготруды
90 градусов
0 градусов
Отражение
0 градусов 90 градусов
1(белый)
BRDF
IOR(index of refraction)
![Page 17: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/17.jpg)
материал
Oren-Nayar-Lambert
Colorцвет/карта
Rougnessчисло/карта
Reflection
Fresnel
IOR
Glossiness/Roughnessчисло/карта
Color?цвет/карта?
![Page 18: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/18.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.1. Диэлектрики
Отражение на 0 градусов мало, 0.05 - 0.15
IOR (комплексное число, вектор):n - в основном 1.3 - 1.6k - равен или близок к 0,можно не учитывать
IOR почти не зависит от цвета света(длины волны)
Цвет отражений - нейтральный, на 90 градусов - белый (1.0)
целлюлоза, IOR = 1.4613
https://refractiveindex.info
![Page 19: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/19.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.2. Металлы
Отражение на 0 градусов велико, 0.8 - 0.98
IOR (комплексное число, вектор):n и k - варьируются в больших пределах, важна сумма.
Отражения окрашиваются в цвет металла
IOR достаточно сильно зависитот цвета света (длины волны), в результате при освещении белымсветом появляются оттенки под разными углами зрения.
https://refractiveindex.info
![Page 20: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/20.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.2 Металлы
d. Поставить галку/параметр Metalness = 1
- Базовый цвет становится цветом металла
- IOR не имеет особого значения- цвет отражений на 90 градусов -
белый
Просто, но что-то тут не так...
![Page 21: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/21.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.2 Металлы
e. Табличный IOR - пропускаем, поддерживается Maxwell, Indigo, наверное Mitsuba - в общем, не сильно распространен
![Page 22: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/22.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.2 Металлы
f. Complex Fresnel
OSL Shader для V-Rayhttp://www.rensheeren.com/blog/osl-reflector/
Плагин для 3ds MAX (V-Ray, Corona)
Arnold
![Page 23: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/23.jpg)
Физика для (3D) художников
3. Разделение на металлы и неметаллы (диэлектрики)
3.2 Металлы
g. Artistic Friendly Metallic Fresnel
http://jcgt.org/published/0003/04/03/paper.pdf support.solidangle.com/display/A5AF3DSUG/Specular+Reflections
![Page 24: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/24.jpg)
Поверхностная прозрачная пленка (Clear Coat)
Тонкая радужная пленка (Thin Film)
![Page 25: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/25.jpg)
материал
Oren-Nayar-Lambert
Colorцвет/карта
Rougnessчисло/карта
Reflection
Fresnel
IOR
Glossiness/Roughnessчисло/карта
Colorцвет/карта
Fresnel
IOR(СС)
Coat
Glossiness/Roughnessчисло/карта
Colorцвет/карта
![Page 26: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/26.jpg)
Прозрачность
BSDFbidirectional scattering distribution function
В чем сложности?
1. Рассеяние (Glossiness/Roughness)
2. Поглощение (Absorption)
3. Дисперсия
4. Подповерхностное рассеивание (SubSurface Scattering)
![Page 27: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/27.jpg)
Прозрачность
1. Рассеивание (Glossiness/Roughness)
Правый чайник темнее?
Microfacet Models for Refraction through Rough Surfaceshttps://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf
![Page 28: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/28.jpg)
Прозрачность
2. Поглощение (Absorption)
У левого чайника поглощение отключено, равномерное окрашивание.
![Page 29: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/29.jpg)
Прозрачность
3. Дисперсия (Dispersion). Abbe number определяет дисперсию, чем меньше - тем сильнее.
Идеальное стекло и очень плохие стекла - abbe 2 и 4
![Page 30: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/30.jpg)
Прозрачность
3. Дисперсия (Dispersion). “Кастомная” )
IOR 1.6, 1.5, 1.4
![Page 31: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/31.jpg)
Прозрачность
4. Подповерхностное рассеивание (SubSurface Scattering)
Простые: Воск Мрамор Лёд
Непростое:КОЖА
![Page 32: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/32.jpg)
материал
Oren-Nayar-Lambert
Colorцвет/карта
Rougnessчисло/карта
ReflectionFresnel
IOR
Glossiness/Roughnessчисло/карта
Colorцвет/карта Fresnel
IOR(СС)
Coat
Glossiness/Roughnessчисло/карта
Colorцвет/карта
Refraction
Glossiness/Roughnessчисло/карта
Colorцвет/картау поверхности
Глубина Depth
Colorцвет/картав глубине
КТО МОЛОДЕЦ? Я МОЛОДЕЦ!
Только есть одно “но...”Передача данных
![Page 33: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/33.jpg)
Physical Materialпочти идеал...
Standard Advanced
![Page 34: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/34.jpg)
Arnold для 3ds Max RedShift3D для 3ds Max
Поэтому разрабатываются
Uber Shaders
![Page 35: Принципы построения физически ... · Glossiness/ Roughness число/ ... Arnold для 3ds Max RedShift3D для 3ds Max Поэтому](https://reader036.fdocuments.us/reader036/viewer/2022071507/61282fb6fad4fb6fce132d71/html5/thumbnails/35.jpg)
Сканированные материалы — уже настоящее!
Appearance Exchange Format (AxF™) от X-Rite
http://www.xrite.com/-/media/xrite/files/whitepaper_pdfs/axf/axf_whitepaper_en.pdf