[发明专利]基于水平线扫描的三角形光栅化的实现有效
申请号: | 201010555857.1 | 申请日: | 2010-11-22 |
公开(公告)号: | CN102004832A | 公开(公告)日: | 2011-04-06 |
发明(设计)人: | 焦永;陈宝民;周敏龙 | 申请(专利权)人: | 长沙景嘉微电子有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410205 湖南省长沙市河西*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 水平线 扫描 三角形 光栅 实现 | ||
技术领域
本发明主要涉及到3D图形芯片设计的三角形光栅化领域,特指基于水平线扫描的三角形光栅化的实现。
背景技术
光栅显示器上显示的图形,称之为光栅图形。光栅显示器可以看作是一个像素矩阵,在光栅显示器上显示的任何一个图形,实际上都是一些具有一种或多种颜色和灰度像素的集合。由于对一个具体的光栅显示器来说,像素个数是有限的,像素的颜色和灰度等级也是有限的,像素是有大小的,所以光栅图形只是近似的实际图形。确定最佳逼近图形的像素集合,并用指定的颜色和灰度设置像素的过程称为图形的扫描转换或光栅化。
三角形的光栅化在3D图形芯片的设计中占据重要位置。在OpenGL标准中,图元类型只有3种:点、线段、三角形,可以利用大量三角形拼接成所需要的二维或三维图形。三角形光栅化的速度直接影响到3D图形芯片的性能,因此需要尽可能加快三角形光栅化的速度,同时显示一幅图像需要绘制大量的三角形,因此需要加快连续三角形的光栅化速度。
目前采用的方法是:先计算得到三条边的边界方程,然后利用边界方程判断某一个像素点与三角形的位置关系,确定当前像素点是否在三角形内部。此种实现方法需要用到大量的点乘运算,同时需要花费大量时间来排除不在三角形内部像素点。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术难点,本发明提供了一种结构相对简单、能够快速实现三角形光栅化并能快速实现连续三角形光栅化的实现方式。
与现有技术相比,本发明的优点就在于:
1、逻辑简单:本发明提出的三角形光栅化的实现结构并未采用很复杂的算法,都是比较利于硬件实现的算法,带来的好处就是逻辑简单;
2、性能优良:本发明提出的三角形光栅化实现方式可以快速完成三角形的光栅化,同时由于采用了FIFO,加快了连续三角形的光栅化速度;
3、使用方便:本发明提出的三角形光栅化实现方式可重用性比较好,可以在嵌入式图形芯片设计中很方便的移植。
附图说明
图1是确定水平扫描线的左右端点示意图;
图2是本发明实现填充4个连续三角形的结果;
图3是本发明提出的三角形填充算法实现结构示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明的基于水平线扫描的三角形光栅化的实现,针对每一条水平扫描线需要计算出此扫描线与三角形边界的交点。处理方法是:对当前水平扫描线,分别计算与三角形三条边(或延长线)的交点,然后根据三条边的位置关系确定水平扫描线的左右交点。
如图2所示,本发明的三角形光栅化实际运行效果,可以快速且平滑的实现三角形的光栅化。
如图3所示,本发明的基于水平线扫描的三角形光栅化的实现,它包括三角形三个顶点的顺序调整、三边与最低水平线的交点计算、三角形属性增量计算、水平线与三条边(或延长线)的交点计算、水平线扫描边界的确定、水平线裁剪、扫描线起始点属性计算、水平线填充等实现过程。输入数据为三角形三个顶点的浮点坐标及每个坐标对应的属性。首先,调整顶点顺序如图1所示,将三角形三个顶点按照Y坐标的大小排列,同时确定三角形主要边的方向;然后再分别计算三角形三条边(或其延长线)与最低水平扫描线的交点,同时根据平面方程计算三角形属性随X和Y的增量;将最低扫描线与三条边的交点坐标,三角形属性的增量,三角形三个点的坐标与最低点的属性以及主要边的方向写入FIFO;从FIFO读出数据,计算扫描初始点的属性,利用增量法计算每条水平扫描线与三角形三条边的交点;确定当前扫描线和下一条扫描线的左右边界;进行水平线裁剪,将下一条扫描线裁剪后的数据送入属性计算模块计算下一扫描线的起始点属性,将当前扫描线裁剪后的数据送入浮点转整数单元;将当前扫描线当前左右边界转化成屏幕整数坐标;进行水平线扫描,利用增量法生成水平扫描线上的每一个像素点的坐标和属性,在进行水平线扫描过程中,暂停计算扫描边界的流水线,同时下一条扫描线的左右边界和起始点属性已经计算完成,当前扫描线扫描结束,下一条扫描线马上进入水平线扫描过程,当三角形所有的水平扫描线均扫描结束时,当前三角形的光栅化结束,继续读取FIFO获取下一个三角形的数据进行光栅化。
与传统的三角形光栅化做法相比,本发明所采用的实现方法与传统的实现方法耗费的硬件资源相当,但本发明减少了由于判断无需绘制的像素所带来的时间损耗,特别是对狭长三角形。传统实现方式需要花费大量周期来判断并不需绘制的像素,而本发明不需要判断,得到的水平扫描线上的像素均为需要绘制的像素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙景嘉微电子有限公司,未经长沙景嘉微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010555857.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有模式识别功能的手持控制漫游系统
- 下一篇:一种网页审计方法及装置