【GAMES101】05 三角形光栅化 rasterization

1. 透视投影

在这里插入图片描述
一般需要定义fovY(垂直的可视角度,即两个红线中间的角度);aspect ratio长宽比。(通过长宽比、垂直可视角度可以推出水平的可视角度)

1.1 计算l,r,b,t

上一节中,
在这里插入图片描述
在这里插入图片描述

2. 光栅化 (将立方体画在平面上)

MVP之后,立方体画在平面上
在这里插入图片描述
光栅化 == 将立方体画在屏幕上。
在这里插入图片描述
这里理解为像素代表最小单位,每个像素只有一个颜色。

2.1 像素

在这里插入图片描述

2.2 立方体画在屏幕上

在这里插入图片描述
忽略 z;把 [-1, 1] 转到屏幕大小。
在这里插入图片描述
-1 ~ 1 一共是2,所以除以 2 再乘以 width 或者 height
缩放之后,-1 变成 -width / 2,把他变成 0, 需要平移 width / 2
得到上图矩阵。(即 [-1, 1]平方变到屏幕空间)

至此,可以把frustnum通过正交投影or透视投影变到屏幕上的图片。

2.3 介绍显示设备

  1. CRT(比如示波器),隔行扫描,第一帧画1.3.5奇数行,第二帧画2.4.6偶数行,利用人眼暂留效应。目前在视频压缩中仍有应用。
    在这里插入图片描述
    在高速运动中,隔行扫描会出现鬼影现象

  2. 显示器:
    将显卡的内存(显存),映射到屏幕上。要显示的图像存在内存中的一块区域,想要显示哪张图就映射哪块内存。

  3. LCD 液晶显示器:
    液晶通过自己i的不同排布,影响光的极化(偏振方向)。
    光的波动性,光经过一个光栅,只会留下光栅规定的方向的震动能量。
    在这里插入图片描述
    液晶显示器原理:通过一个个液晶扭曲,逐渐把光的振动方向一点点调过来(右上角图)

  4. LED 发光二极管:
    在这里插入图片描述

  5. 电子墨水屏幕:
    有黑/白墨水,通过不同的电压,控制黑色在上面还是白色在上面。
    存在问题:刷新率低。
    在这里插入图片描述

2.4 为什么用三角形光栅化?

  • 三角形是最基础的多边形;
  • 任何多边形可以拆成三角形;
  • 三角形内部一定是个平面;
  • 通过向量叉积可以判断是否在三角形内(不存在多边形里面有洞等问题);
  • 定义三角形三个顶点具有不同属性,在三角形内部可以通过插值,从一个顶点的属性渐变变化到另一个顶点的属性(重心坐标插值方法)。

2.5 用采样做光栅化

采样:函数离散化过程
这里用像素中心进行采样;判断像素中心是否在三角形内。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 如何判断是否在三角形内?

在这里插入图片描述
P1P2叉乘P1Q : 结果为正,Q在P1P2左侧;
P0P1叉乘P0Q:结果为正,Q在P0P1左侧;
P2P0叉乘P2Q:结果为负,Q 在P2P0右侧。

叉乘,只有判断出全部是在左侧,或者在右侧,才在三角形内。

落在三角形边上的情况:自己定义(可以定义在那条边上算,或者都不算)。
opengl: 左边和上边认为在三角形内,右边和下边认为不在三角形内。

2.7 三角形光栅化加速1:使用bounding box避免遍历屏幕内的所有像素

在这里插入图片描述
已知P0 P1 P2三个点的x y,所有的x y都取最小和最大,得到bounding box区域。只有在box区域内的,做循环,判断是否在三角形内部。

2.8 三角形光栅化加速2:

每一行都找三角形的最左和最右(但这个最左和最右不太好找)。比如三角形是很窄长,又旋转45度,这个时候bounding box会很大,就适合用该种方法,
在这里插入图片描述

2.9 锯齿

原因:1.像素本身有一定大小; 2.采样率对信号来说不够高,产生信号走样问题(aliasing)。接下来,抗锯齿(反走样)。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值