GAMES101课程学习笔记—Lec 05~06:Rasterization 光栅化

1 从标准化设备坐标到屏幕

之前我们通过MVP矩阵把物体坐标变换到标准化设备坐标(每个顶点的x,y,z坐标都应该在-1.0到1.0之间)
那么接下来我们需要把它映射到屏幕中
那么就会产生以下问题
在这里插入图片描述

  • 何为屏幕?
    在图形学中,我们认为屏幕是一个二维数组,数组里的每一个元素为一个二维像素。
    屏幕是一个典型的光栅成像设备
    光栅化的过程就是把东西画在屏幕上的过程
  • 何为像素?
    在这门课中我们暂时认为它是小的方块,内部的颜色是一个整体的颜色,颜色值用RGB表示。

我们同样需要定义屏幕的空间
在这里插入图片描述

  • 屏幕空间即在屏幕中建立坐标系,XOY平面
    屏幕空间坐标为整数,范围从(0,0)到(width-1,height-1)
    像素(x,y)中心在(x+0.5,y+0.5)

通过视口变换可以将标准化设备坐标映射到屏幕坐标(暂时先不管Z)
在这里插入图片描述
视口变换后,我们要把这些多边形显示在光栅显示设备上
在这里插入图片描述
关于光栅显示设备的知识在此不作记录了

2 从图形到光栅显示

上文的老虎由不同的四边形组成,也有很多例子是靠三角形组成
在这里插入图片描述
三角形是最基本的多边形,拥有很多特性
在这里插入图片描述

  • 三角形可以分解其他的多边形
  • 三角形保证是平面的
  • 三角形的内外定义清晰,可以用叉乘判断内外
  • 三角形内可以定义明确的插值方法

接下来以三角形为例
在经过视口变换之后,我们知道了三角形变换到屏幕空间的位置,那么像素该如何显示呢?如何判断像素和三角形呢?
在这里插入图片描述

2.1 采样

采样也就是把一个函数离散化的过程
以下的图片展示了利用像素中心对屏幕空间的三角形进行2D采样的过程
在这里插入图片描述
在这里插入图片描述
我们定义了一个inside函数,判断了像素中心是否在三角形内部
伪代码的形式就像下图,遍历像素,判断是否inside
在这里插入图片描述
这个inside函数如何实现判断点Q呢?
我们要做的是叉乘
判断 P 1 P 2 × P 1 Q P_1P_2 × P_1Q P1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值