0,引入
这一章节里,trace的图形包含多种PLY文件表示的图形。
比如:bunny、dragon、hand skeleton、horse等。
主要涉及两件事情:
1,将这些模型添加到场景中;
2,给场景中的图形设置各自的材质和纹理。
直接看图啦~~~
该场景中包含如下几个部分:
1,后方平面(Phong材质,平面的2D方格纹理);
2,下方平面(Reflective材质,平面的2D方格纹理);
3,封闭圆柱平台(Phong材质,对应的2D方格纹理);
4,Bunny(Dielectric材质);
5,Dragon(Phong材质,大理石纹理);
6,Horse(Phong材质,砂岩纹理);
7,Hand Skeleton(Phong,木纹纹理);
1,后方平面(Phong材质,平面的2D方格纹理)
2,下方平面(Reflective材质,平面的2D方格纹理)
3,封闭圆柱平台(Phong材质,对应的2D方格纹理)
4,Bunny(Dielectric材质)
5,Dragon(Phong材质,大理石纹理)
6,Horse(Phong材质,砂岩纹理)
7,Hand Skeleton(Phong,木纹纹理)
8,其他说明
1,对于玻璃材质图形的trace,记得要设置光线的max_depth(光线要经过几次折射/反射后才能从物体中出去,也就是使得玻璃材质物体背后的东西被看见。如果max_depth的值太小,最终呈现的可能就是黑色。)。
2,对于dragon的大理石纹理(或其他从彩带中读取颜色的纹理(如砂岩纹理)),可以通过设置纹理的缩放系数来控制从彩带上读取颜色时的轮转频率。
3,不管是bunny、dragon,还是horse、hand skeleton等模型图形。从上方对模型的缩放和平移使得模型图形合适地处在场景中的合适位置。一般情况下,缩放系数正比于图形边沿所在的位置。我们也可以直接查看PLY文件的数据,看看其对应的x、y、z值大概处在什么范围,然后乘以缩放系数就可以得到模型图形在场景中的大概位置。
4,光线追踪其实主要包含这么几个部分:
几何图形(几何模型,部分图形,复合图形,图形变换)、
光照(光照模型)、
材质(反射模型)、
纹理(图片映射;过程纹理(方格纹理;噪声纹理))
(我们这个场景中的光照是点光源)
5,该场景的完整代码下载路径:
http://download.youkuaiyun.com/detail/libing_zeng/9814639
9,补充图形
补充一个场景图形:将后面的平面设置为Reflective材质。