首页
移动开发
物联网
服务端
编程语言
企业开发
数据库
业界资讯
其他
搜索
Unity面试题 每日5题 06补充
企业开发
2023-09-29 21:34:38
阅读次数: 0
由浅入深学习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的PBR
2.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 预计算BRDF
5.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 Explorer
6.2 更多资料
特别说明
参考文献
猜你喜欢
转载自
blog.csdn.net/Anyo1n/article/details/126810377
Unity面试题 每日5题 06补充
Unity面试题 每日5题 06
Unity面试 每日5题 07补充
Unity面试 每日5题 05补充(未完)
Unity面试题 每日5题 09
Unity面试题 每日5题 08
Unity面试题 每日5题 05
Unity面试题 每日5题 04
Unity面试题 每日5题 07
Unity面试题精选(5)
面试题补充
面试题06
leetcode每日一题(2020-06-26):面试题 02.01. 移除重复节点
java面试题补充
2018/5/11面试题目整理(每日一题)
2018/5/16面试题目整理(每日一题)
2018/5/19面试题目整理(每日一题)
2018/5/17面试题目整理(每日一题)
2018/5/23面试题目整理(每日一题)
Java每日面试题5题(二)—— Spring相关篇二
Java每日面试题5题(二)—— Spring相关篇三
Java每日面试题5题(二)—— Java基础篇一
Java每日面试题5题(二)—— Spring相关篇
Java每日面试题5题(一)—— 线程进程等相关篇
Linux驱动面试题(刷题,补充知识点)
Leetcode刷题笔记 - 《剑指Offer》面试题06 - 从头到尾打印链表
面试题5
面试题(5)
面试题刷题每日小结-4
面试题刷题每日小结-3
今日推荐
美国拟限制 AI 大模型出口中国和俄罗斯
苹果将与 OpenAI 达成协议,将 ChatGPT 应用于 iPhone
openKylin 社区生态委员会第六次会议圆满召开
阿里云正式发布通义千问 2.5
Python 3.13 发布首个 Beta:实验性自由线程模式和 JIT、改进交互式解释器
Stack Overflow 拿我的代码去训练 AI 大模型,还封了我的账号
Pop!_OS 的 COSMIC 桌面完成 App Store 上架工作
报告:Django 仍然是 74% 开发者的首选
《2024 年一季度互联网投融资运行情况》研究报告
15 年前上了“FFmpeg 耻辱柱”,今天他还得谢谢咱——腾讯QQPlayer一雪前耻?
TIOBE 5 月榜单:Fortran “复活”进入 Top 10
GCC 14.1 发布
周排行
curl的POST请求,封装方法
8.1.1. Integer Types
Java基础 Day05(个人复习整理)
Python - Django - 中间件 process_exception
小L的试卷
【Shell编程】 (函数)判断用户是否存在
python(css样式)
spring ant path 匹配原则 - 【笔记】
《JavaScript与JScript从入门到精通》(美)James.Jaworski.中译本.扫描版.pdf
Eclipse运行带参数的java程序
每日归档
更多
2024-05-12(0)
2024-05-11(38)
2024-05-10(38)
2024-05-09(35)
2024-05-08(42)
2024-05-07(14)
2024-05-06(40)
2024-05-05(0)
2024-05-04(7)
2024-05-03(19)