Game101课程笔记_lecture07_着色1(光照与基本着色模型)

在这里插入图片描述

1 occlusion

先把远处的画完,再画近处的,这就是画家算法。
在这里插入图片描述
图形学中用画家算法,需要排序,但是要特别注意顺序,要不然画出来不对;
但是有一中特殊的情况不对。
在这里插入图片描述
提出了一种深度缓冲的算法;对每一个像素的深度进行比较是可以的。
同步生成两个图,一种是frambuffer帧缓冲,帧缓冲放着每个像素的颜色值。另一个就是深度图,深度缓冲,放着每个

1 z-buffer

在这里插入图片描述
我们认为:深度是摄像机到这个点的深度,永远是正的,值越小离的越近。

在这里插入图片描述
近的颜色黑,远的颜色浅。近的值小,远的值大。

2 算法

在这里插入图片描述
5小于R,所以将R在对应的像素上更新深度缓冲。
再插入第二个三角形。做上角8>5,对应的像素被原来的三角形遮挡。左下角3<5,跟新颜色,同时跟新z-buffer;
所有的操作都是针对于一个像素来说的,渲染的结果和深度缓冲都是同步更新。
**加粗样式**

2 z-buffer 复杂度

这里并没有排序,深度缓冲的算法只是一直在求最小值而已。
这里老师是如何说这个复杂度 的?再听一下?
在这里插入图片描述
浮点数判断相等是很难的,深度完全一样如何处理?
在这里插入图片描述
在很多硬件中使用这个算法。
z-bufffer处理不了透明问题。

2 Shading

在这里插入图片描述
在这里插入图片描述

1 什么是着色

不同的物体应用不同的材质。
在这里插入图片描述

2 基础的着色模型

在这里插入图片描述
高光+漫反射+环境光=材质
ambient lighting:间接光照,通过别的物体反射得到的光照,在路径追踪中讲
在这里插入图片描述

3 shading local

local 局部,只看它自己,不考虑其他物体的存在。
在这里插入图片描述
shading point—》本身的颜色,多么亮。
在这里插入图片描述
shading≠shadow

4 漫反射

在这里插入图片描述
在这里插入图片描述
光是能量,看到的物体是接收到了多少能量。看shading point周围一个单位面积会受到多少能量.
地球上有四季之分,是因为夏天会被光直射,单位面积接收到的能量大。
lameber余弦定律:shading point 接收到多少光与cos成正比。

在这里插入图片描述
光线在传播的过程与光线传播的距离R的平方成反比
在这里插入图片描述
为啥要做max呢,当是负数的时候,没有任何物理意义,就认为是0;
shading point为啥有颜色呢?反射
kd这里是个可调参数,并没有明确的符合能量公式的要求
kd=1,都反射了,那么就是白色。
kd=0,所有能量都被吸收了,是黑色的
不管从哪里看都是一模一样的,漫反射与观察的方向没有任何关系。考虑的是光线和法线的夹角。
在这里插入图片描述

漫反射能量均匀分布在各个方向。
但是与shading point的位置有关系,只是你在不同的地方看一个shading point的点是一样的。
是一个经验模型,不是完全符合物理。

3 视频

https://www.bilibili.com/video/av90798049?p=7

发布了134 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/104626178