CN101061516A - 用于图形处理器的有效接口和汇集器 - Google Patents
用于图形处理器的有效接口和汇集器 Download PDFInfo
- Publication number
- CN101061516A CN101061516A CNA200580039269XA CN200580039269A CN101061516A CN 101061516 A CN101061516 A CN 101061516A CN A200580039269X A CNA200580039269X A CN A200580039269XA CN 200580039269 A CN200580039269 A CN 200580039269A CN 101061516 A CN101061516 A CN 101061516A
- Authority
- CN
- China
- Prior art keywords
- information
- vertex information
- vertex
- application processor
- process unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
Abstract
本发明揭示一种图形处理器和方法,其中从应用处理器检索顶点信息,且用于汇集表现图形图像的表面。接着可将所述汇集的表面渲染到像素信息中。所述顶点信息包括多个数据块,其中所述数据块的每一者均具有用于与所述表面中的至少一者相关联的一个顶点的数据。所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。在所述图形处理器的至少一个实施例中,可使用乒乓顶点缓冲器配置从所述应用处理器成批地检索所述顶点信息。在所述图形处理器的相同或替代实施例中,可通过由所述应用处理器产生的指令控制的帧缓冲器的乒乓布置将所述像素信息呈现到显示器。
Description
技术领域
本发明大体上涉及图形成像,且更具体来说涉及用于图形处理器的有效接口和汇集器。
背景技术
电子游戏和多媒体呈现在个人计算机、膝上型计算机、移动电话、个人数字助理(PDA)和其它装置中的集成已变成当今消费者电子市场的主流。通过已知的三维(3D)图形的技术来支持这些电子游戏和多媒体呈现。3D图形用于产生图形图像,并将所述图像投影到二维(2D)显示器上。这可通过将图形图像分解成基本组分(例如,三角形、正方形、矩形、平行四边形或其它合适的表面)来实现。典型的图形图像可能需要将数千个表面一起放到被称为线框的结构中。在将线框的表面渲染到适于驱动显示器的像素信息中之前可对其进行进一步处理。
传统上,计算机的中央处理单元(CPU)已利用用于将表面渲染到像素信息中的硬件来全面处理线框的结构。此方法是有用的,但CPU必须对线框的表面做出大量的处理,以及例如音频和用户输入的其它处理功能。因此,CPU可能变得过载且不能实时满足各种软件要求。这个问题随着消费者对更真实的图形增加的需求而变得更为显著。
因此需要一种为CPU分担更多工作的图形处理器。所述图形处理器应具有有效的接口和汇集器来增强图形图像的视觉质量。
发明内容
在本发明的一个方面中,一种图形处理器包含存储器,所述存储器经配置以接收与表现图形图像的多个表面相关联的顶点信息,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。所述图形处理器还包含:汇集器,其经配置以从所述存储器中的所述顶点信息汇集表面;和像素处理引擎,其经配置以将由所述汇集器汇集的表面渲染到像素信息中。
在本发明的另一方面中,一种图形成像的方法包含从应用处理器检索顶点信息,所述顶点信息与表现图形图像的多个表面相关联,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。所述方法还包含从所述检索到的顶点信息汇集所述表面和将所述汇集的表面渲染到像素信息中。
在本发明的又一方面中,一种图形处理器包含用于从应用处理器检索顶点信息的装置,所述顶点信息与表现图形图像的多个表面相关联,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。所述图形处理器还包含用于从所述检索到的顶点信息汇集所述表面的装置和用于将所述汇集的表面渲染到像素信息中的装置。
在本发明的又一方面中,一种图形成像的方法包含从应用处理器检索顶点信息,所述顶点信息与表现图形图像的多个表面相关联,且其中从所述应用处理器成批地检索所述顶点信息,每一批所述顶点信息均与所述表面中的一者以上相关联。所述方法还包含从所述检索到的顶点信息汇集所述表面和将所述汇集的表面渲染到像素信息中。
在本发明的又一方面中,一种图形处理器包含:存储器,其经配置以接收与表现图形图像的多个表面相关联的顶点信息和具有所述顶点信息的多个指令;汇集器,其经配置以从所述存储器中的所述顶点信息汇集所述表面;和像素处理引擎,其包括乒乓帧缓冲器,且其中所述像素处理引擎响应于所述存储器中的所述指令而进一步经配置以从所述乒乓帧缓冲器中的一者将从所述汇集的表面的第一部分产生的像素信息提供到显示器,且同时将从所述汇集的表面的第二部分产生的像素信息写入到所述乒乓帧缓冲器中的另一者。
在本发明的又一方面中,一种图形成像系统包含应用处理器,所述应用处理器经配置以产生包括由顶点信息界定的多个表面的图形图像,所述应用处理器包括乒乓缓冲器,且进一步经配置以将第一批顶点信息写入到所述乒乓缓冲器中的一者。所述图形成像系统还包含图形处理器,其具有接口,所述图形处理器经配置以检索来自所述乒乓缓冲器中另一者的第二批顶点信息,同时所述应用处理器将第一批顶点信息写入到所述乒乓缓冲器中的所述一者,所述图形处理器进一步包括像素处理引擎,所述像素处理引擎经配置以将从所述第二批顶点信息汇集的表面渲染到像素信息中。
应了解,所属领域的技术人员从以下详细描述中将容易了解本发明的其它实施例,以下详细描述中,以说明的方式展示并描述本发明的各种实施例。将了解,本发明能够具有其它和不同的实施例,且其若干细节能够在各种其它方面进行修改,这些均不脱离本发明的精神和范围。因此,应将附图和详细描述视为本质上为说明性的而并不视为具有限定性。
附图说明
在附图中以实例的方式而不是限制的方式说明本发明的各方面,附图中:
图1是说明应用处理器的操作的3D图形系统的概念方框图;
图2是说明图形处理器的操作的3D图形系统的概念方框图;
图3是说明应用处理器与图形处理器之间的接口的3D图形系统的概念方框图;
图4A是说明从应用处理器中检索指令和顶点信息并存储在图形处理器的存储器中的方式的概念图;
图4B是说明图4A的图形处理器的存储器中顶点信息的数据结构的概念图。
具体实施方式
下文结合附图陈述的详细描述内容希望作为对本发明的各种实施例的描述,且不希望表示是仅可实践本发明的实施例。所述详细描述内容出于提供对本发明的彻底理解的目的而包含特定细节。然而,所属领域的技术人员将了解,可在没有这些特定细节的情况下实践本发明。在一些情况中,为了避免混淆本发明的概念,以方框图形式展示众所周知的结构和组件。
图1是说明集成到个人计算机、膝上型计算机、移动电话、PDA或其它合适装置中的3D图形系统的概念方框图。3D图形系统可包含应用处理器102。应用处理器102的目的是产生3D图形图像的线框结构并将所述图像转换成线框结构。
应用处理器102可为任何软件实施的实体。在图1所示的3D图形系统的实施例中,应用处理器102包含具有外部存储器106的微处理器104。系统总线108可用于支持这两者之间的通信。微处理器104可用于提供运行各种软件程序(例如,用于电子游戏的3D图形软件)的平台。可在制造时将软件编程到外部存储器106中,或者在操作期间通过无线链路、电话线连接、电缆调制解调器连接、数字订户线(DSL)、光纤链路、卫星链路或任何其它合适的通信链路从远程服务器下载软件。
在电子游戏应用中,软件可用于产生虚拟3D世界以表现将运行游戏的实体环境。用户可能能够通过操纵用户接口110来探索此虚拟的3D世界。用户接口110可为键盘、操纵杆、跟踪球、鼠标或任何其它合适的允许用户在虚拟3D世界中活动(向前或向后、向上或向下、向左或向右移动)的装置。软件可用于产生表现当用户在此虚拟3D世界中活动时可能看见的东西的一系列3D图形图像。
应用处理器102还可包含连接到系统总线108的DSP 112。DSP 112可经建构而具有嵌入的图形软件层,所述图形软件层运行专用算法以减少对微处理器104的处理要求。DSP 112可用于将每个3D图形图像分解成多个表面以产生线框结构。为说明3D图形系统的操作,以下描述中将使用三角形表面。然而,所属领域的技术人员可容易能够将本文描述的原理扩展到其它表面,例如正方形、矩形、平行四边形或其它合适的表面。
DSP 112还可执行其它处理功能,包含(例如)将外表面应用于线框结构。DSP 112还可将各种光照模型应用于外表面元件。背面剔除可用于去除用户看不到的线框部分,尤其是线框的背面。也可修剪线框结构以去除图像在显示器外的那些部分。
接着可由DSP 112将具有外表面元件的线框结构从3D数学空间转变到2D显示空间。在2D显示空间中,每个三角形可由其三个顶点的显示坐标和表面属性来界定。表面属性可包含深度(Z)、色彩(R、G、B)、镜面色彩(Rs、Gs、Bs)、纹理(U、V)和混合信息(A)。混合信息涉及透明度且规定当两个像素重叠(一者在另一者之上)时应如何将像素的色彩与另一像素合并。每一表面的显示坐标和表面属性在本文中将称为“顶点信息”。DSP 112产生的顶点信息可存储在外部存储器106中,或者存储在DSP的内部存储器中。
顶点信息还可包含每个三角形的面积。DSP 112可通过取得三角形中的任意两个向量的向量积来计算三角形的面积。此面积对于具有逆时针顶点次序的三角形来说将具有正号,且其它情况下将具有负号。面积的符号可用于以稍后更详细描述的方式将三角形渲染到像素信息中。
图形处理器114可通过外部总线116与应用处理器102通信。桥接器118可用于在外部总线116与系统总线108之间传递数据。图形处理器114的目的是减少应用处理器102上的负荷。在一个实施例中,图形处理器114经设计为具有专门的硬件组件,使得其可极快速地执行其处理功能。
图2是图形处理器的概念方框图。图形处理器114可包含命令引擎202、像素处理引擎204以及帧缓冲器206a和206b。命令引擎202可用于从应用处理器102产生的顶点信息中汇集三角形,并将三角形提供到像素处理引擎204。采用稍后更详细描述的方式,命令引擎202可基于其从应用处理器102接收的第一组指令来汇集三角形。像素处理引擎204可用于将每个三角形渲染到像素信息中。帧缓冲器206a和206b可配置成乒乓配置,使得像素处理引擎204可对帧缓冲器之一者进行写入,同时命令引擎202从另一帧缓冲器释放像素信息以便呈现到显示器120(见图1)。命令引擎202可用于通过其从应用处理器102接收的第二组指令来控制帧缓冲器206a和206b的乒乓操作。
像素处理引擎204可用于基于三角形内像素的位置和三个顶点处界定的属性而使用插值方法填充三角形的内部,来将每个三角形渲染到像素信息中。顶点的每个属性可由线性等式表示为显示坐标(x,y)的函数,如下:
K(x,y)=Akx+Bky+Ck (1)
其中k=Z、A、R、G、B、Rs、Gs、Bs、U、V。
三角形的内部可由边等式界定。三角形的三条边可由线性等式表示为显示坐标(x,y)的函数,如下:
E0(x,y)=A0x+B0y+C0 (2)
E1(x,y)=A1x+B1y+C1 (3)
E2(x,y)=A2x+B2y+C2 (4)
在图形处理器114的至少一个实施例中,命令引擎202每次将一个三角形提供到像素处理引擎204。特定来说,命令引擎202将由三角形面积组成的三角形以及三角形三个顶点的显示坐标和属性提供到设置引擎208。设置引擎208可使用此信息来计算属性系数(Ak、Bk、Ck)和边系数(A0-2、B0-2、C0-2)。为避免不必要的处理延迟,命令引擎202可经配置以在设置引擎208结束计算当前三角形的属性和边系数之后便将新的三角形提供到设置引擎208。
设置引擎208可经配置以将属性和边系数连同进行系数计算的三角形一起提供到着色引擎210。着色引擎210可用于对三角形内的每一像素执行线性插值。这可用多种方式完成。例如,着色引擎210可在三角形周围产生边界框,接着以光栅扫描方式逐像素地逐步通过边界框。对于每一像素,着色引擎210使用在以上等式(2)-(4)中陈述的边等式来确定所述像素是否在三角形中。如果E0(x,y)、E1(x,y)和E2(x,y)全都大于或等于零,那么将认为像素在三角形内。此关系假设以逆时针顶点次序将三角形提供到像素处理引擎204。这可由应用处理器102以软件完成,或者在命令引擎202中完成。如果命令引擎202负责确保三角形的适当顶点次序,那么其可通过估计三角形面积的符号位来进行此任务。如早先所述,应用处理器102计算的三角形面积对于具有逆时针顶点次序的三角形来说将具有正号,且其它情况下具有负号。因此,命令引擎202可在符号位为负时颠倒将顶点提供到像素处理引擎204的次序。任何情况下,如果着色引擎210确定像素不在三角形中,那么着色引擎进行到下一像素。然而,如果着色引擎210确定像素在三角形中,那么着色引擎210可根据等式(1)计算像素的属性。
HSR(隐藏表面去除)引擎212可用于当一个对象在另一对象前方时去除隐藏像素。这可通过将新像素的深度属性与具有相同显示坐标的先前渲染像素的深度属性进行比较并丢弃不可见的像素来完成。
可将来自HSR引擎212的每一可见像素的属性提供到纹理引擎214。纹理引擎214可使用像素的纹理属性来从存储器(未图示)中检索纹理数据。可将纹理数据连同像素的属性一起提供到将像素与纹理数据混合的混合引擎216。可将像素与具有相同显示坐标的任一先前渲染的像素进一步混合,以产生透明效果。可将结果存储在帧缓冲器206a和206b中。
图3是命令引擎的概念方框图。应用处理器102中的存储器可配置有顶点缓冲器310a和310b,顶点缓冲器310a和310b布置成乒乓配置,使得DSP 112可对顶点缓冲器之一者进行写入,同时命令引擎202从另一顶点缓冲器进行读取。乒乓配置使命令引擎202能成批地而不是每次一个三角形地检索顶点信息。命令引擎202的单个三角形请求增加了对应用处理器102的中断的次数,这可能使其变慢并导致低性能。
命令引擎202可包含总线接口302和数据队列。数据队列可为包含(例如)先入先出(FIFO)存储器304的任何类型的存储装置。命令引擎202还可包含控制器306,控制器306可用于请求对应用处理器102中顶点缓冲器310a和310b的存取以用指令和顶点信息填充FIFO 304。控制器306可使用边频带信令发送中断到DSP 112以存取顶点缓冲器310a和310b。响应于中断,DSP 112通过针对将检索的一批顶点信息发送开始和停止地址来准予对顶点缓冲器之一者的存取。如果当DSP 112接收到来自控制器306的中断时其正对缓冲器之一者进行写入,那么其将允许命令引擎202从另一顶点缓冲器读取指令和顶点信息。当DSP 112结束对顶点缓冲器的写入时,缓冲器可由DSP 112锁定,直到DSP 112接收到来自控制器306的另一中断为止。命令引擎202在发送中断到DSP112以获得更多顶点信息之前全面读取顶点缓冲器。
可将指令和顶点信息放置在图4A所示的FIFO存储器中。FIFO存储器包含许多存储器块,其中指令和顶点信息从FIFO存储器的底部移入且通过顶部移出。所展示的FIFO存储器具有占据前两个存储器块401和402的指令,随后是六个顶点的顶点信息,其中每个顶点的顶点信息占据一个存储器块403-408。展示占据随后两个存储器块409和410的两个指令,随后是七个顶点的顶点信息,同样,每个顶点的顶点信息占据一个存储器块411-417。
图4B展示每一存储器块中顶点信息的数据结构的实例。在此实例中,存储器块为6×32位。第一地址A1可用于存储指示顶点所从属的三角形面积的32位数据。第二地址A2可用于存储顶点的显示坐标。显示坐标包含16位x坐标和16位y坐标。顶点的属性可存储在最后四个地址A3-A6处。例如,顶点的深度或z坐标可存储在第三地址A3处。顶点的8位红(R)色彩分量和8位绿(G)色彩分量也可存储在第三地址A3处。顶点的8位蓝(B)色彩分量可与三个8位反射率分量(Rs、Gs和Bs)一起存储在第四地址A4处。8位混合值(A)可与16位U纹理坐标一起存储在第五地址A5处。最后,16位V纹理坐标可存储在第六地址A6处。
如可从图4A容易看出,通过减少将三角形渲染到像素信息中所需的顶点数目,可减少应用处理器102与命令引擎之间的外部总线116上的通信量。这可通过将三角形布置成多个三角形共享共同顶点的三角形条带或扇来完成。图5A展示三角形条带的实例,而图5B展示三角形扇的实例。参看图5A,一般将需要十二个顶点的四个三角形可表现为具有六个顶点的三角形条带。参看图5B,一般将需要十五个顶点的五个三角形可表现为具有七个顶点的三角形扇。
参看图3、4A、5A和5B,汇集器308可用于解译指令并汇集三角形。或者,控制器306可用于解译指令并配置汇集器308以汇集三角形。从条带和扇汇集三角形的方式可依据系统要求和整体设计限制而变化。在3D图形系统的一个实施例中,三角形的汇集可基于接收顶点信息的顺序。在此实施例中,在顶点信息之前的两个指令可用于识别作为条带或扇紧随的顶点信息,并指示应将所得的像素信息写入到帧缓冲器中的哪个帧缓冲器。
汇集器308可通过其从FIFO存储器304接收到的前三个顶点VA、VB、VC来界定条带的第一三角形502。第一三角形502的面积可包含在三个顶点中任一顶点的顶点信息中。汇集器308可根据其接收到的下一顶点VD和上次接收到的两个顶点VB、VC来界定条带中的第二三角形504。第二三角形504的面积可包含在顶点VD的顶点信息中。参看图5A,可容易地看出以逆时针次序503将第一三角形502的顶点提供到汇集器308,且以顺时针次序505将第二三角形504的顶点提供到汇集器。因此,汇集器308可用于在将第二三角形504提供到像素处理引擎之前颠倒后两个顶点VC、VD的次序。
可用类似的方式界定条带中的其余的三角形,其中由顶点VC、VD、VE界定第三三角形506,由顶点VD、VE、VF界定第四三角形508。第三三角形506的面积可包含在顶点VE的顶点信息中,且第四三角形508的面积可包含在顶点VF的顶点信息中。汇集器308可用于颠倒后两个顶点VE、VF的次序,使得可以逆时针顶点次序将第四三角形508呈现到像素处理引擎。
可用类似方式构造扇的三角形。汇集器308可通过其从FIFO存储器304接收到的前三个顶点VG、VH、VI来界定扇中的第一三角形510,其中第一三角形510的面积包含在任一顶点的顶点信息中。然而在扇布置中,接收到的第一顶点是所有三角形的共同顶点。因此,汇集器308可通过共同顶点VG、其接收到的下一顶点VJ和其接收到的最后顶点VI来界定扇中的第二三角形512。第二三角形512的面积可包含在顶点VJ的顶点信息中。可以类似方式根据共同顶点VG、其接收到的下一顶点VK和其接收到的最后顶点VJ来界定扇中的第三三角形514。第三三角形514的面积可包含在顶点VK的顶点信息中。通过此方式,汇集器308可通过顶点VG、VK、VL来界定扇中的第四三角形516,且通过顶点VG、VL、VM来界定扇中的第五三角形518。第四三角形516的面积可包含在顶点VG的顶点信息中,且第五三角形518的面积可包含在顶点VM的顶点信息中。汇集器308可用于颠倒扇中每个三角形的后两个顶点的次序,使得可用逆时针顶点次序将每个三角形呈现到像素处理引擎。
参看图2,可调用命令引擎202来支持每秒100,000或更多三角形的处理。满足此要求的命令引擎202的能力可主要取决于可从应用处理器102传输到图形处理器114的信息量。将三角形打包成条带或扇形式的压缩算法的使用可显著减小满足此要求所需的总线带宽。然而,也可采用其它技术以进一步增加应用处理器102与图形处理器114之间数据传送的效率。例如,可针对每个顶点使用可变长度数据结构。可根据渲染过程期间需要的属性来改变顶点数据结构的长度。例如,任意数目的三角形的表面可能不需要纹理,且因此可从图4B的存储器块省略纹理坐标。在此情况下,存储顶点数据所需的存储器的块可从6×32位存储器块减少到5×32位存储器块,且针对顶点需要传送的信息量从23字节减少到17字节。由于三角形的面积不需要与条带或扇的第一三角形中三个顶点中的两者的顶点信息一起传输,因此这些三角形的存储器块也可减少到5×32位存储器块。
结合本文揭示的实施例描述的各种说明性逻辑块、模块和电路可用以下器件实施或执行:通用处理器、数字信号处理器(DSP)、特殊应用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件,或其经设计以执行本文描述的功能的任何组合。通用处理器可为微处理器,但或者,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算组件的组合,例如,DSP与微处理器的组合、多个微处理器的组合、与DSP核心结合的一个或一个以上微处理器,或任何其它此类配置。
结合本文揭示的实施例描述的方法或算法可直接包含在硬件中,在由处理器执行的软件模块中,或在两者的组合中。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。或者,存储媒体可与处理器成为一体。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在发送和/或接收组件中,或其它地方。或者,处理器和存储媒体可作为离散组件驻存在发送和/或接收组件中,或其它地方。
提供对所揭示实施例的以上描述以使所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下本文界定的一般原理可应用于其它实施例。因此,本发明不希望限于本文所示的实施例,而是应符合与权利要求书一致的全部范围,其中以单数形式参考元件不希望意味着“一个且仅一个”(除非明确地如此规定),而是意味着“一个或一个以上”。所属领域的一般技术人员已知的或以后将了解的本揭示案全文中描述的各种实施例的元件的所有结构和功能等效物以引用的方式明确地并入本文中,且希望由权利要求书涵盖。此外,本文揭示的内容均不希望公布于众,不论此揭示内容在权利要求书中是否明确阐述。除非使用短语“用于...的装置”来明确阐述主张的元件,或者在方法项的情况下,使用短语“...的步骤”来阐述所述元件,否则不应在35U.S.C.§112第六章的条款下解释主张的元件。
Claims (43)
1.一种图形处理器,其包括:
存储器,其经配置以接收与表现3D图形图像的多个表面相关联的顶点信息,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度;
汇集器,其经配置以从所述存储器中的所述顶点信息汇集所述表面;和
像素处理引擎,其经配置以将所述汇集器汇集的所述表面渲染到像素信息中。
2.根据权利要求1所述的图形处理器,其中所述汇集器进一步经配置而以顺时针或逆时针顶点次序将所有所述汇集的表面提供到所述像素处理引擎。
3.根据权利要求1所述的图形处理器,其中所述表面中的每一者均包括三角形。
4.根据权利要求3所述的图形处理器,其中将所述顶点信息压缩成多个三角形条带、多个三角形扇或两种情况的组合。
5.根据权利要求4所述的图形处理器,其中所述存储器进一步经配置以接收具有所述顶点信息的多个指令,所述指令中的至少一者指示所述顶点信息的一部分是否被格式化成三角形条带或三角形扇,且其中所述汇集器进一步经配置以从所述指令中的所述至少一者汇集与所述顶点信息的所述部分相关联的表面。
6.根据权利要求1所述的图形处理器,其中所述顶点中的每一者的数据均包含显示坐标和属性信息,且其中所述顶点中的每一者的数据块的长度均对应于其中含有的所述属性信息的量。
7.根据权利要求6所述的图形处理器,其中所述属性信息包含深度、色彩、透明度、镜面色彩、纹理或混合信息。
8.根据权利要求1所述的图形处理器,其中所述存储器进一步经配置以接收具有所述顶点信息的多个指令,且其中所述像素处理引擎包括乒乓帧缓冲器,且其中所述像素处理引擎响应于所述存储器中的所述指令进一步经配置以从所述乒乓帧缓冲器中的一者将从所述汇集器所汇集的所述表面的第一部分产生的像素信息提供到显示器,且同时将从所述汇集器所汇集的所述表面的第二部分产生的像素信息写入到所述乒乓帧缓冲器中的另一者。
9.根据权利要求1所述的图形处理器,其进一步包括接口,所述接口经配置以从应用处理器检索一批所述顶点信息并将所述批顶点信息提供到所述存储器,所述批顶点信息与所述表面中的一者以上相关联。
10.根据权利要求9所述的图形处理器,其中所述接口进一步经配置以通过向所述应用处理器发送对一批所述顶点信息的请求、从所述应用处理器接收关于所述批顶点信息在所述应用处理器内的缓冲器位置的信息和从所述缓冲器位置检索所述批顶点信息来从所述应用处理器检索所述批顶点信息。
11.一种图形成像的方法,其包括:
从应用处理器检索顶点信息,所述顶点信息与表现图形图像的多个表面相关联,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度;
从所述检索的顶点信息汇集所述表面;和
将所述汇集的表面渲染到像素信息中。
12.根据权利要求1所述的方法,其中以顺时针或逆时针顶点次序汇集所有所述表面。
13.根据权利要求11所述的方法,其中所述表面中的每一者均包括三角形。
14.根据权利要求13所述的方法,其中将所述顶点信息压缩成多个三角形条带、多个三角形扇或两种情况的组合。
15.根据权利要求14所述的方法,其进一步包括从应用处理器检索具有所述顶点信息的多个指令,所述指令中的至少一者指示所述顶点信息的一部分是否被格式化成三角形条带或三角形扇,且其中从所述指令中的所述至少一者汇集与所述顶点信息的所述部分相关联的表面。
16.根据权利要求11所述的方法,其中所述顶点中的每一者的数据均包含显示坐标和属性信息,且其中所述顶点中的每一者的数据块的长度均对应于其中含有的所述属性信息的量。
17.根据权利要求16所述的方法,其中所述属性信息包含深度、色彩、透明度、镜面色彩、纹理或混合信息。
18.根据权利要求11所述的方法,其进一步包括从所述应用处理器接收具有所述顶点信息的多个指令,和响应于所述指令将从所述汇集的表面的第一部分产生的像素信息从第一乒乓帧缓冲器提供到显示器,且同时将从所述汇集的表面的第二部分产生的像素信息写入到第二乒乓帧缓冲器。
19.根据权利要求11所述的方法,其中从所述应用处理器成批地检索所述顶点信息,每一批所述顶点信息均与所述表面中的一者以上相关联。
20.根据权利要求19所述的方法,其中通过向所述应用处理器发送对所述批顶点信息的请求、从所述应用处理器接收关于所述批顶点信息在所述应用处理器内的缓冲器位置的信息和从所述缓冲器位置检索所述批顶点信息来从所述应用处理器检索每一批顶点信息。
21.根据权利要求11所述的方法,其中所述应用处理器包括乒乓缓冲器,所述方法进一步包括:使用所述应用处理器将第一批所述顶点信息写入到所述乒乓缓冲器中的一者,从所述应用处理器检索来自所述乒乓缓冲器中另一者的第二批所述顶点信息,同时所述应用处理器将所述第一批所述顶点信息写入到所述乒乓缓冲器中的所述一者。
22.一种图形处理器,其包括:
用于从应用处理器检索顶点信息的装置,所述顶点信息与表现图形图像的多个表面相关联,所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度;
用于从所述检索到的顶点信息汇集所述表面的装置;和
用于将所述汇集的表面渲染到像素信息中的装置。
23.一种图形处理器,其包括:
存储器,其经配置以存储与表现图形图像的多个表面相关联的顶点信息和具有所述顶点信息的多个指令;
接口,其经配置以从应用处理器检索一批顶点信息并将所述批顶点信息提供到所述存储器,所述批顶点信息与所述表面中的一者以上相关联;
汇集器,其经配置以从所述存储器中的所述顶点信息汇集所述表面;和
像素处理引擎,其经配置以将所述汇集的表面渲染到像素信息中。
24.根据权利要求23所述的图形处理器,其中所述接口进一步经配置以通过向所述应用处理器发送对一批所述顶点信息的请求、从所述应用处理器接收关于所述批顶点信息在所述应用处理器内的缓冲器位置的信息和从所述缓冲器位置检索所述批顶点信息来从所述应用处理器检索所述批顶点信息。
25.根据权利要求23所述的图形处理器,其中所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。
26.根据权利要求25所述的图形处理器,其中所述顶点中的每一者的数据均包含显示坐标和属性信息,且其中所述顶点中的每一者的数据块长度均对应于其中含有的所述属性信息的量。
27.根据权利要求26所述的图形处理器,其中所述属性信息包含深度、色彩、透明度、镜面色彩、纹理或混合信息。
28.根据权利要求23所述的图形处理器,其中所述表面中的每一者均包括三角形。
29.根据权利要求28所述的图形处理器,其中所述顶点信息被压缩成多个三角形条带、多个三角形扇或两种情况的组合。
30.根据权利要求29所述的图形处理器,其中所述存储器进一步经配置以接收具有所述顶点信息的第二多个指令,所述第二多个指令中的至少一者指示所述顶点信息的一部分是否被格式化成三角形条带或三角形扇,且其中所述汇集器进一步经配置以从所述第二多个指令中的所述至少一者汇集与所述顶点信息的所述部分相关联的三角形。
31.根据权利要求23所述的图形处理器,其中所述汇集器进一步经配置而以顺时针或逆时针顶点次序将所有所述汇集的表面提供到所述像素处理引擎。
32.一种图形成像的方法,其包括:
从应用处理器检索顶点信息,所述顶点信息与表现图形图像的多个表面相关联,且其中从所述应用处理器成批地检索所述顶点信息,每一批所述顶点信息均与所述表面中的一者以上相关联;
从所述检索到的顶点信息汇集所述表面;和
将所述汇集的表面渲染到像素信息中。
33.根据权利要求32所述的方法,其中通过向所述应用处理器发送对所述批顶点信息的请求、从所述应用处理器接收关于所述批顶点信息在所述应用处理器内的缓冲器位置的信息和从所述缓冲器位置检索所述批顶点信息来从所述应用处理器检索每一所述批顶点信息。
34.根据权利要求32所述的方法,其中所述顶点信息包括多个数据块,其中所述数据块中的每一者均具有与所述表面中的至少一者相关联的一个顶点的数据,且其中所述数据块中的每一者均具有对应于其中含有的顶点数据的可变长度。
35.根据权利要求34所述的方法,其中所述顶点中的每一者的数据均包含显示坐标和属性信息,且其中所述顶点中的每一者的数据块长度均对应于其中含有的所述属性信息的量。
36.根据权利要求35所述的方法,其中所述属性信息包含深度、色彩、透明度、镜面色彩、纹理或混合信息。
37.根据权利要求32所述的方法,其中所述表面中的每一者均包括三角形。
38.根据权利要求37所述的方法,其中将所述顶点信息压缩成多个三角形条带、多个三角形扇或两种情况的组合。
39.根据权利要求38所述的方法,其进一步包括从所述应用处理器检索具有所述顶点信息的第二多个指令,所述第二多个指令中的至少一者指示所述顶点信息的一部分是否被格式化成三角形条带或三角形扇,且其中从所述第二多个指令中的所述至少一者汇集与所述顶点信息的所述部分相关联的三角形。
40.根据权利要求32所述的方法,其中以顺时针或逆时针顶点次序汇集所有所述表面。
41.一种图形处理器,其包括:
存储器,其经配置以接收与表现图形图像的多个表面相关联的顶点信息和具有所述顶点信息的多个指令;
汇集器,其经配置以从所述存储器中的所述顶点信息汇集所述表面;和
像素处理引擎,其包括乒乓帧缓冲器,且其中所述像素处理引擎响应于所述存储器中的所述指令而进一步经配置以将从所述汇集的表面的第一部分产生的像素信息从所述乒乓帧缓冲器中的一者提供到显示器,且同时将从所述汇集的表面的第二部分产生的像素信息写入到所述乒乓帧缓冲器中的另一者。
42.一种图形成像系统,其包括:
应用处理器,其经配置以产生包括由顶点信息界定的多个表面的图形图像,所述应用处理器包括乒乓缓冲器,且进一步经配置以将第一批所述顶点信息写入到所述乒乓缓冲器中的一者;和
图形处理器,其具有接口,所述图形处理器经配置以检索来自所述乒乓缓冲器中的另一者的第二批所述顶点信息,同时所述应用处理器将所述第一批所述顶点信息写入到所述乒乓缓冲器中的所述一者,所述图形处理器进一步包括像素处理引擎,所述像素处理引擎经配置以将从所述第二批所述顶点信息汇集的表面渲染到像素信息中。
43.根据权利要求42所述的计算机图形成像系统,其进一步包括耦合到所述图形处理器的显示器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/947,993 | 2004-09-22 | ||
US10/947,993 US20060061577A1 (en) | 2004-09-22 | 2004-09-22 | Efficient interface and assembler for a graphics processor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101061516A true CN101061516A (zh) | 2007-10-24 |
Family
ID=35680036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200580039269XA Pending CN101061516A (zh) | 2004-09-22 | 2005-09-22 | 用于图形处理器的有效接口和汇集器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060061577A1 (zh) |
EP (1) | EP1828989A1 (zh) |
JP (1) | JP2008513910A (zh) |
KR (1) | KR100922780B1 (zh) |
CN (1) | CN101061516A (zh) |
WO (1) | WO2006036901A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100493193C (zh) * | 2006-12-08 | 2009-05-27 | 北京中星微电子有限公司 | 对实时数码视频影流进行缓存控制的方法和装置 |
KR100882842B1 (ko) * | 2007-02-26 | 2009-02-17 | 삼성전자주식회사 | 피포를 포스트 버텍스 캐쉬처럼 사용하기 위한 기하학 처리장치와 그 방법 |
KR101440106B1 (ko) * | 2007-09-14 | 2014-09-17 | 삼성전자주식회사 | 정점 데이터 처리 장치 및 방법 |
KR101445074B1 (ko) | 2007-10-24 | 2014-09-29 | 삼성전자주식회사 | 미디어 플레이어에서 미디어 객체 처리 방법 및 그 장치 |
DE102007061724A1 (de) * | 2007-12-20 | 2009-06-25 | Robert Bosch Gmbh | Verfahren zum Übertragen von Daten in einem zyklusbasierten Kommunikationssystem |
US9390661B2 (en) | 2009-09-15 | 2016-07-12 | E Ink California, Llc | Display controller system |
US20110063314A1 (en) * | 2009-09-15 | 2011-03-17 | Wen-Pin Chiu | Display controller system |
AU2012216432A1 (en) * | 2012-08-24 | 2014-03-13 | Canon Kabushiki Kaisha | Method, system and apparatus for rendering a graphical object |
US9208602B2 (en) | 2013-09-27 | 2015-12-08 | Intel Corporation | Techniques and architecture for improved vertex processing |
US10482570B2 (en) * | 2017-09-26 | 2019-11-19 | Disney Enterprises, Inc. | Memory allocation for seamless media content presentation |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839828A (en) * | 1986-01-21 | 1989-06-13 | International Business Machines Corporation | Memory read/write control system for color graphic display |
CA2038412C (en) * | 1990-04-26 | 2001-10-16 | Glenn M. Courtright | Polygon sort engine |
US5408605A (en) * | 1993-06-04 | 1995-04-18 | Sun Microsystems, Inc. | Command preprocessor for a high performance three dimensional graphics accelerator |
US5878216A (en) * | 1995-05-01 | 1999-03-02 | Intergraph Corporation | System and method for controlling a slave processor |
US5760792A (en) * | 1995-05-01 | 1998-06-02 | Intergraph Corporation | Fifo logical addresses for control and error recovery |
US5799204A (en) * | 1995-05-01 | 1998-08-25 | Intergraph Corporation | System utilizing BIOS-compatible high performance video controller being default controller at boot-up and capable of switching to another graphics controller after boot-up |
US5794037A (en) * | 1995-05-01 | 1998-08-11 | Intergraph Corporation | Direct access to slave processing by unprotected application using context saving and restoration |
US6529196B1 (en) * | 1995-05-01 | 2003-03-04 | 3Dlabs Inc. Led. | Efficient stroking of vectors with arbitrary endpoints |
US5801714A (en) * | 1995-05-01 | 1998-09-01 | Intergraph Corporation | Vertex list management system |
US5831637A (en) * | 1995-05-01 | 1998-11-03 | Intergraph Corporation | Video stream data mixing for 3D graphics systems |
US5842004A (en) * | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US7038692B1 (en) * | 1998-04-07 | 2006-05-02 | Nvidia Corporation | Method and apparatus for providing a vertex cache |
US6184908B1 (en) * | 1998-04-27 | 2001-02-06 | Ati Technologies, Inc. | Method and apparatus for co-processing video graphics data |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
JP3326128B2 (ja) * | 1998-12-22 | 2002-09-17 | 株式会社スクウェア | ゲーム装置、画像表示方法、及び、プログラムを記録した機械読み取り可能な情報記録媒体 |
JP2001134752A (ja) * | 1999-11-05 | 2001-05-18 | Mitsubishi Electric Corp | グラフィックプロセッサおよびグラフィックプロセッサにおけるデータ処理方法 |
US6867780B1 (en) * | 1999-12-06 | 2005-03-15 | Nvidia Corporation | System, method and article of manufacture for allowing direct memory access to graphics vertex data while bypassing a processor |
US6807620B1 (en) * | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
US6624819B1 (en) * | 2000-05-01 | 2003-09-23 | Broadcom Corporation | Method and system for providing a flexible and efficient processor for use in a graphics processing system |
US6947049B2 (en) * | 2001-06-01 | 2005-09-20 | Nvidia Corporation | Method and system for synchronizing updates of vertex data with a graphics processor that is fetching vertex data |
US6943800B2 (en) * | 2001-08-13 | 2005-09-13 | Ati Technologies, Inc. | Method and apparatus for updating state data |
US6847369B2 (en) * | 2002-01-30 | 2005-01-25 | Sun Microsystems, Inc. | Optimized packing of loose data in a graphics queue |
GB2416100B (en) * | 2002-03-26 | 2006-04-12 | Imagination Tech Ltd | 3D computer graphics rendering system |
US6985150B2 (en) * | 2003-03-31 | 2006-01-10 | Sun Microsystems, Inc. | Accelerator control unit configured to manage multiple hardware contexts |
-
2004
- 2004-09-22 US US10/947,993 patent/US20060061577A1/en not_active Abandoned
-
2005
- 2005-09-22 CN CNA200580039269XA patent/CN101061516A/zh active Pending
- 2005-09-22 WO PCT/US2005/034442 patent/WO2006036901A1/en active Application Filing
- 2005-09-22 KR KR1020077009007A patent/KR100922780B1/ko not_active IP Right Cessation
- 2005-09-22 EP EP05805636A patent/EP1828989A1/en not_active Withdrawn
- 2005-09-22 JP JP2007533711A patent/JP2008513910A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1828989A1 (en) | 2007-09-05 |
US20060061577A1 (en) | 2006-03-23 |
WO2006036901A1 (en) | 2006-04-06 |
KR100922780B1 (ko) | 2009-10-21 |
KR20070055610A (ko) | 2007-05-30 |
JP2008513910A (ja) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101061516A (zh) | 用于图形处理器的有效接口和汇集器 | |
US9478002B2 (en) | Vertex parameter data compression | |
EP3185217B1 (en) | Allocation of tiles to processing engines in a graphics processing system | |
Torborg et al. | Talisman: Commodity realtime 3D graphics for the PC | |
JP4521167B2 (ja) | グラフィックオブジェクトを画像チャンクにレンダリングして、画像層を表示画像に組み合わせる方法及びシステム | |
EP1789927B1 (en) | Increased scalability in the fragment shading pipeline | |
US5886701A (en) | Graphics rendering device and method for operating same | |
US8692848B2 (en) | Method and system for tile mode renderer with coordinate shader | |
US6252608B1 (en) | Method and system for improving shadowing in a graphics rendering system | |
US6972769B1 (en) | Vertex texture cache returning hits out of order | |
US20030184555A1 (en) | Display list compression for a tiled 3-D rendering system | |
GB2542131B (en) | Graphics processing method and system for processing sub-primitives | |
US11823324B2 (en) | Graphics processing method and system for processing sub-primitives | |
JP2001195603A (ja) | 3次元グラフィックスのための頂点キャッシュ | |
JP2010507875A (ja) | グラフィック処理ユニットにおける3次元クリッピング | |
GB2542133A (en) | Graphics processing method and system for processing sub-primitives | |
EP1725989A1 (en) | Register based queuing for texture requests | |
US8928679B2 (en) | Work distribution for higher primitive rates | |
US20100231600A1 (en) | High bandwidth, efficient graphics hardware architecture | |
EP1255227A1 (en) | Vertices index processor | |
US6967659B1 (en) | Circuitry and systems for performing two-dimensional motion compensation using a three-dimensional pipeline and methods of operating the same | |
US6919908B2 (en) | Method and apparatus for graphics processing in a handheld device | |
GB2444628A (en) | Sorting graphics data for processing | |
EP1269418A1 (en) | Tiled graphics architecture | |
JPH1185969A (ja) | 画像処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1108051 Country of ref document: HK |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20071024 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1108051 Country of ref document: HK |