光栅化规则(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),但这里还需提及一下,关于渲染管线可以绑定的状态主要有如下四种: 光栅化状态(光栅化阶段) 采样器状态(像素着色阶段) 混合状态(输出合并阶段 ...
随机推荐
- 19、Flask实战第19天:CSRF攻击与防御
CSRF攻击原理 网站是通过cookie来实现登录功能的.而cookie只要存在浏览器中,那么浏览器在访问这个cookie的服务器的时候,就会自动的携带cookie信息到服务器上去.那么这时候就存在一 ...
- 简化的INSERT语句
INSERT语句中也并不需要我们指定表中的所有列,比如在插入数据的时候某些字段没有值,我们可以忽略这些字段.下面我们插入一条没有备注信息的数据: INSERT INTO T_Person(FAge,F ...
- POJ 3293 Rectilinear polygon(几何基础)
[题目链接] http://poj.org/problem?id=3293 [题目大意] 给出一些点,每个点只能向外引出一条平行X轴,和Y轴的边, 问能否构成一个闭多边形,如果能,返回多边形的总边长, ...
- 【二分答案】【最大流】bzoj1305 [CQOI2009]dance跳舞
http://hzwer.com/1986.html #include<cstdio> #include<algorithm> #include<queue> #i ...
- 【动态规划】【记忆化搜索】【dfs】bzoj2748 [HAOI2012]音量调节
f[i][j]表示第i首歌音量为j是否可能.若是将状态之间建边,那么答案就是max(j){f[i][j]==true&&0<=j<=limit}.于是就是图中dfs一遍判断 ...
- 分析成绩 Exercise07_04
import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:分析成绩 * */ public class Exercise07_04 ...
- tomcat访问(access)日志配置、记录Post请求参数(转)
一.配置与说明 tomcat访问日志格式配置,在config/server.xml里Host标签下加上 <Valve className="org.apache.catalina.va ...
- linux-去重-uniq
uniq : 默认(去重) | -d(显重) | -u(删重) 语法:uniq [选项] 文件 选项 -c或--count 在每列旁边显示该行重复出现的次数 -d或--repeat 仅 ...
- JQuery使用trigger模拟触发selete的选择change事件
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- Android Facebook和Twitter登录和分享完整版
最近公司的软件需要改国际版,需要Facebook和Twitter的登录和分享. 本人先用Umeng的第三方社会化分享实现了该功能,但是后来一想问题来了,经过查证.Umeng只在中国和美国有服务器,那也 ...