Games101笔记——Lecture5:Rasterization 1 (Triangles)

Lecture5:Rasterization 1 (Triangles)

  • 光栅化,多用于游戏和虚拟现实
  • 这节课据老师说挺简单
  • 今日内容
    • 讲完视角变换
    • 光栅化
    • 有时间讲下节课的遮挡和可见性

讲完视角变换

  • 由透视投影转换为正交投影
  • 如何定义视锥的大小?
    • 定义视角的宽度和高度(宽高比)
    • 红线的角度是垂直可视角度
      • 这一角度越小透视投影越不明显
        在这里插入图片描述
      • 通过垂直可视角度和长宽比,可以推出水平可视角度
        在这里插入图片描述
  • 在MVP之后,所有物体都到(-1, 1)的三次方,要把它画到屏幕上
  • 我们认为屏幕是一个二维数组,每一个数就是一个像素
  • 屏幕是一个光栅成像设备
  • raster 一词是德语中的“屏幕”
    • rasterize 则相当于把东西画在屏幕上
  • pixel一次实际上是 picture element 的缩写
    • 目前把像素当作一个小方块作为最小单位,其中颜色没有差异(实际不是)
    • 颜色是“红绿蓝”的混合
  • 认为屏幕左下角是屏幕空间的原点
    • 向上是y轴,向右是x轴
    • 像素的坐标(indice)写成(x, y)形式,从(0, 0)到(width - 1, height - 1)
    • 像素的中心在(x + 0.5, y + 0.5)
    • 整个屏幕覆盖(0, 0)到(width, height)
  • 要做的转换
    • 暂时不管z
    • 只看x和y,把(-1, 1)的平方拉到[0, width] × [0, height]
      在这里插入图片描述
    • 上图就是视口变换
  • 所谓光栅化,就是把多边形(三角形)打成在屏幕空间上的像素
  • 示波器和早期显示器的成像原理相似:阴极射线管
    在这里插入图片描述
    • 通过扫描画线的方式成像
    • 还可以隔行扫描画线,这样可以更快(直到现在在视频压缩技术中也继承了这样的思想),但是可能造成画面撕裂(尤其对于高速运动画面)
  • 现在的显示器:把内存(显存)中的一块区域映射到屏幕上
  • 现在的显示设备:平板显示设备
    • LCD:计算器是低分辨率的LCD显示设备,还有分辨率高于人眼的视网膜显示设备
    • LCD (Liquid Crystal Display):液晶显示器,其原理为光的偏振
    • LED (Light emitting diode): 发光二极管
    • 电子墨水屏,通过通电控制像素,但刷新率极低
  • 拆多边形为像素
  • 三角形是基础
    • 三角形是最基本的多边形:所有多边形都能拆成三角形
    • 三角形折不成平面
    • 三角形的内外定义清楚(通过向量叉积)
    • 三角形定义三个顶点的某种属性,对于三角形内部的某一点可以插值
  • 把三角形变成像素,判断像素中心点和三角形的位置关系
  • 通过采样的方法:就是把函数离散化的过程
    在这里插入图片描述
    • 2D采样,判断像素中心是否在三角形内,inside函数
      在这里插入图片描述
      在这里插入图片描述
    • 通过两个for循环,但函数怎么实现?还是叉积!
      • 那要是一点在三角形边界呢?本科上不做处理
  • 光栅化的时候没必要把整个屏幕走一遍,怎么办?
    • 包围盒!Bounding Box ,严格地说,轴向包围盒
  • 光栅化还有其他加速方法!每一行都对应找最左、最右,说着容易做着难,对于窄长三角形比较适合。
  • 实际的屏幕什么样啊?
    在这里插入图片描述
    • 右侧是bayer pattern,一种可以让红绿蓝均匀分布的排列方法,绿色点其实比红色的点多,红蓝密度一致 ,因为人眼对绿色最敏感
  • 在打印过程中不太同,打印是减色系统(加的颜色越多越黑),屏幕是加色系统(rgb值越高越亮)
  • 今天的课最后看一个问题
    • 现在这么做,有锯齿!因为采样率对于这一信号不够高,导致信号走样/锯齿(Aliasing / Jaggies)
  • 下节课见!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值