Games101-光栅化(三角形 )

视锥

在这里插入图片描述
fov:可视角
aspect ratio:宽高比
在这里插入图片描述

MVP

在这里插入图片描述
在这里插入图片描述
屏幕:抽象的认为是一个二维数组,数组中的每一个元素是一个像素
屏幕是一个典型的光栅成像设备
光栅化:把东西画在屏幕上的过程
像素:理解为不变的最小单位,RGB的混合来表示颜色
在这里插入图片描述

屏幕空间:屏幕定义的一个坐标系
每一个像素的索引默认是x,y,范围是 (0,0) 到 (width-1,height-1)
像素的中心是 (x+0.5, y+0.5)
屏幕所占的区域是 (0,0) 到 (width, height)
在这里插入图片描述
在这里插入图片描述
[-1,1]. ==>> [0, 2] ==>> [0,width][, height]
z方向不变

光栅设备

在这里插入图片描述

示波器,示波器的显示原理与显示器一样,都是阴极射线管
在这里插入图片描述
CRT
在这里插入图片描述
通过隔行扫描的方式画线

在这里插入图片描述
Frame Buffer:内存中间的一块区域,将这块区域映射到屏幕上 (显存)
在这里插入图片描述
平板显示器
在这里插入图片描述
LCD:液晶显示器
通过自己的不同排布,影响光的极化,也就是光的偏振方向
在这里插入图片描述
LED:发光二极管
在这里插入图片描述
电子墨水屏:通过改变黑色和白色的朝向显示,刷新率很低

光栅化的过程

在这里插入图片描述
三角形表示三维的图形
在这里插入图片描述
三角形表示二维的图形
在这里插入图片描述
三角形的性质:

  1. 三角形是最基础的多边形
  2. 任何其他多边形都可以拆成三角形
  3. 三角形一点是平面的
  4. 三角形的内外定义是分明的
  5. 根据三角形里面的任一点和三角形三个顶点位置关系,可以得到一个逐渐的变化,从三角形的一个顶点变成另一个顶点。即他们之间的属性在三角形内部如何插值(重心坐标插值)
    在这里插入图片描述
    判断像素的中心点与三角形的位置关系

采样法/A Simple Approach: Sampling

在这里插入图片描述

给一个连续的函数,在不同的地方去问函数的值是多少
例如一个函数 f ( x ) = s i n ( x ) f(x) = sin(x) f(x)=sin(x) ,然后问x=1,x=2…x=100的 f(x) 都是多少
采样就是把一个函数给离散化的过程
这里的采样就是利用像素中心对屏幕空间进行采样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
定义一个函数,判断像素的中心是否在三角形内
在这里插入图片描述
在这里插入图片描述

如何采样:循环遍历

在这里插入图片描述
在这里插入图片描述
如何判断点是否在三角形内:通过叉积。p1p2叉乘p1q,判断点的位置。点在三条边(同样的顺序)的同侧,则在三角形里面
在这里插入图片描述
要么不做处理,要么特殊处理。本门课里不做处理。‘
上述点是在三角形1还是三角形2,或者两者都在,只要自己定义一个标准就行
在一些图形学api有非常严格的定义。像openGL和DirectX认为上边和左边都在三角形内,右边和下边则不在
在这里插入图片描述
蓝色区域称为三角形的包围盒 aabb m i n ( p 0. x , p 1. x , p 2. x ) , m a x ( p 0. x , p 1. x , p 2. x ) , m i n ( p 0. y , p 1. y , p 2. y ) , m a x ( p 0. y , p 1. y , p 2. y ) min(p0.x,p1.x,p2.x),max(p0.x,p1.x,p2.x),min(p0.y,p1.y,p2.y),max(p0.y,p1.y,p2.y) min(p0.x,p1.x,p2.x),max(p0.x,p1.x,p2.x),min(p0.y,p1.y,p2.y),max(p0.y,p1.y,p2.y)
只需要对包围盒内的区域做循环
在这里插入图片描述
对于狭长的旋转45度的三角形,适合上述包围盒。即每行判断一个独立的包围盒

真实屏幕上的光栅化

在这里插入图片描述
真实的像素不是一个方块
绿色的点比红色和蓝色的点要多:因为人眼本质上对绿色比红色蓝色更敏感
在这里插入图片描述
彩色打印机,更加的复杂
在这里插入图片描述
这门课里仍然认为每一个像素是个颜色均匀的小方块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
采样会造成锯齿问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值