摘要: 在PCF的最后一步,需要对一定范围内的所有深度值做比较,如果深度值大于着色点的深度值记为1,小于记为0.然后求平均。这种操作需要花费较多的时间。这种行为可类比于在一个班级中,知道自己的分数,想要知道自己在班级中的排名,需要和班级中每一位同学的分数比较。一种改进的方法是只需要知道有多少人比我的分数高, 阅读全文
posted @ 2022-08-24 10:34 捞的不谈 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Shadow Mapping:从光源处记录一张场景的最浅深度表,然后再从摄像机处看向场景的某个物体向光源连线,比较此时物体到光源距离和深度表记录的距离,如果大于深度表记录的距离,则说明被遮挡在阴影内,如果小于,则不在阴影内。 Shadow Mapping:有两个问题,自遮挡和阴影锯齿的问题。 自遮挡 阅读全文
posted @ 2022-08-22 19:47 捞的不谈 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 把包围盒分成很多个小格子,当小格子与物体表面相交时,就标记该格子。 当光线进入包围盒时,就会不停的和一路上的小格子发生交互,如果小格子里有物体,就判断光线是否与物体交互,如果没有交互则继续前进,如果发生交互就记录并返回。 由于在某些地方比较空旷,所以对空旷地区的划分并不需要太细,对比较密集的区域才划 阅读全文
posted @ 2022-08-18 09:31 捞的不谈 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 光栅化在软阴影和光线多次弹射上的实现比较麻烦,所以引入了光线追踪的方法。光栅化通过Shadow Mapping来实现阴影的效果,它应用于点光源上。 光栅化是光线从相机沿着每个像素的方向打到场景上,然后弹射到光源,即只有一次的光线弹射。 光栅化的质量会比较低,但也有着它的好处,就是非常快。光线追踪根据 阅读全文
posted @ 2022-08-17 15:41 捞的不谈 阅读(520) 评论(0) 推荐(0) 编辑
摘要: Shadow Mapping:在某一个点,眼睛是可以看到,但光线无法达到这个点,这个点就在阴影里,如果光线也能达到这个点,这个点就不在阴影里 但这种阴影是硬阴影,即点要么在阴影内,要么不在内。适用于点光线。 实际做法:Pass 1:在光源处有一个摄像机,和一个记录深度值的平面Shadow Map,向 阅读全文
posted @ 2022-08-16 17:10 捞的不谈 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 三维模型中每个三角形的顶点都可以找到在贴图中的对应点 重心坐标:已知三角形三个顶点,通关重心坐标的方法,在三角形内进行平滑的过度,使得三角形内每个点都有相对应的值。 当α+β+γ=1时,点(x, y)在三角形所在的平面上,当且α>=0,β>=0,γ>=0,点(x, y)在三角形内。 重心坐标也可以通 阅读全文
posted @ 2022-08-16 15:55 捞的不谈 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 在最终的结果图上,是可以看到每个物体的远近程度,和他们自己的颜色。在这里使用两个数组来存储每个像素的颜色和深度值 根据像素的深度值来进行覆盖,从而表现出最终的结果: 着色:光线打到不同的材质上有着不同的结果,(Blinn-Phong Reflectance Model) 在考虑着色时忽略阴影: 先考 阅读全文
posted @ 2022-08-15 16:36 捞的不谈 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 在进过MVP变换之后,把模型缩放到[-1,1]3的立方体内后,就需要把物体画到屏幕上了,这个就是光栅化 需要把立方体缩放到屏幕尺寸大小,然后把立方体的中心平移到屏幕的中心,这个时候先暂时忽略z轴,即得到视口变换矩阵: 在屏幕上显示一个物体时,这个物体由很多个三角形组成,然后就要考虑如何在屏幕上显示出 阅读全文
posted @ 2022-08-12 17:02 捞的不谈 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 视图变换时,让物体和摄像机一起运动,把摄像机放到原点,向上方向为y轴,看向-z轴 在变换时,把e平移到原点,g旋转到-z,t旋转到y,g*t旋转到x 因为正交矩阵的逆矩阵等于转置矩阵,所以只需要把逆矩阵转置就等于原矩阵了。 但其实这里我自己感觉理解起来不是太直白。这里可以使用另一种思路,我们一般是移 阅读全文
posted @ 2022-08-12 15:24 捞的不谈 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 缩放变换:用矩阵来表示变换 矩阵反射:即矩阵沿着某一个轴对称 切变变换: 旋转变换: 平移变换:平移变换需要在后面加上位移变换,此时的表达式就不是线性变换了,引入齐次坐标来解决这个问题 引入新的定义,把二维空间中的点和向量改变,在后面拓展一位,1结尾为点,0结尾为向量,然后对应的矩阵也要拓展,即可获 阅读全文
posted @ 2022-08-11 17:20 捞的不谈 阅读(401) 评论(0) 推荐(0) 编辑