材质与BRDF
BRDF全程是双向反射分布函数(Bidirectional Reflectance Distribution Function,BRDF),反应了物体表面对光的反射程度。
这刚好是属于材质的一种重要属性,当然除了反射属性,材质还包含折射属性(跟反射一起合称BSDF)。
因此我们基本可以认为,材质==BRDF。
对于不同材质的BRDF的值是如何计算的:
*对于一般的漫反射,当入射光线为均匀时,各个方向的BRDF大概等于1/π。
*对于金属材质,光线不会均匀向各个方向反射,而是集中在一定范围内反射。
可以通过计算入射角度和法线的夹角求的出射角度:
有2种方法求出射角度:
方法一:wi+wo等于2倍wi在法向量上的投影。
方法二:把wi和wo分别分解成“立体角”θ和φ,wi和wo的θ相等,φ相差2π,因此可以知道wo的θ和φ,从而球的wo。
折射角度同样可以通过这个方法求得:
对应折射,当入射介质密度大于出射介质密度时(如从水到空气),会出现全发射现象
菲涅尔项
“菲涅尔”是一个人的名字,由于他发现了反射折射的光学现象,这个现象就用这个人的名字命名。
关于“菲涅尔”现象:如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈,如果你看远处的湖面,你会发现水并不透明,这说明反射非常强烈。这就是“菲涅尔效应”。
简而言之,观测角度越垂直于表面法线,反射越大,折射越小。
菲涅尔项计算公式
微平面材质
一个平面上布满了各种各样的材质,当我们在极远的地方看这个平面时,会相当于看到glossy或difffuse材质。
图为从太空站上拍地球,反光的位置为澳大利亚。
微平面材质的BRDF计算:
不同的微平面会有不同的反射分布,上图的反射法线分布趋近于垂直,相当于于金属glossy材质;下图的反射法线分布则趋向于向四面八方,相当于于漫反射diffuse材质。
微平面反射方程受3个变量影响:
F(i, h) 菲涅尔项(越垂直于法线反射越多)
G(i, o, h) 物体表面之间的遮挡关系(越垂直于法线被遮挡越多,可以用来修正看到物体边缘太亮)
D(h)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具