【Ray Tracing The Next Week 超详解】 光线追踪2-7 任意长方体 场景案例

这一篇要介绍的内容有:

1. 自己做的光照例子

2. Cornell box画质问题及优化方案

3. 新的场景几何体——长方体

  轴平行长方体

  任意长方体

我们这一篇重实践轻理论阐述

 ready

1. 需要上一章的知识

但是,上一章的Cornell box画质优化仅限于盒子本身,如果作为场景和其他物体放在一起就不能那么优化画质

即,Cornell box像素计算失败应该返回黑色点而非白色

2. 需要图形学基本仿射变换知识

3. 玻璃球镂空技术,如有忘记,请移步此处

 

 先看效果

光照案例

【Ray Tracing The Next Week 超详解】 光线追踪2-7 任意长方体 场景案例

                          图7-1

Cornell box案例(最初步)

【Ray Tracing The Next Week 超详解】 光线追踪2-7 任意长方体 场景案例

    图7-2

 

 正文

学了光照就迫不及待地整了一堆东西

终于脱开了蓝色插值背景转到正儿八经的光了

在还没学长方形之前,就先用球体做了光源

注:坐标轴按照光线追踪坐标系描述(y轴位于垂直向上方向,z轴垂直屏幕向外)

1. 图7-1 第二行左

该图是最开始的一张图,相机仍然在(13,3,2),第一卦限

而球体是一个半径为1的漫反射白球,置于原点处

下面仍然是一个大的镜面球(metal),y轴-1000处,半径999,正好和小球相切

红色灯光则置于第三卦限,例如:(-3,3,-3)

整个场景的背景为黑色,即光线路径计算失败后返回黑色

如上,则会看到球体表面有一抹红色的色泽,然后大球镜面反射也有一部分

【Ray Tracing The Next Week 超详解】 光线追踪2-7 任意长方体 场景案例

        图7-3

 

2. 图7-1 第二行中

在上图的基础上添加一个位于第四卦限的蓝色光源

就会形成漫反射球左侧为蓝色表面光泽右侧为红色表面光泽的效果

 

3. 图7-1 第一行左

上面两个当然很没意思了,但是一直以来都是蓝色背景亮堂堂的,第一次黑不溜秋的地方用灯照着东西,感觉挺真实的,光线追踪效果也很不错,所以上面两张图是新世纪的开端!

我们在(0,0,2)处,放一个半径为1的镜面球,在原点对称处放一个半径为1的玻璃球

下面的大球改为漫反射

哇,想想就刺激,结果不出所料

镜面球在黑乎乎的环境下只映出了蓝色光源和红色光源,以及旁边的漫反射球的相关部分,而玻璃球就更有意思了,透了红光照在漫反射大球表面上,还透了微弱的蓝光,也照在了右侧的地面上

 

4. 图7-1 第一行中

突然想到一个绝妙的主意,玻璃球可以镂空

于是设置了一个镂空球(0,0,-2),半径为-0.8

之后,想着把镜面球和磨砂小球离远一点,再观察磨砂小球在镜面球中的影,于是乎就成了上面这张图

镜面球依旧映这磨砂小球和灯光的影,然而玻璃球只有上面一丝丝的明亮,着实看着不尽人意

可能是镂空的太多了,于是有了右边那张图

 

5. 图7-1 第一行右

把镂空球半径设置小一点,想了想就-0.2吧

果然,不负吾望,还真是着实好看,不仅可以往地上透光,形状更有意思,像个立体环!!

其实,我是想调一个把左边两个特点合二为一的图,即既有第一张图的底面透光,又有第二图上表面那个明亮的高光

 

6. 图7-1 第二行右

其实是为了凑齐6张图,思来想去,没啥整的了,老是调个镂空半径没啥意思,渲染时间还长,后来想了下,不如把大球改成原来的镜面,这样下面三张图都是镜子大地,上面三张都是磨砂大地

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjjxg.html