[发明专利]图元预处理和处理方法、图形处理方法及其处理器、装置有效
申请号: | 201210226716.4 | 申请日: | 2012-07-02 |
公开(公告)号: | CN102799431A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 沙力;李济川;赵波 | 申请(专利权)人: | 上海算芯微电子有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 201203 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预处理 处理 方法 图形 及其 处理器 装置 | ||
技术领域
本发明涉及图形处理,特别涉及一种图元预处理方法及处理方法、一种图形处理以及一种图元预处理器及处理器、一种图形处理装置。
背景技术
现在的用户对计算机应用程序的视觉效果要求越来越高,尤其是游戏类应用程序,常需要描绘复杂且精美的图形,仅一个场景往往就涉及大量的图形。这势必带来大量不间断的图形运算,相应地,对图形处理芯片的运算能力也要求越来越高。
现有技术中使用图元作为图形绘制的基本单位。每个图元包含一个或多个顶点。比如:一个点的图元就是一个顶点,一条线段的图元包含两个顶点,一个三角形的图元包含三个顶点,一个四边形的图元包含四个顶点,以此类推。图元可由绘图应用接口(Application Programming Interface,API)标准定义。常用的绘图应用接口有开放式绘图函数库(Open Graphics Library,OpenGL)、Direct 3D(D3D)等。OpenGL是一个跨编程语言、跨平台的编程接口,可独立于窗口系统和操作系统开发二维/三维的计算机绘图应用程序,以它为基础开发的应用程序可以十分方便地在各种平台间移植。D3D是微软公司的标准,可与不同的微软系统配合进行二维/三维的图形处理。
任意一个复杂的图形都能被拆分成多个相对简单的图元。比如:一个人的图形可以被拆成一个圆形代表头,一个大矩形代表躯干,四个小矩形代表四肢,其中圆形又是由无数个三角形图元组合而成的。为了方便绘制,会把一个复杂的图形尽量拆分成简单图元,比如:三角形、四边形等。
绘制一个图形,就是把组成该图形的各个图元绘制出来。这些图元的信息存储在内存(例如,DDR类型的内存)中。这些图元信息首先包括一张含全部顶点的索引表,该索引表给出各顶点对应数据的实际物理存储地址。其次包括各顶点的数据,另外还会给出图元信息表,表明每个图元是由哪几个顶点组成的。绘制图元的过程就是根据组成该图元的顶点索引信息,按其实际物理存储地址,到内存中读取相应的顶点数据进行图形绘制。由于内存读取速度的局限性,现有的3D图形芯片设计中,均采用顶点高速缓存的方式读取顶点数据,此技术被广泛应用。该技术把最近使用的顶点数据存放在一个高速缓冲存储器(Cache)中。高速缓冲存储器容量比内存小得多,仅能存储有限的数据,但其读取速度也同样比内存迅速许多,常用于存储在下一步很可能为处理器所用的数据。基于图形程序中顶点的空间局部性和时间局部性原理,读取前后的两个图元常会有共用的顶点,将这样的顶点加入高速缓存中,能加快下次读取相同顶点数据的时间。
由于高速缓存的容量有限,无法存储所有的顶点数据,在高速缓存已满时,需按一定策略进行数据替换。所以,需要设置标示(Tag),以表明该顶点是否在高速缓存中。每当读取一个新的图元,需要把图元所属的顶点索引与高速缓存中的标示(Tag)做比较,如果相同则表示命中,该顶点数据在高速缓存中,可直接读取高速缓存。否则表示缺失,需要从片外的内存中取进缺失的顶点,替换掉高速缓存中的顶点,之后再读取高速缓存。
比如某内存的容量可存储1024个顶点的数据,则每个顶点需要用10个比特表示(因210=1024)。高速缓存的容量可存储8个顶点的数据,则每个顶点仅需要用3个比特即可表示(因23=8),通常是用最低的3位表示。即:顶点0在内存中表示为0000000000,在高速缓存中表示为最低的3位000。顶点1在内存中表示为0000000001,在高速缓存中表示为001。顶点7在内存中表示为0000000111,在高速缓存中表示为111。问题是,顶点8在内存中表示为0000001000,而在高速缓存中用最低的3位表示也同样为000。此时,将无法区分该顶点到底是表示顶点0,还是顶点8。所以,需要为各顶点设置标示(Tag),用来保存各顶点的高位。即顶点0的Tag为0000000,而顶点8的Tag为0000001。通过比较Tag值,能确定某顶点是否已在高速缓存中。所以高速缓存中除了要保存顶点数据外,还要保存顶点的标示(Tag),占用高速缓存的存储空间,同时还要增加大量控制逻辑,增加了芯片设计复杂度、芯片面积和芯片功耗。
发明内容
本发明所要解决的技术问题是无需设置高速缓存中的标示,就可实现绘制图形,节省图形处理芯片的面积,并降低图形处理芯片的设计复杂度和功耗。
为了解决上述问题,本发明提供了一种图元预处理方法,包括:
模拟该图元的实际输出过程,以获得实际输出该图元时高速缓存中顶点和该图元各顶点进入高速缓存的先后顺序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海算芯微电子有限公司,未经上海算芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210226716.4/2.html,转载请声明来源钻瓜专利网。