深度缓存、着色和图形管线
在最终的结果图上,是可以看到每个物体的远近程度,和他们自己的颜色。在这里使用两个数组来存储每个像素的颜色和深度值
根据像素的深度值来进行覆盖,从而表现出最终的结果:
着色:光线打到不同的材质上有着不同的结果,(Blinn-Phong Reflectance Model)
在考虑着色时忽略阴影:
先考虑漫反射:漫反射是一束光线打到某个点后,会向周围均匀反射
漫反射时,物体表面所接受到的能量受光线与物体表面法线的夹角有关
物体表面所接受的到能量与光源的距离有关:
漫反射的计算表达式:图中max(0, n · l)表示当光线从物体下面入射时为0,即光线与物体表面法线的夹角大于90度。
kd表示漫反射系数:kd越大会越亮,反之则越暗。
高光:当光线打到某个比较光滑物体的表面时,在反射方向极小的附近时是镜面反射
用半程向量h=v+l,与物体表面法向量是否足够接近来表示v是否与R足够接近
其中p越大说明只要离法向量n有一点远就会急剧变化
ks与p的变化对比图
环境光是常数,不论从什么方向入射和出射
最后的结果是环境光加漫反射再加高光
着色频率:在一个平面上着色,在顶点着色,在像素上着色