由浅入深学习PBR的原理和实现 - 0向往0 - 博客园 (cnblogs.com) 由浅入深学习PBR的原理和实现 目录 一. 前言 1.1 本文动机1.2 PBR知识体系1.3 本文内容及特点二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念2.1.2 与物理渲染的差别2.1.3 PBR的特征2.2 PBR的衍变历史 2.2.1 Lambert(1760年)2.2.2 Smith(1967年)2.2.3 Phong(1973年)2.2.4 Cook-Torrance(1982年)2.2.5 Oren Nayarh(1994年)2.2.6 Schlick(1994年)2.2.7 GGX(2007年)2.2.8 迪斯尼原则的BRDF(Disney principled BRDF, 2012年)2.2.9 现阶段的BxDF(2019年)2.3 PBR的应用领域2.4 PBR在游戏引擎的应用 2.4.1 Unreal Engine 4的PBR2.4.2 Unity的PBR三. 中阶:PBR基本原理和实现 3.1 PBR基础理论和推导 3.1.1 微平面(Microfacet)3.1.2 能量守恒(Energy Conservation)3.1.3 反射方程(Reflectance Equation)3.1.4 双向反射分布函数(BRDF) 3.1.4.1 DD(Normal Distribution Function,NDF)3.1.4.2 FF(Fresnel equation)3.1.4.3 GG(Geometry function)3.1.4.4 Cook-Torrance反射方程(Cook-Torrance reflectance equation)3.1.5 制作PBR材质3.2 PBR的光照实现 3.2.1 辐照度计算3.2.2 PBR表面模型( PBR surface model) 3.2.2.1 直接光照(Direct lighting)3.2.2.2 线性和HDR渲染( Linear and HDR rendering)3.2.2.3 完整的PBR直接光照着色器3.2.3 使用纹理的PBR(Textured PBR)3.3 基于图像的光照(Image Based Lighting,IBL) 3.3.1 漫反射辐照度(Diffuse irradiance) 3.3.1.1 球体图(Equirectangular map)3.3.1.2 从球体图到立方体图3.3.1.3 PBR和非直接辐射度光照(indirect irradiance lighting)3.3.2 镜面的IBL(Specular IBL)3.3.3 完整的IBL四. 进阶:PBR核心理论和原理 4.1 再论PBR核心理论4.2 光的性质 4.2.1 光是什么?4.2.2 电磁频谱和可见光(Electromagnetic spectrum and visible light)4.2.3 人眼感知可见光原理4.2.4 光的来源4.2.5 光的理论 4.2.5.1 光的粒子理论(Particle theory)4.2.5.2 光的波动理论(Wave theory)4.2.5.3 光的电磁理论(Electromagnetic theory)4.2.5.4 光的量子理论(Quantum theory)4.2.5.5 光的波粒二象性(Wave-particle duality)4.2.6 光的能量4.3 光学原理(Optics theory) 4.3.1 光的反射(Reflection)4.3.2 光的折射(Refraction)4.3.3 光的散射(Scattering)4.3.4 光的色散(Dispersion)4.3.5 光的吸收(Absorption)4.3.6 光的衍射(Diffraction)4.3.7 光的叠加和干涉(Superposition and interference)4.3.8 光的偏振(Polarization)4.4 几何光学(Geometry optics) 4.4.1 反射定律(Law of Reflection)4.4.2 折射定律(Law of Refraction)4.4.3 几何光学的其它定律4.5 物质理论 4.5.1 物质是什么?4.5.2 物质结构4.5.3 物质形态4.5.4 物质属性 4.5.4.1 导电性4.5.4.2 粗糙度4.5.4.3 透光性4.5.4.4 各向性4.6 能量理论 4.6.1 能量是什么?4.6.2 能量类型4.6.3 能量转化4.6.4 质能等值4.6.5 能量守恒(Conservation of energy)4.7 PBR与光学 4.7.1 光谱能量分布(SPD)4.7.2 物质与光交互4.7.3 BxDF五. 高阶:PBR关联理论和推导 5.1 微积分(Calculus) 5.1.1 微分(Differentiation) 5.1.1.1 函数极限(Functional Limit)5.1.1.2 导数(Derivative)5.1.1.3 微分(Differentiation)5.1.2 积分(Integration) 5.1.2.1 不定积分(Indefinite integration)5.1.2.2 定积分(Definite integration)5.2 辐射度量(Radiometry,Radiation Measure) 5.2.1 立体角(Solid Angle)5.2.2 辐射强度(Radiant Intensity)5.2.3 辐射率(Radiance)5.3 公式推导 5.3.1 麦克斯韦方程组(Maxwell's equations) 5.3.1.1 高斯定律(Gauss' law)5.3.1.2 高斯磁定律(Gauss's law for magnetism)5.3.1.3 法拉第定律(Faraday's law)5.3.1.4 麦克斯韦-安培定律(Ampère's law with Maxwell's addition)5.3.2 几何光学基本定律的推导5.3.3 Cook-Torrance BRDF推导5.4 预计算技术 5.4.1 立方体图卷积(Cubemap convolution)5.4.2 预过滤HDR环境图(Pre-filtering HDR environment map) 5.4.2.1 蒙特卡洛(Monte Carlo)积分和重要性采样(Importance sampling)5.4.2.2 低差异序列(Low-discrepancy sequence)5.4.2.3 GGX重要性采样(GGX Importance sampling)5.4.2.3 预过滤卷积瑕疵5.4.3 预计算BRDF5.5 PBR的优化 5.5.1 离线渲染优化 5.5.1.1 积分公式优化5.5.1.2 硬件集成5.5.1.3 并行渲染5.5.1.4 分布式渲染5.5.2 实时渲染优化 5.5.2.1 光照模型优化5.5.2.2 资源优化5.5.2.3 其它实时优化5.5.3 移动端优化5.6 PBR的未来 5.6.1 基于纳米级别原理5.6.2 更精确的光照模型5.6.3 离线技术实时化5.6.4 新兴理论和技术5.6.5 更多应用领域六. 后记 6.1 辅助工具 6.1.1 曲线工具6.1.2 作图工具6.1.3 写作工具6.1.4 BRDF Explorer6.2 更多资料特别说明参考文献