光栅化规则(Rasterization Rules)
光栅化规则不是唯一的,只要能满足在扫描线填充过程中,对于一条分割线两边的像素能够被不重复不遗漏地填充即可。
在gdi3d中目前使用的是下面光栅化规则:
xLeft_int=ceil(xLeft-0.5)
xRight_int=ceil(xRight-1.5)
yTop_int=ceil(yTop-1.5)
yBottom_int=ceil(yBottom-0.5)
下面验证上面规则是满足不重复不遗漏的,如图:

先验证纵向上不重复不遗漏:
(1),假设上面三角形的yBottom=0.5,则下面与之共边的三角形的yTop=0.5,则
yBottom_int=ceil(yBottom-0.5)=ceil(0.5-0.5)=0
yTop_int=ceil(yTop-1.5)=ceil(0.5-1.5)=-1
即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。
(2),假设上面三角形的yBottom=0.4,则下面与之共边的三角形的yTop=0.4,则
yBottom_int=ceil(yBottom-0.5)=ceil(0.4-0.5)=0
yTop_int=ceil(yTop-1.5)=ceil(0.4-1.5)=-1
即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。
(3),假设上面三角形的yBottom=0.6,则下面与之共边的三角形的yTop=0.6,则
yBottom_int=ceil(yBottom-0.5)=ceil(0.6-0.5)=1
yTop_int=ceil(yTop-1.5)=ceil(0.6-1.5)=0
即上面三角形填充第1行,下面三角形填充第0行。两行正好相邻,不重复不遗漏。
同理可验证横向上也是不重复不遗漏的。
----
参考:https://msdn.microsoft.com/en-us/library/windows/desktop/cc627092(v=vs.85).aspx
光栅化规则(Rasterization Rules)的更多相关文章
- GPU大百科全书 第二章 凝固生命的光栅化
		光栅化——死神来了…… 前言:在上一期的GPU大百科全书里,我们目睹了可爱的香草从抽象世界走向现实,从方程还原成实体的全过程.可以说香草活了,因为几何单元,我们赋予了她完整的灵魂. 如果你正在为G ... 
- 记录规则(recording rules)与告警规则(alerting rule)
		记录规则(recording rules) 配置规则 Prometheus支持两种类型的规则,可以对其进行配置,然后定期进行评估:记录规则和警报规则.要在Prometheus中包含规则,请创建一个包含 ... 
- DirectX11 With Windows SDK--07 添加光照与常用几何模型、光栅化状态
		原文:DirectX11 With Windows SDK--07 添加光照与常用几何模型.光栅化状态 前言 对于3D游戏来说,合理的光照可以让游戏显得更加真实.接下来会介绍光照的各种分量,以及常见的 ... 
- 【Notes_4】现代图形学入门——光栅化、离散化三角形、深度测试与抗锯齿
		光栅化 Viewport Transform(视口变换) 将经过MVP变换后得到的单位空间模型变换到屏幕上,屏幕左边是左下角为原点. 所以视口变换的矩阵 \[M_{viewport}=\begin{p ... 
- 基于显卡的光栅化渲染器Gaius计划
		决定实现一个基于显卡的光栅化渲染器,能将一些基于显卡的新算法融入其中. 
- 用 windows GDI 实现软光栅化渲染器--gdi3d(开源)
		尝试用windows GDI实现了一个简单的软光栅化渲染器,把OpenGL渲染管线实现了一遍,还是挺有收获的,搞清了以前一些似是而非的疑惑. ----更新2015-10-16代码已上传.gihub地址 ... 
- 软件光栅化渲染器Augustus计划
		在看完Real-Time Rendering后,我决定动手实现一个软件的光栅化渲染器.我就称它为Augustus计划吧. 计划使用MFC和GDI+来做它的UI.可以访问GitHub来查看它的源代码. 
- opengles2.0之图元装配和光栅化
		光栅化的过程就是把三维世界中的物体转换成屏幕上像素的过程. glGetfloatv(); --------v表示的是数组 gles2.0里面有两种绘图命令.glDrawArrays和glDraw ... 
- DirectX11 With Windows SDK--11 混合状态与光栅化状态
		前言 虽然这一部分的内容主要偏向于混合(Blending),但这里还需提及一下,关于渲染管线可以绑定的状态主要有如下四种: 光栅化状态(光栅化阶段) 采样器状态(像素着色阶段) 混合状态(输出合并阶段 ... 
随机推荐
- 训练指南 UVALive - 3415(最大点独立集)
			layout: post title: 训练指南 UVALive - 3415(最大点独立集) author: "luowentaoaa" catalog: true mathja ... 
- [Contest20180316]Game
			这题有一个结论:如果他是最强的(⑨),那么线段树最优,如果他是最弱的,那么链状树最优 严格证明可能挺困难,感性理解就是公平赛制让强的人容易赢,极度不公平的赛制能让弱的人有机会反杀 所以我们只改他的能力 ... 
- 【AC自动机】【动态规划】hdu2296 Ring
			题解:http://www.cnblogs.com/swm8023/archive/2012/08/08/2627535.html 要输出路径,价值最大优先,价值相同的取长度较小者,仍相同取字典序较小 ... 
- XAMPP 下apache部署网站,多个虚拟机(空间)配置
			1.首先修改C盘WINDOWS/system32/drivers/etc目录下的 hosts 文件,用记事本打开,加入: 127.0.0.1 www.a.com 127.0.0.1 www.b.com ... 
- 小程序与h5的相互跳转
			1, 小程序跳h5 <web-view src="https://zgl.seamo.cn/zglh5/kjzjlist1.html"></web-view> ... 
- Github上的iOS资料-个人记录
			动画 awesome-ios-animation收集了iOS平台下比较主流炫酷的几款动画框架 RCTRefreshControlqq的下拉刷新 TBIconTransitionKiticon 的点击动 ... 
- 【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务
			1.ArcGIS 10.2支持原生数据发布为要素服 有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求? ArcGIS 10.2 ... 
- VUE -- Vue.js每天必学之计算属性computed与$watch
			在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需 ... 
- js splice()方法
			splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 实例 例子 1 在本例中,我们将创建一个新数组,并向其添加一个元素: <script ty ... 
- Kubernetes dashboard集成heapster
			图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster . Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: In ... 
