学习笔记:计算机图形学中的反射模型III

在上一篇笔记中,已经将BRDF所涉及的三个分布函数分别进行了介绍和分析。在此基础上,已经能够实现常规物理效果的反射图像绘制。在今天的笔记中,简要地介绍几种高级效果在反射模型中的实现方法。

(1)各向异性的反射效果

这里所谓的各向异性,指的并非固定入射光线后,从不同的方向看到的反射光线强弱不同。它指的是在表面某处,对于某一个入射角和反射角所决定的BRDF,当入射光线围绕法线旋转时,所得到的BRDF是不同的,同样的,所得到的反射光线的强弱也是不同的。在实现这一效果时,计算机图形学的专家们没有在单独引入第四个函数,而是对原有的函数进行了修改。专家们选择对为表面朝向的分布函数进行修改。修改的核心思想是保持函数的总体形式不变,将原有的一个指数参数展开成两个参数,而且要保证在两个参数相等时,恢复成各向同性时的表达式。猜测专家们从更易于实现的角度考虑,对函数的系数采用乘积扩展的形式,对指数部分采用加权求和的扩展形式。最终得到的效果是表面朝向的分布函数由x方向的分布函数和y方向的分布函数相乘得到,两个参数分别控制x方向和y方向的分布形式。书中并未提及x方向和y方向是在哪个坐标系中的,最合理的一种理解方式就是在物体的纹理坐标系中取得的。因为纹理坐标只有两维,不需要考虑第三维度的问题,而且纹理本身也是用来表现物体表面的颜色特征的。

(2)菲涅耳入射效果

菲涅耳入射效果表述的是一种现实世界中常见的反射效果,它一般是由漫反射的表面覆盖一层光洁透明的物质组成,能够同时产生漫反射效果和镜面反射效果。具体而言,当入射光线靠近法线时,产生的漫反射占比更多一些,当入射光线靠近垂直于法线的方向时,镜面反射的效果更多一些。对于这一效果,很自然的想法是使用漫反射和镜面反射的加权和得到。不过在pbrt的这部分内容中,并未简单地对已有的漫反射表达式和镜面反射表达式直接加权得到新的BRDF,而是分别定义了新的漫反射表达式和镜面反射表达式。两个表达式各自实现的效果与菲涅尔入射效果是一致的,不过表达式还是比较复杂的,严格的推导过程相信会更为复杂。不过对于这两个表达式的最后统一使用,书中并没有按加权方式实现,而是直接将两个表达式相加。这里存在一个疑问就是直接相加能否保证在各个角度下都满足能量守恒吗?由于没有看过两部分的细节推导过程,所以这一点只能是存疑。

(3)实测BRDF

之前定义反射光强弱与入射光强弱的比值时,就考虑过实际测量是否方便可行的问题。之所以考虑这个问题,其中一个重要的原因就是,尽管各种BRDF模型在不断地丰富和完善,但如果能实际对材质表面的反射情况进行测量,那么得到的数据将更为真实。因为pbrt追求的就是更接近实际的效果,因而使用实测的BRDF也是一种重要方法。实测BRDF,就需要对表面每处的不同入射角,不同反射角,不同入射方向和不同反射方向的反射光与入射光强弱的比值进行测量,得到的每一个位置的一个4维数组。当然在各向同性的条件下,可以把不同入射方向和不同反射方向简化为不同入射反射方向差,从而得到一个3维数组。具体测量时,可以采用规则采样法,即自变量等差的进行采样,也可以采用不规则采样法,即自变量不等差的进行采样。使用采样数据时,如果采用规则采样法,可以直接将所需的自变量数据转换为数组的各维度坐标进行查询;如果采用不规则采样法,为了加快数据的访问速度,还需要kd树等层次化的存储结构。除此之外,还需要注意关于角度进行插值时,要处理好跨越PI或2PI的边界问题。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容