前言
在很多介绍材质的文章中,我们了解到真实世界中的物体,具有一种特殊的特性,那就是微表面结构(MicroSurface),也就是说,真实世界中,任何物体的表面,都不可能完全是平面的,哪怕是镜子这样的东西,当你无限放大,也会观察到微表面结构。这种结构,基本就是表面上坑坑洼洼的凹凸感,因为太过微小,通过人的视觉无法看透这种凹凸,但通过光线最直观的感受,就是看起来似乎很平的东西,却没什么光泽。
那么,就要引出了今天的话题了,在 CG 中,粗糙度真的等于凹凸吗?
从理论上来看,在 CG 中,微结构表面本身就是凹凸不平的起伏,没毛病,就是凹凸。
那么,既然是凹凸,那又有粗糙度什么事?直接凹凸模拟不就完了么?
首先,是计算速度上承受不起,没毛病!一个项目全部用凹凸来模拟粗糙度,估计得崩溃。
当然根据上述理论,在 CG 中,你确实可以使用凹凸来模拟粗糙度,但你知道它们是具有完全不同的材质特性么?
在 CG 中,我们都知道,凹凸纹理可以驱动曲面不同高度等因素,来模拟表面粗糙的感觉。而只是添加粗糙度,则不会得到上图中的表现质感的凹凸纹理。
粗糙度是个啥
在 CG 中,粗糙度影响的是光与表面接触时的行为,具有粗糙度的表面的可以被认为是哑光或光泽的。
从左到右,上图球体的粗糙度为 0-90%。
粗糙度的工作原理
那么在实际应用中,对象可以通过凹凸、置换、法线等操作来获得表面的细节,甚至是粗糙度等,但当对象被放置到很远的地方,很多这些细节都可能聚集在一个像素里,那么渲染器会将这些细节丢失,并认为它们毫无意义。
66666666666666
66666666
6666
6666666
牛逼
1
牛逼
很好
非常棒!
666
来学习一下,之前重来没想过这个问题