Games101笔记——Lecture12: Geometry3 (and Shadow Mapping)

Lecture12: Geometry3 (and Shadow Mapping)

网格操作

  • 网格操作
    • 网格(三角形面)细分
    • 网格简化
    • 网格正则化

  • 网格细分
    • 在位移贴图时提到!
    • 细分分为两步:
      • 1:引入更多三角形
      • 2:调整顶点的位置
    • Loop细分(发明这个算法的哥们姓Loop)为例:
      • 三角形一拆四
      • 把顶点区分为新老两类,分别以两种规则改变他们的位置
        • 对于新顶点:
          在这里插入图片描述
        • 对于老顶点(下图中n是顶点的度):
          在这里插入图片描述
  • Catmull-Clark Subdivision (General Mesh):另一种细分方法
    • loop细分要求都是三角形面,而此方法可以应用于一般情况
    • Non-quad face:非四边形面
    • Extraordinary vertex(奇异点):degree != 4的点
      在这里插入图片描述
    • 一步细分,然后调整位置
      在这里插入图片描述
    • 经过一次细分后,多了两个度为3的奇异点,不再有非四边形面,但奇异点数目也不会再增加
    • 好像每个非四边形面都变成了一个奇异点
    • 具体的点如何更新区分为三类:
      • 新的【面中点,边中点】,老的点
        在这里插入图片描述
    • 一个应用曲面细分技术做的动画短片
      在这里插入图片描述
  • 网格简化
    • 怎样做网格简化?
      • 某一种方法:边坍缩,坍缩哪些边呢?
      • 二次误差度量
        • 这个点放置的位置使和他相关联面的平方和距离最小
          在这里插入图片描述
      • 每一条边都算二次度量误差,从小的开始做坍缩
        • 但坍缩一条边会影响其他边的二次度量误差
          • 所以得更新受影响的边,用一种数据结构:堆(优先队列)
          • 当前是个贪心算法
            在这里插入图片描述

之前遗漏的话题:Shadow Mapping

  • 着色是local的
  • Shadow mapping解决了这一问题!
    • 但会产生走样
    • 不需要知道场景的几何信息
    • 经典的shadow mapping只能处理点光源的阴影(硬阴影)
  • 重要的思想
    • 不在阴影里的点,光源和摄像机都能看见
  • 第一步:从光源看向场景,生成一张深度图
  • 第二部:从摄像机看向场景,把看到的每一点投影回光源,知道这点记录在深度图的哪一个像素上得到一个深度值,再计算这点到光源的深度值,如果这两个值一致,说明此点也可以被光源看到,否则就不行!
    在这里插入图片描述
  • 再走一遍:
    在这里插入图片描述
    • shadow mapping 存在的问题,比如上图中,判断两个深度值是否“一致”,对此的一些办法(但是无法根治):
      • 干脆只看大于
      • 大于且大于某个bias数量
    • shadow map 分辨率的限制,可能导致走样,影响阴影质量
    • shadow mapping开销大,要渲染两边
    • 但无论如何 shadow mapping 还是很广泛
    • 软阴影(光源得有大小)
  • 硬阴影和软阴影
    • 硬阴影:点光源
    • 软阴影:非点光源(光源有一定的大小),日全食与日偏食
      在这里插入图片描述
  • 把握课程内容
    在这里插入图片描述
  • GAMES101笔记告一段落
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值