显示器上的像素再现的制作方法

文档序号:2621884阅读:227来源:国知局
专利名称:显示器上的像素再现的制作方法
技术领域
本发明涉及在显示器上再现像素。
背景技术
提供用于视觉呈现的内容的装置一般包含图形处理单元(GPU)。GPU在显示器上再现表示内容的像素。GPU接收显示器上的每一像素的一个或一个以上像素值。GPU对显示器上的每一像素的像素值进行掺合以再现用于呈现的每一像素。

发明内容
大体上,本发明描述用于在显示器上再现像素的技术。例如图形处理单元(GPU)等处理单元可接收将在显示器上显示的多个表面的位置。对于显示器的像素,处理单元可识别哪些表面包含与显示器的所述像素位于同一地点的表面像素。每一表面像素可由像素值界定,所述像素值包含像素的色彩和像素的不透明度值。在一些实例中,像素的色彩还可包含像素的强度。在一些实例中,替代于或除了每一表面像素的不透明度值之外,每一表面可由其表面不透明度值界定。处理单元可基于所识别表面的次序来掺合位于同一地点的表面像素的色彩值。处理单元可基于所述多个表面中的所识别表面的次序来累加位于同一地点的表面像素的不透明度值和/或包含位于同一地点的表面像素的所识别表面的表面不透明度值。在一些实例中,处理单元可基于经累加不透明度值来确定是否终止色彩值的掺合。在一个实例中,本发明的方面是针对一种方法,其包括:以处理单元接收将在显示器上显示的多个表面中的每一者的位置;以所述处理单元至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及以所述处理单元至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值。在另一实例中,本发明的方面是针对一种设备,其包括:图形处理单元(GPU),其经配置以接收将在显示器上显示的多个表面中的每一者的位置;着色器,其经配置以:基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值;以及存储器,其经配置以存储所述经掺合像素值。在另一实例中 ,本发明的方面是针对一种计算机可读存储媒体,其包括致使一个或一个以上处理器进行以下操作的指令:接收将在显示器上显示的多个表面中的每一者的位置;至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值。在另一实例中,本发明的方面是针对一种设备,其包括:用于接收将在显示器上显示的多个表面中的每一者的位置的装置;用于至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面的装置;以及用于至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值的装置。一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目的及优点将从描述及附图和从权利要求书中显而易见。


图1是说明可经配置以实施本发明的方面的装置的框图。图2是呈现多个表面的显示器的实例说明。图3是说明根据本发明的一些方面的图形处理单元(GPU)的实例操作的流程图。图4是说明根据本发明的一些方面的GPU的另一实例操作的流程图。
具体实施例方式在装置上执行的一个或一个以上应用程序可产生可视对象以在显示器上呈现。所述可视对象可视为表面。每一表面包含与显示器上的像素位于同一地点的表面像素。每一表面可通过其在显示器上的位置来识别。在一些实例中,例如当两个表面包含重叠位置时,一表面可重叠于另一表面上或可被另一表面重叠。在这些实例中,重叠表面的表面像素中的至少一些与被重叠表面的表面像素中的至少一些位于同一地点。如本发明中使用,位于同一地点的像素指代位于显示器上大体上相似位置处的像素。在本发明的一些方面中,对于显示器的像素,处理单元可识别哪些表面包含与显示器的像素位于同一地点的表面像素。处理单元可至少基于所识别表面的次序来掺合所述位于同一地点的表面像素的像素值。像素值可指示像素的色彩和不透明度值。色彩的指示还可指示像素的强度。处理单元还可至少基于所识别表面的次序而累加所述位于同一地点的表面像素的不透明度值和/或包含位于同一地点的表面像素的所识别表面的表面不透明度值。在一些实例中,处理单元可在经累加不透明度值大于或大体上等于不透明度值阈值之后终止累加和掺合。在这些情况下,当经累加不透明度值大于或大体上等于不透明度值阈值时,后续所识别表面中的位于同一地点的表面像素可被遮挡且不可见。因为后续所识别表面中的位于同一地点的表面像素可为不可见的,所以可以无需处理这些表面像素,从而允许处理单元终止掺合和累加。在终止累加和掺合后,处理单元可即刻在显示器上再现像素或可即刻将最终像素值存储在显示缓冲器中用于未来呈现。所识别表面的次序可指示哪一表面是最前方表面、次最前方表面等等,直到最后方表面为止。所识别表面可为包含与显示器的给定像素位于同一地点的位于同一地点的表面像素的表面。如本发明中使用,所识别表面中的最前方表面指代未被任何其它所识别表面重叠的表面,且所识别表面中的最后方表面指代不重叠于任何其它所识别表面上的表面。次最前方表面是可位于最前方表面与最后方表面之间的表面。举例来说,次最前方表面可部分地或完全地被最前方表面重叠,且可部分地或完全地重叠于最后方表面上。在最前方表面与最后方表面之间可存在多个介入表面。最后方表面可为显示器的背景。所识别表面的次序可根据次序识别符来排序。次序识别符可指示哪一表面在哪一其它表面前方,且反之亦然。如下文更详细描述,在一些实例中,次序识别符可明确地指示所识别表面的次序,然而,本发明的方面不受此限制。图1是说明可经配置以实施本发明的方面的装置2的框图。装置2的实例包含(但不限于)移动无线电话、个人数字助理(PDA)、包含视频显示器的视频游戏控制台、移动视频会议单元、膝上型计算机、桌上型计算机、电视机机顶盒和类似物。装置2可包含主机处理器4、图形处理单元(GPU)6、显示器8、显示缓冲器10、存储装置12、收发器模块14和用户接口 16。主机处理器4和/或GPU6可为处理单元的实例。装置2可包含图1中为了清楚而未图示的额外模块或单元。举例来说,在装置2为移动无线电话的实例中,装置2可包含扬声器和麦克风(图1中均未图示)以实现电话通信。此外,装置2中所示的各种模块和单元可能不是在装置2的每个实例中都是必要的。举例来说,在装置2为桌上型计算机的实例中,用户接口 16和显示器8可在装置2的外部。主机处理器4可执行一个或一个以上应用程序。应用程序的实例包含网络浏览器、电子邮件应用程序、电子数据表、视频游戏或产生用于呈现的可视对象的其它应用程序。所述一个或一个以上应用程序可存储在存储装置12内。在一些实例中,主机处理器4可经由收发器模块14下载所述一个或一个以上应用程序。主机处理器4可基于用户经由用户接口 16的选择而 执行所述一个或一个以上应用程序。在一些实例中,主机处理器4可在无用户交互的情况下执行所述一个或一个以上应用程序。主机处理器4的实例包含(但不限于)数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。存储装置12可包括一个或一个以上计算机可读存储媒体。存储装置12的实例包含(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用以用指令或数据结构的形式载运或存储所要程序代码且可由计算机或处理器存取的任何其它媒体。在一些方面中,存储装置12在本发明中可包含致使主机处理器4和/或图形处理单元6执行归属于主机处理器4和图形处理单元6的功能的指令。用户接口 16的实例包含(但不限于)轨迹球、鼠标、键盘和其它类型的输入装置。用户接口 16还可为触摸屏且可作为显示器8的一部分而并入。收发器模块14可包含用以允许装置2与另一装置或网络之间的无线或有线通信的电路。收发器模块14可包含调制器、解调器、放大器和用于有线或无线通信的其它此类电路。在所述一个或一个以上应用程序的执行后,主机处理器4可以表面的形式产生可视对象。所述表面可作为图像而在显示器8上再现以用于呈现。在一些实例中,所述表面的表面像素中的一些可能不被再现,因为这些表面像素可被其它位于同一地点的表面像素遮挡。所述表面可为圆、线、矩形、三角形或其它类型的多边形。主机处理器4还可基于显示器8的像素坐标而识别所述表面在显示器8上所在的位置。所述位置可识别所述表面在显示器8上的范围。显示器8可包括液晶显示器(IXD)、阴极射线管(CRT)显示器、等离子显示器或另一类型的显示装置。显示器8包含在2维(2-D)像素阵列中水平和垂直地布置的多个像素。显示器8的每一像素可通过其2-D坐标来识别,例如笛卡尔坐标中的(x,y)。举例来说,位于显示器8的左上角的像素可被识别为位于(0,0)处的像素。紧邻位于(0,0)处的像素右边的像素可被识别为位于(1,0)处的像素。紧邻位于(0,0)处的像素下方的像素可被识别为位于(0,1)处的像素。可类似地识别显示器8的所有像素。上文描述的笛卡尔坐标仅是为了说明目的而描述。显示器8的像素可通过不同类型的坐标系来识别,例如极坐标、双极坐标、抛物线坐标和类似坐标。此外,像素的实例位置也是仅为了说明目的而描述。在一些实例中,位于(0,0)处的像素可处于显示器8的左下方、右上方、右下方或任一其它像素位置。由主机处理器4产生的表面的位置可至少基于所述表面的坐标来界定。在所述表面为圆的实例中,所述表面的位置可至少基于所述圆的中心坐标和半径。随后可基于所述圆的中心坐标和半径而计算所述表面的范围,例如所述表面的周界。大体上,对于多边形,可至少基于所述表面的顶点的顶点坐标中的一者或一者以上来界定所述表面的位置。所述表面的顶点的顶点坐标可识别所述表面的范围。在所述表面为矩形的实例中,所述表面的位置可基于矩形的四个顶点的顶点坐标。在所述表面为矩形的一些实例中,至少两个顶点坐标可足以识别所述表面的位置和范围。可根据所述两个顶点坐标计算其余顶点坐标。举例来说,顶点坐标可为识别矩形的左上方顶点的(xmin,ymin)坐标,以及识别矩形的右下方顶点的(xmax,yfflax)坐标。矩形的左下方顶点则为(xmin,yfflax),且矩形的右上方顶点则为·(X_,ymin)。为了说明的目的,在矩形表面的上下文中描述本发明的方面。然而,所述表面不应视为限于矩形表面,且可采取其它多边形、圆或类似物的形式。通过所述一个或一个以上应用程序的执行产生的每一表面包含一个或一个以上表面像素。主机处理器4可将像素值(例如包含强度值和不透明度值的色彩值)指派给所述表面中的每一者的表面像素中的每一者。每一表面像素的像素值指示所述表面像素的色彩、亮度和不透明度。主机处理器4还可指派一个或一个以上表面中的每一者的整个表面的不透明度值。表面像素表示显示器的像素且被视为与显示器8上的像素位于同一地点。举例来说,位于第一表面的(I,I)处的表面像素与显不器8的位于(1,1)处的像素位于同一地点,且表不显不器8的位于(1,1)处的像素。位于第二表面的(1,1)处的表面像素与位于第一表面的(1,1)处的表面像素和显示器8的位于(1,1)处的像素位于同一地点,且也表示显示器8的位于(1,1)处的像素。每一表面像素的色彩值可基于红色值、绿色值和蓝色值(RGB值)。RGB值可表示每一表面像素的色彩和强度。强度可指示表面像素的亮度。每一表面像素的不透明度值可表示每一表面像素的不透明性。每一表面的表面不透明度值可表示整个表面的不透明性。表面像素的不透明性或表面的不透明性可指示表面像素或表面的不透明度。不透明度值可表示为完全不透明性的分数。举例来说,完全不透明表面像素或完全不透明表面(即,100%不透明性)被指派I的不透明度值。50%不透明的半透明表面像素或半透明表面(S卩,50%不透明性)可被指派0.5的不透明度值,以此类推。半透明表面像素或半透明表面可不会完全遮挡其它像素或表面。事实上,半透明表面像素或半透明表面可部分地遮挡其它像素或表面。上文描述的色彩值和不透明度值是为了说明目的而提供且不应视为限制性的。根据本发明的方面可利用用以识别色彩值和不透明度值的任何技术。主机处理器4还可确定通过所述一个或一个以上应用程序的执行产生的表面的次序。例如当若干表面的至少若干部分处于大体上类似位置时,一表面可部分地或完全地重叠于一个或一个以上其它表面上。作为一个实例,第一表面的顶点坐标为(1,1)、(5,1)、(1,5)和(5,5),且第二表面的顶点坐标为(2,3)、(2,7), (10,3)和(10,7)。在此实例中,第一表面部分地重叠于第二表面上,或反之亦然。从用户的视点,重叠于另一表面上的表面可被视为在另一表面的前方。从用户的视点,被另一表面重叠的表面可被视为在另一表面的后方。表面的次序可指示哪一表面在哪些其它表面前方或后方。为了识别表面的次序,主机处理器4可将次序识别符指派于每一表面。举例来说,在所有其它表面前方的表面可被指派I的次序识别符。紧邻具有I的次序识别符的表面后方的表面可被指派2的次序识别符,以此类推。上文描述的次序识别符实例是对表面进行排序的一个实例,且本发明的方面不应视为限于上文描述的排序实例。在一些实例中,主机处理器4可能不会明确地将次序识别符指派于每一表面。可基于如下文更详细描述的主机处理器4处理表面的方式来确定表面的次序。表面的次序可由用户选择 或在无用户干预的情况下由主机处理器4选择。举例来说,用户可能希望所选表面比其它表面更显著地显示。用户可能希望没有其它表面重叠于所选表面上,但可允许其它表面被所选表面重叠。在此实例中,所选表面可被视为在所有其它表面前方,因为没有其它表面重叠于所选表面上。作为另一实例,主机处理器4可基于正在执行的应用程序的类型而选择哪一表面应比其它表面更显著地显示。在此实例中,由主机处理器4选择的表面可重叠于其它表面上,但可不被任何其它表面重叠。由主机处理器4选择的表面可被视为在所有其它表面前方。在一些实例中,主机处理器4可将每一表面的次序、位置、表面像素值以及(在一些实例中)表面不透明度值传输到存储装置12用于存储。在一些实例中,主机处理器4可将每一表面的次序、位置、表面像素值和表面不透明度值传输到图形处理单元6用于进一步处理。如上所述,在一些实例中,主机处理器4可不将次序识别符指派于每一表面。在这些实例中的一些实例中,作为一个实例,图形处理单元6可基于主机处理器4在存储装置12中存储每一表面的位置的次序来确定表面的次序。作为另一实例,图形处理单元6可基于存储装置12内主机处理器4存储每一表面的位置的位置来确定表面的次序。举例来说,主机处理器4可在存储装置12中的地址O处存储最后方表面,在存储装置12中的地址I处存储次最后方表面,且继续到在存储装置12中的地址η处存储最前方表面。在这些实例中,次序识别符可被视为主机处理器4在存储装置12中存储每一表面的信息的次序的指示。可利用用以识别每一表面的次序的其它技术,且本发明的方面不应视为限于上文提供的实例。图形处理单元6可处理表面像素以用于在显示器8上呈现。图形处理单元6的实例包含(但不限于)DSP、通用微处理器、ASIC、FPGA或其它等效集成或离散逻辑电路。虽然图1中图示为单独的,但在一些实例中,主机处理器4可包含图形处理单元6。对于显示器8的至少一个像素,图形处理单元(GPU) 6可识别哪些表面包含与显示器8的所述至少一个像素位于同一地点的表面像素。GPU6可至少基于存储在存储装置12中或从主机处理器4接收的表面位置来识别表面。在GPU6从主机处理器4接收表面位置的实例中,GPU6可将所接收表面位置存储在其内部存储器中,例如GPU6内的高速缓冲存储器。作为一个实例,对于显示器8上的位于(5,5)处的像素,GPU6可识别哪些表面包含也位于(5,5)处的表面像素。GPU6可至少基于表面的位置来识别哪些表面包含与显示器8上的位于(5,5)处的像素位于同一地点的表面像素。所述位于同一地点的表面像素可被视为相对于彼此且相对于显示器8的像素的位置位于同一地点。GPU6还可从主机处理器4或存储装置12接收表面的次序。表面的次序可识别哪一表面在哪些其它表面前方或后方。在GPU6从主机处理器4接收表面的次序的实例中,GPU6可将次序识别符存储在其高速缓冲存储器中。如上所述,在一些实例中,主机处理器4可不将次序识别符指派于每一表面。在这些实例中的一些实例中,GPU6可基于主机处理器4在存储装置12中存储表面的信息的次序来确定表面的次序。举例来说,主机处理器4可将存储装置12中存储每一表面的信息的位置的经排序列表传输到GPU6。所述经排序列表中的第一位置可对应于存储装置12内存储最后方表面的信息的位置,所述经排序列表中的第二位置可对应于存储装置12内存储次最后方表面的信息的位置 ,以此类推。GPU6可基于存储装置12中存储每一表面的信息的位置的经排序列表来识别表面的次序。为了清楚和说明的目的,相对于次序识别符来描述本发明的方面。然而,本发明的方面适用于主机处理器4可不指派次序识别符的实例。在这些实例中,如上所述,GPU6可基于主机处理器4在存储装置12中存储表面的信息的次序来确定表面的次序。GPU6可包含着色器18,但在一些实例中,着色器18可在GPU6的外部。着色器18可实施为硬件单元、固件单元或软件单元。在着色器18实施为固件或软件的实例中,例如GPU6等硬件单元可执行着色器18。而且,在着色器18实施为固件或软件的一些实例中,着色器18可被上载到GPU6。着色器18可经配置以掺合相对于彼此且相对于显示器8的像素位于同一地点的表面像素的像素值。在一些实例中,着色器18可以光栅方式掺合显不器8上的像素的表面像素值。如本发明中使用的术语“掺合”表示多个表面像素的可能组合以产生将在显示器8上再现的经掺合像素值。因此,如本发明中使用的术语“掺合”涵盖了表面像素值经组合的情形。在一些实例中,当掺合两个或两个以上位于同一地点的表面像素,且在其它位于同一地点的表面像素前方的表面像素的不透明度值指示100%不透明性时,着色器18可仅利用所述前方表面像素的像素值。在这些实例中,所述前方表面像素可完全遮挡其它位于同一地点的表面像素且仅所述前方表面像素的像素值可为着色器18进行处理所需要。
举例来说,着色器18可在显示器8上的位于(0,0)处的像素处开始。着色器18可基于表面的位置来识别哪些表面包含与显示器8上的位于(0,0)处的像素位于同一地点的位于同一地点的表面像素。举例来说,第一表面的位置可指示第一表面的顶点位于(0,O)、(1,0)、(0,1)和(1,1)。在此实例中,第一表面包含与显示器8上的位于(0,0)处的像素位于同一地点的表面像素,例如位于(0,0)处的表面像素。着色器18还可确定所识别表面的次序。着色器18可接收每一表面的次序识别符,或可接收由GPU6确定的所识别表面的次序。在一些实例中,基于所接收次序识别符,着色器18可确定所识别表面的次序。所识别表面可为由主机处理器4产生的表面的子集。所识别表面是包含位于同一地点的表面像素的表面。基于所识别表面的次序,着色器18可识别所识别表面中的最前方表面、所识别表面中的最后方表面,以及所识别表面中的最前方表面与所识别表面中的最后方表面之间的任何介入表面的次序。在确定包含与显示器8上的位于(0,0)处的像素位于同一地点的位于同一地点的表面像素的表面的次序之后,着色器18可检索所识别表面中的最前方表面的位于同一地点的表面像素的像素值,且在一些实例中还可检索最前方表面的表面不透明度值。着色器18可从存储装置12或GPU6的高速缓冲存储器检索像素值和表面不透明度值。GPU6的高 速缓冲存储器或存储装置12可存储经累加不透明度值和经掺合的色彩值。着色器18可基于位于同一地点的表面像素的不透明度值和色彩值来更新所存储的经掺合色彩值。在每一表面均包含表面不透明度值的实例中,位于同一地点的表面像素的不透明度值可等效于表面不透明度值。为了更新所存储的经掺合色彩值,着色器18可检索当前所存储的经掺合色彩值且将当前所存储的经掺合色彩值与最前方表面的位于同一地点的表面像素的色彩值进行掺合。下文更详细描述用以掺合色彩值的技术。在一些实例中,着色器18还可基于位于同一地点的表面像素的不透明度值来更新经累加不透明度值。在某个实例中,替代地或除此之外,着色器18可基于最前方表面的表面不透明度值来更新经累加不透明度值。在一些非限制性实例中,着色器18可确定经累加不透明度值是否大体上等于或大于不透明度值阈值。在一些实例中,不透明度值阈值可为完全不透明性,例如100%不透明性,但其它不透明度值阈值也是可能的。经累加不透明度值可初始为O。经累加不透明度值可通过从I减去当前经累加不透明度值来更新。可将所得值乘以当前像素的不透明度值和当前表面的不透明度值。用以计算经累加不透明度值的等式可为:新不透明度值=Dest_alpha+(l_Dest_alpha)*(Src_alpha*surface[i].surface_alpha) Dest_alpha =新不透明度值。在前述等式中,Dest_alpha是当前经累加不透明度值,Src_alpha是当前表面像素的不透明度值,且surface [i].surface_alpha是当前表面的不透明度值。作为一个实例,假定第一表面的第一表面像素的不透明度值是0.4,第二表面的与第一表面像素位于同一地点的第二表面像素的不透明度值是0.6,且第三表面的与第一和第二表面像素位于同一地点的第三表面像素的不透明度值是0.8。在此实例中,假定第一、第二和第三表面的不透明度值(例如,表面不透明度值)是I。而且,假定在此实例中,不透明度值阈值为0.95。
在第一表面像素的不透明度值是0.4且第一表面的不透明度值是I的此实例中,在着色器18处理第一表面像素之后经更新的经累加不透明度值是0.4,即0+(1-0)* (0.4*1)。在一些实例中,着色器18可将经累加不透明度值与不透明度值阈值进行比较,例如将0.4与0.95进行比较。因为经累加不透明度值小于阈值,所以着色器18可继续到第二表面上的第二表面像素。如上所述,第二表面像素的不透明度值是0.6且第二表面的不透明度值是I。在此实例中,在着色器18处理第二表面像素之后经更新的经累加不透明度值是0.76,即0.4+(1-0.4)*(0.6*1)。因为经累加不透明度值(例如,0.76)小于不透明度值阈值(例如,0.95),所以着色器18可继续到第三表面上的第三表面像素。如上所述,第三表面像素的不透明度值是0.8且第三表面的不透明度值是I。在此实例中,在着色器18处理第三表面像素之后经更新的经累加不透明度值是0.952,即
0.76+(1-0.76) *(0.8*1)。在此实例中,因为经累加不透明度值(例如,0.952)大于不透明度值阈值(例如,0.95),所以着色器18可终止累加。与第一、第二和第三表面像素位于同一地点且属于在第三表面之后的表面的任何表面像素可被视为被遮挡且不可见的,因为在此实例中第一、第二和第三表面的总不透明性大于不透明度值阈值。着色器18可随后继续到所识别表面中的次最前方表面。作为一个实例,次最前方表面可通过次序识别符来识别。着色器18可累加位于(0,0)处的次最前方表面的位于同一地点的表面像素的不透明度值,且还可次最前方表面的表面不透明度值与经累加不透明度值。着色器18还可掺合次最前方表面的位于同一地点的表面像素的色彩值与所存储的经掺合色彩值。着色器18可确定经累加不透明度值是否大体上等于或大于不透明度阈值。着色器18可随后继续到在次最前方表面后方的表面且执行类似于上文描述的功能的功能。在一些实例中,着色器18可继续所述表面直到着色器18到达最后方表面为止,且随后终止掺合和累加。在一些实例中,着色器18可继续所述表面直到经累加不透明度值大体上等于或大于不透明度值阈值为止。在这些实例中,当经累加不透明度值大体上等于或大于不透明度值阈值 时,着色器18可终止掺合和累加。如上所述,在一些实例中,对于显示器8的给定像素,着色器18可检索最前方所识别表面的位于同一地点的表面像素的像素值,且随后执行掺合。着色器18可随后继续到次最前方表面,执行掺合,且继续到在次最前方表面后方的表面。然而,本发明的方面不受此限制。在一些实例中,并非从最前方所识别表面开始,而是着色器18可从最后方所识别表面开始。对于显示器8的给定像素,着色器18可检索最后方所识别表面的位于同一地点的表面像素的像素值,且执行掺合。着色器18可随后继续到次最后方所识别表面,执行掺合,且继续到在次最后方表面前方的表面,以此类推。着色器18可在处理最前方所识别表面的位于同一地点的像素之后终止掺合。在着色器18从最后方表面开始且继续到最前方表面的实例中,着色器18可不累加表面像素的不透明度值或表面不透明度值。在终止掺合和累加之后,GPU6可至少基于经掺合色彩值而再现显示器8上的位于(0,0)处的像素。GPU6可将经再现像素值传输到显示器8用于呈现或传输到显示缓冲器10用于临时存储。在GPU6将经再现像素值传输到显示器8的实例中,显示器8呈现经再现像素,例如显示器8上的位于(0,0)处的像素。显示缓冲器10可为与显示器8大小相同的缓冲器。举例来说,显示缓冲器10可包含用于存储像素值的2-D存储阵列。所述2-D存储阵列内的每一位置可对应于显示器8上的每一像素。举例来说,显示缓冲器10的2-D存储阵列中的(100,50)位置对应于显示器8上的位于(100,50)处的像素。在GPU6将经再现像素传输到显示缓冲器10的实例中,显示缓冲器10可将经再现像素值存储在其在2-D存储阵列中的对应位置中。举例来说,在GPU6再现显示器8上的位于(100,50)处的像素且将经再现像素值传输到显示缓冲器10之后,显示缓冲器10将经再现像素值存储在2-D存储阵列的(100,50)位置中。显示缓冲器10可存储经再现像素值直到GPU6完成显示器8上所有像素的再现为止。显示缓冲器10可随后将经再现像素值传输到显示器8供呈现且清除所有所存储值。显示缓冲器10是仅用于说明目的而提供,且可能不是在装置2的每个实例中都是必要的。在先前实例中,着色器18以显示器8上的位于(0,0)处的像素开始。在终止针对与显示器8上的位于(0,0)处的像素位于同一地点的表面像素的掺合和累加之后,着色器18可随后继续到显示器8上的另一像素且执行类似功能。举例来说,着色器18可继续掺合显示器8上的位于(0,1)处的像素的像素值。着色器18可利用类似于上文所描述技术的技术来掺合显示器8上的一个或一个以上像素的像素值。如上所述,着色器18可每次一个地掺合显示器8上的一个或一个以上像素的像素值。举例来说,如上所述,着色器18掺合显示器8上的位于(0,0)处的像素的像素值,随后继续掺合位于(0,1)处的像素的像素值,以此类推。在一些实例中,并非每次一个地掺合像素值,而是着色器18可同时掺合多个像素的像素值。举例来说,着色器18可同时掺合显示器8上的位于(0,0)、(0,1)和(0,2)处的像素的像素值,且随后继续到显示器8上的位于(0,3), (0,4)和(0,5)处的像素,以此类推。此外,如上所述,着色器18可每次一个地检索位于同一地点的表面像素的像素值。举例来说,如上所述,着色器18检索来自所识别表面中的最前方表面的位于同一地点的表面像素的像素值,掺合所述像素值,随后检索来自所识别表面中的次最前方表面的位于同一地点的表面像素的像素值,以此类推。在一些实例中,并非每次一个地检索位于同一地点的表面像素的像素·值,着色器18可在一个批次中检索位于同一地点的表面像素中的至少一些表面像素的像素值。一批位于同一地点的表面像素可指代不同表面上的多个位于同一地点的表面像素。检索一批位于同一地点的表面像素可包含着色器18通过对GPU6的高速缓冲存储器或存储装置12的一次存取来检索不同表面上的多个位于同一地点的表面像素。举例来说,着色器18可在一个批次中,例如通过对GPU6的高速缓冲存储器或存储装置12的一次存取来检索最前方表面、次最前方表面以及紧在次最前方表面后方的表面的位于同一地点的表面像素的像素值。在本发明的一些方面中,GPU6可读取和写入显示器8上的像素的像素值仅一次。从存储器读取像素值以及写入显示器的像素值称为块变换(BLT)或(BLTing)。重复的BLTing由于对像素值的重复请求和经再现像素值的写入而可能需要大量的处理和带宽消耗。此重复的BLTing可在处理单元从最后方表面开始且朝向最前方表面继续的一些装置中发生。此外,重复的BLTing还可再现后续被重叠的表面像素遮挡的像素。在本发明的非限制性实例中,对于显示器8上的像素,GPU6可能仅需要读取位于同一地点的表面像素的像素值一次,且可能仅需要写入经再现像素值一次,进而促进有效的处理和带宽消耗。如上所述,作为一个实例,着色器18可从所识别表面中的最前方表面开始且朝向所识别表面中的最后方表面继续,来更新与显示器8上的像素位于同一地点的每一位于同一地点的表面像素的经掺合色彩值。作为另一实例,着色器18可从所识别表面中的最后方表面开始且朝向所识别表面中的最前方表面继续,来更新与显示器8上的像素位于同一地点的每一位于同一地点的表面像素的经掺合色彩值。随后在终止累加之后而不是在每次掺合位于同一地点的表面像素之后,提供显示器8上的像素的经再现像素值仅一次。着色器18可被视为执行单一屏幕大小BLT操作的着色器。本发明的非限制性方面也可进一步促进有效的处理和带宽消耗。如上所述,在一些非限制性实例中,着色器18可累加每一位于同一地点的表面像素的不透明度值和/或每一表面的不透明度值(例如,表面不透明度值)。着色器18可从所识别表面中的最前方表面开始且朝向所识别表面中的最后方表面继续来累加不透明度值。在一些实例中,在经累加不透明度值大体上等于或大于不透明度值阈值之后,着色器18可终止掺合和累加。在这些实例中,着色器18可不检索在着色器18终止了掺合和累加的表面后方的其它位于同一地点的表面像素的像素值。举例来说,假定着色器18终止了在第三表面之后的位于同一地点的表面像素的掺合和累加,所述第三表面可为所识别表面的从前到后排序中的第三表面。在此实例中,着色器18可不检索在第三表面后方的表面的位于同一地点的表面像素的像素值。在此情况下,此些像素即使经再现也将不被呈现(或至少在足够程度上不呈现),因为不透明度值足够高而使得所述像素被大体上或完全遮挡。当着色器18终止掺合和累加之后,在着色器18终止了掺合和累加的表面后方的位于同一地点的表面像素可被完全遮挡且对用户不可见。如上所述,着色器18可在不透明度值大体上等于或大于不透明度值阈值时终止掺合和累加。不透明度值阈值可为完全不透明性,但其它阈值也是可能的。完全不透明性可指示在累加指示了完全不透明性的表面像素后方的位于同一地点的表面像素是不可见的。因为在着色器18终止了掺合和累加的表面后方的位于同一地点的表面像素将对用户不可见,所以着色 器18可不需要检索和处理其像素值。以此方式,着色器18可检索和处理可见的位于同一地 点的表面像素的像素值,且不检索不可见的位于同一地点的表面像素的像素值,进而进一步促进有效的处理和带宽消耗。在一些实例中,可在无棋盘格化(tessellation)的情况下实施本发明的方面。棋盘格化可能需要处理单元确定一表面的被一个或一个以上其它表面重叠的部分。处理单元随后将表面划分(即,棋盘格化)为子表面。所述子表面可为被其它表面重叠或重叠于其它表面上的部分。处理单元随后处理这些经棋盘格化的子表面。然而,棋盘格化可为复杂且相对缓慢的过程。棋盘格化可能在处理包含不透明表面像素和半透明表面像素两者的表面时不是有效的。本发明的方面还可利用仅色彩处理技术来实施,而不是如同利用早期Z测试技术的Z缓冲器的情况那样需要每一像素的Z(或深度)坐标。利用早期Z测试技术的Z缓冲器可需要处理器基于(X,y,z)坐标系而不是仅仅(x,y)来识别每一像素,且需要额外存储器表面来存储每一像素的z坐标值。额外z坐标的存储和读取可需要额外带宽。然而,通过基于每一像素的色彩、(X,y)坐标以及已知表面排序而无需额外Z缓冲器处理来处理每一像素,本发明的方面可有用于以减少GPU6的读取和写入次数以及有效地处理包含不透明表面像素与半透明表面像素的混合体的表面的方式再现像素。
图2是呈现多个表面的显示器8的实例说明。图2的实例是仅为了说明目的而提供,且不应视为限制性的。如图2中所示,显示器8呈现表面20、表面22、表面24和表面
26。表面20可为显示器8的背景。为了说明目的,显示器8包括100X100像素的2-D阵列。表面20包含位于(0,0)、(0,100)、(100,0)和(100,100)处的顶点。表面22包含位于(5,5)、(5,75)、(25,5)和(25,75)处的顶点。表面 24 包含位于(20,10)、(20,50)、(40,10)和(40,50)处的顶点。表面26包含位于(35,30), (35,60), (70,30)和(70,60)处的顶点。如图2所不,表面22被表面24重叠。表面24的部分28重叠于表面22的一部分上。表面22的虚线指示表面22的被表面24重叠且对用户不可见的范围。表面24被表面26重叠。表面26的部分30重叠于表面24的一部分上。表面24的虚线指不表面24的被表面26重叠且对用户不可见的范围。在本发明的方面中,GPU6可接收表面20、22、24和26中的每一者的位置和次序。位置可基于表面20、22、24和26的由其顶点界定的范围。表面的次序可将表面26识别为第一表面,将表面24识别为第二表面,将表面22识别为第三表面,且将表面20识别为第四表面,第四表面可为显示器8的背景。对于显示器8上的像素,GPU6可识别哪些表面20、22、24和26包含与显示器8上的像素位于同一地点的位于同一地点的表面像素。GPU6可至少基于表面的位置来识别表面
20、22、24和26。表面20、22、24和26的位置可由其顶点界定。举例来说,显示器8上的位于(10,20)处的像素与来自表面22和20的表面像素位于同一地点。作为另一实例,显不器8上的位于(22,30)处的像素与来自表面24、22和20的表面像素位于同一地点。作为又一实例,显示器8上的位于(37,40)处的像素与来自表面26、24和20的表面像素位于同一地点。 对于显示器8上的像素,着色器18可掺合色彩值,且在一些实例中,累加与显示器8上的像素位于同一地点的位于同一地点的表面像素中的一者或一者以上的不透明度值。对于一个或一个以上位于同一地点的表面像素,着色器18可至少基于所述位于同一地点的表面像素的色彩值和不透明度值来掺合像素值。下文更详细地提供用以掺合像素值的实例技术。着色器18可在掺合每一位于同一地点的表面像素之后更新所存储的经掺合色彩值。着色器18可在累加每一位于同一地点的表面像素的不透明度值或包含位于同一地点的表面像素的每一表面的不透明度值之后更新所存储的经累加不透明度值。对于掺合和累力口,着色器18可以所识别表面中的最前方表面开始,且朝向所识别表面中的最后方表面继续。作为一个实例,对于显示器8上的位于(22,30)处的像素,着色器18可将表面24、22和20识别为各自包含与显示器8上的位于(22,30)处的像素位于同一地点的表面像素的表面。作为一个实例,基于表面24、22和20的次序识别符,着色器18可识别所识别表面中的最前方表面、所识别表面中的最后方表面以及任何介入表面的次序。在此实例中,着色器18可将表面24识别为最前方表面,将表面22识别为次最前方表面,且将表面20识别为最后方表面。在着色器18从所识别表面中的最前方表面开始处理的实例中,着色器18可随后检索表面24的位于同一地点的表面像素的像素值,因为表面24是最前方表面。着色器18可将表面24的位于同一地点的表面像素的像素值与所存储的经掺合色彩值进行掺合。所存储的经掺合色彩值可经初始化为零,且在着色器18的每次像素掺合之后更新。着色器18可基于表面24的位于同一地点的表面像素的像素值来更新所存储的经掺合色彩值。着色器18还可累加表面24的位于同一地点的表面的不透明度值和/或表面24的不透明度值(例如,表面24的表面不透明度值)与经累加不透明度值。经累加不透明度值可经初始化为零,且在着色器18的每次累加之后更新。在一些实例中,在每次掺合之后,着色器18可将经累加不透明度值与不透明度值阈值进行比较。如果经累加不透明度值小于不透明度值阈值,那么着色器18可以从前到后的方式继续到下一表面。在此实例中,着色器18可继续到表面22且以与上文相对于表面24的位于同一地点的表面像素描述的方式大体上类似的方式来处理表面22的位于同一地点的表面。如果经累加不透明度值大体上等于或大于不透明度值阈值,那么着色器18可终止掺合和累加。在此实例中,着色器18可不处理表面22的位于同一地点的表面像素。在此实例中,表面22的位于同一地点的表面像素可被表面24的位于同一地点的表面像素完全遮挡。表面22的被完全遮挡的 表面像素对用户是不可见的且可无需进行处理。在着色器18从所识别表面中的最后方表面开始处理的实例中,着色器18可随后检索表面20的位于同一地点的表面像素的像素值,因为表面20是最后方表面。着色器18可掺合色彩值。着色器18可将表面20的位于同一地点的表面像素的像素值与所存储的经掺合色彩值进行掺合。着色器18可随后继续到次最后方表面,其在图2中说明的实例中为表面22。图3是说明根据本发明的一些方面的GPU6的实例操作的流程图。为了说明的目的,对图1做出参考。GPU6可为处理单元。举例来说,处理单元可经配置以如上文相对于GPU6和着色器18所描述来处理表面像素。GPU6可接收将在显示器上显示的多个表面中的每一者的位置(32)。在一些实例中,可形成于GPU6内的着色器18可至少基于表面中的每一者的位置来识别所述多个表面中的一个或一个以上表面,所述一个或一个以上表面包含与显示器上的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素(34)。与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素可相对于彼此位于同一地点。GPU6可随后至少基于所述多个表面中的所识别一个或一个以上表面的次序来掺合所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值(36)。图4是说明根据本发明的方面的GPU6的另一实例操作的流程图。为了说明目的,对图1做出参考。GPU6可为处理单元。GPU6可将所存储的经掺合色彩值和经累加不透明度值初始化为零(38)。GPU6可选择显示器8上的像素(40)。在一些实例中,GPU6可选择显示器8上的位于(0,0)处的像素,但GPU6可选择显示器8上的任一其它像素。GPU6可识别包含与显示器8上的选定像素位于同一地点的表面像素的表面(42)。在一些实例中,GPU6可至少基于表面的位置来识别表面。作为一个实例,主机处理器4可基于表面的顶点的顶点坐标来确定表面的位置。主机处理器4可将表面的位置传输到GPU6供内部存储或传输到存储装置12供存储。GPU6可从其自身的高速缓冲存储器或从存储装置12接收表面的位置。
至少基于所识别表面,GPU6可将在包含位于同一地点的表面像素的所有其它表面前方的包含位于同一地点的表面像素的表面识别为当前表面,例如所识别表面中的最前方表面(44)。GPU6可至少基于表面的次序识别符来识别当前表面。主机处理器4或用户可选择表面的次序。主机处理器4可将次序识别符指派于每一表面。主机处理器4可将次序识别符传输到GPU6供内部存储或传输到存储装置12供存储。GPU6可从其自身的高速缓冲存储器或从存储装置12接收表面的次序识别符。在一些实例中,主机处理器4可不将次序识别符指派于每一表面。在这些实例中的一些实例中,GPU6可基于主机处理器4将表面的信息存储在存储装置12中的次序来确定表面的次序。着色器18可将当前表面的位于同一地点的表面像素的像素值与所存储的经掺合色彩值进行掺合(46)。像素值可包含当前表面的位于同一地点的表面像素的色彩值和不透明度值。为了掺合像素值,着色器18可实施以下等式:New_color_value = (Src_color)(Src_alpha)+(1-Src_alpha)(Dest_color)在前述等式中,Src_color等于当前表面的位于同一地点的表面像素的色彩值。Src_color还可包含位于同一地点的表面像素的强度。Src_alpha等于当前表面的位于同一地点的表面像素的不透明度值。DeSt_C0l0r等于所存储的经掺合色彩值。当前表面的位于同一地点的表面像素的色彩值和不透明度值可由主机处理器4指派。着色器18可在掺合像素值之后更新所存储的经掺合色彩值(48)。为了更新所存储的经掺合色彩,着色器18可将所存储的经掺合色彩值设定为等于经掺合像素值。举例来说,着色器 18 可设定 Dest_color = New_color_value。在一些实例中,着色器18还可更新所存储的经累加不透明度值(50)。主机处理器4可对每一表面像素指派一不透明度值。主机处理器4也可对每一表面指派一不透明度值。着色器18可至少基 于所存储的经累加不透明度值和位于同一地点的表面像素的不透明度值和/或当前表面的不透明度值来更新经累加不透明度值。如上所述,着色器18可实施以下等式以更新所存储的不透明度值。New_opaqueness_value = D e s t _a I pha+(I _D e s t_a I ph a) * (Sr c_alpha*surface[i].surface_alpha)Dest_alpha = New_opaqueness_value在前述等式中,Src_alpha等于当前表面的位于同一地点的表面像素和当前表面的不透明度值中的至少一者的不透明度值。Surface[i].surface_alpha等于“第i”表面的表面不透明度值。变量“i”可指示正在处理的当前表面的次序。Dest_alpha等于所存储的经累加不透明度值。着色器18可确定经累加不透明度值是否小于不透明度值阈值(52)。不透明度值阈值可为100%不透明性,但其它较低阈值是可能的。如果经累加不透明度值大体上等于或大于不透明度值阈值(52的“否”),那么GPU6可再现显示器8上的选定像素(58)。GPU6可至少基于所存储的色彩值来再现显示器8上的选定像素。如果经累加不透明度值小于不透明度值阈值(52的“是”),那么GPU6可确定是否存在更多包含与显示器8上的选定像素位于同一地点的位于同一地点的表面像素的表面,例如更多所识别表面(54)。如果不存在更多包含位于同一地点的表面像素的表面(54的“否”),那么GPU6可再现显示器8上的选定像素(58)。如果存在更多包含位于同一地点的表面像素的表面(54的“是”),那么GPU6可基于所接收的表面的排序来选择下一表面。下一表面可为包含被当前表面的位于同一地点的表面像素重叠的位于同一地点的表面像素的表面。下一表面的位于同一地点的表面像素可与显示器8上的选定像素位于同一地点。GPU6可将下一表面识别为当前表面(56)。GPU6可重复掺合像素值动作(46)和更新色彩值和不透明度值动作(48和50),直到不透明度值大于不透明度值阈值或不存在更多包含位于同一地点的表面像素的表面。在GPU6再现像素(58)之后,GPU6可确定是否存在更多像素待在显示器8上再现
(60)。如果存在更多像素待在显示器8上再现¢0的“是”),那么GPU6可将显示器8上的下一像素识别为选定像素出2)。在一些实例中,GPU6可以光栅方式选择下一像素。GPU6可随后识别具有与选定像素位于同一地点的表面像素的表面(42)。GPU6和着色器18可重复上述动作,直到不存在更多像素待在显示器8上再现。以下是本发明的方面的实例实施方案的伪码。所述伪码可存储在存储装置12上且由GPU6和着色器18实施,或可存储在GPU6内部的存储器上。
权利要求
1.一种方法,其包括 以处理单元接收将在显示器上显示的多个表面中的每一者的位置; 以所述处理单元至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及 以所述处理单元至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值。
2.根据权利要求I所述的方法,其进一步包括 累加所述一个或一个以上位于同一地点的表面像素的不透明度值和所述所识别一个或一个以上表面的不透明度值中的至少一者。
3.根据权利要求2所述的方法,其中累加不透明度值包括基于所述所识别一个或一个以上表面的所述次序来累加不透明度值直到经累加不透明度值大体上等于或大于不透明度值阈值为止,所述方法进一步包括当所述经累加不透明度值等于或大于所述不透明度值阈值时终止所述累加和掺合。
4.根据权利要求3所述的方法,其中所述不透明度值阈值包括对应于完全不透明性的值。
5.根据权利要求2所述的方法,其中累加不透明度值包括从所述所识别一个或一个以上表面中的最前方表面开始且朝向所述所识别一个或一个以上表面中的最后方表面继续来累加不透明度值,其中所述最前方表面和所述最后方表面是基于所述多个表面中的所述所识别一个或一个以上表面的所述次序确定的。
6.根据权利要求2所述的方法,其进一步包括 在一批次中检索所述不透明度值, 其中累加不透明度值包括累加在所述批次中检索的所述不透明度值。
7.根据权利要求I所述的方法,其进一步包括 接收所述多个表面中的每一表面的次序, 其中所述多个表面中的所述所识别一个或一个以上表面的所述次序是基于所述所接收次序。
8.根据权利要求I所述的方法,其进一步包括 基于所述掺合而再现所述至少一个像素。
9.根据权利要求I所述的方法,其中所述多个表面中的每一者的所述位置包括所述多个表面中的每一者的至少两个顶点的坐标。
10.根据权利要求I所述的方法,其中由在包含所述处理单元的装置上执行的一个或一个以上应用程序产生的可见对象形成所述多个表面中的每一者。
11.根据权利要求I所述的方法,其中所述多个表面中的至少一者部分地或完全地重叠于所述多个表面中的另一表面上。
12.根据权利要求I所述的方法,其中所述像素值包括色彩值和不透明度值。
13.根据权利要求I所述的方法,其中掺合所述一个或一个以上表面像素的像素值包括掺合所述一个或一个以上位于同一地点的表面像素仅一次。
14.根据权利要求I所述的方法,其中掺合所述一个或一个以上表面像素的像素值包括从最后方表面开始且继续到最前方表面来掺合像素值。
15.—种设备,其包括 图形处理单元GPU,其经配置以接收将在显示器上显示的多个表面中的每一者的位置; 着色器,其经配置以 基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及 至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值;以及 存储器,其经配置以存储所述经掺合像素值。
16.根据权利要求15所述的设备,其中所述GPU包含所述着色器。
17.根据权利要求15所述的设备,其进一步包括 主机处理器,其经配置以识别将在所述显示器上显示的所述多个表面中的每一者的所述位置,指派所述一个或一个以上表面像素的所述像素值,且确定所述多个表面的所述次序。
18.根据权利要求15所述的设备,其中所述着色器进一步经配置以累加所述一个或一个以上位于同一地点的表面像素的不透明度值和所述所识别一个或一个以上表面的不透明度值中的至少一者。
19.根据权利要求18所述的设备,其中所述着色器进一步经配置以 基于所述所识别一个或一个以上表面的所述次序来累加不透明度值直到经累加不透明度值大体上等于或大于不透明度值阈值为止;以及 当所述经累加不透明度值等于或大于所述不透明度值阈值时终止所述累加和掺合。
20.根据权利要求19所述的设备,其中所述不透明度值阈值包括对应于完全不透明性的值。
21.根据权利要求18所述的设备,其中所述着色器进一步经配置以从所述所识别一个或一个以上表面中的最前方表面开始且朝向所述所识别一个或一个以上表面中的最后方表面继续来累加不透明度值,其中所述最前方表面和所述最后方表面是基于所述多个表面中的所述所识别一个或一个以上表面的所述次序确定的。
22.根据权利要求18所述的设备,其中所述着色器进一步经配置以 在一批次中检索不透明度值;以及 累加在所述批次中检索的所述不透明度值。
23.根据权利要求15所述的设备,其中所述GPU进一步经配置以 接收所述多个表面中的每一表面的次序, 其中所述多个表面中的所述所识别一个或一个以上表面的所述次序是基于所述所接收次序。
24.根据权利要求15所述的设备,其中所述GPU进一步经配置以基于所述掺合而再现所述至少一个像素。
25.根据权利要求15所述的设备,其中所述多个表面中的每一者的所述位置包括所述多个表面中的每一者的至少两个顶点的坐标。
26.根据权利要求15所述的设备,其中由在所述设备上执行的一个或一个以上应用程序产生的可见对象形成所述多个表面中的每一者。
27.根据权利要求15所述的设备,其中所述多个表面中的至少一者部分地或完全地重叠于所述多个表面中的另一表面上。
28.根据权利要求15所述的设备,其中所述像素值包括色彩值和不透明度值。
29.根据权利要求15所述的设备,其中所述着色器经配置以掺合所述一个或一个以上位于同一地点的表面像素仅一次。
30.根据权利要求15所述的设备,其中所述着色器经配置以从最后方表面开始且继续到最前方表面来进行掺合。
31.一种计算机可读存储媒体,其包括致使一个或一个以上处理器进行以下操作的指令 接收将在显示器上显示的多个表面中的每一者的位置; 至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面;以及 至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值。
32.根据权利要求31所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令 累加所述一个或一个以上位于同一地点的表面像素的不透明度值和所述所识别一个或一个以上表面的不透明度值中的至少一者。
33.根据权利要求32所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器累加不透明度值的指令包括致使所述一个或一个以上处理器基于所述所识别一个或一个以上表面的所述次序来累加不透明度值直到经累加不透明度值大体上等于或大于不透明度值阈值为止的指令,所述指令进一步包括致使所述一个或一个以上处理器当所述经累加不透明度值等于或大于所述不透明度值阈值时终止所述累加和掺合的指令。
34.根据权利要求33所述的计算机可读存储媒体,其中所述不透明度值阈值包括对应于完全不透明性的值。
35.根据权利要求32所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器累加不透明度值的指令包括致使所述一个或一个以上处理器从所述所识别一个或一个以上表面中的最前方表面开始且朝向所述所识别一个或一个以上表面中的最后方表面继续来累加不透明度值的指令,其中所述最前方表面和所述最后方表面是基于所述多个表面中的所述所识别一个或一个以上表面的所述次序确定的。
36.根据权利要求32所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令在一批次中检索所述不透明度值, 其中所述致使所述一个或一个以上处理器累加不透明度值的指令包括致使所述一个或一个以上处理器累加在所述批次中检索的所述不透明度值的指令。
37.根据权利要求31所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令 接收所述多个表面中的每一表面的次序, 其中所述多个表面中的所述所识别一个或一个以上表面的所述次序是基于所述所接收次序。
38.根据权利要求31所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令 基于所述掺合而再现所述至少一个像素。
39.根据权利要求31所述的计算机可读存储媒体,其中所述多个表面中的每一者的所述位置包括所述多个表面中的每一者的至少两个顶点的坐标。
40.根据权利要求31所述的计算机可读存储媒体,其中所述像素值包括色彩值和不透明度值。
41.根据权利要求31所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器掺合所述一个或一个以上表面像素的像素值的指令包括致使所述一个或一个以上处理器掺合所述一个或一个以上位于同一地点的表面像素仅一次的指令。
42.—种设备,其包括 用于接收将在显示器上显示的多个表面中的每一者的位置的装置; 用于至少基于所述表面中的每一者的所述位置来识别所述多个表面中包含与所述显示器的至少一个像素位于同一地点的一个或一个以上位于同一地点的表面像素的一个或一个以上表面的装置;以及 用于至少基于所述多个表面中的所述所识别一个或一个以上表面的次序来掺合所述所识别一个或一个以上表面的与所述至少一个像素位于同一地点的所述一个或一个以上位于同一地点的表面像素的像素值的装置。
43.根据权利要求42所述的设备,其进一步包括 用于累加所述一个或一个以上位于同一地点的表面像素的不透明度值和所述所识别一个或一个以上表面的不透明度值中的至少一者的装置。
44.根据权利要求43所述的设备,其中所述用于累加的装置基于所述所识别一个或一个以上表面的所述次序来累加不透明度值直到经累加不透明度值大体上等于或大于不透明度值阈值为止,所述设备进一步包括用于当所述经累加不透明度值等于或大于所述不透明度值阈值时终止所述累加和掺合的装置。
全文摘要
本发明描述用于在显示器上再现像素的技术。处理单元可接收多个表面中的每一表面的表面像素的像素值。所述处理单元还可接收所述多个表面的次序。至少基于所述多个表面的位置和次序,所述处理单元可掺合位于同一地点的表面像素的像素值。所述处理单元还可累加位于同一地点的表面像素的不透明度值和/或具有位于同一地点的表面像素的表面的不透明度值。
文档编号G09G5/14GK103238169SQ201180045468
公开日2013年8月7日 申请日期2011年8月24日 优先权日2010年8月24日
发明者安德鲁·E·格鲁伯 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1