后渲染图形旋转的制作方法

文档序号:6456662阅读:277来源:国知局
专利名称:后渲染图形旋转的制作方法
技术领域
本发明涉及图形处理,且更特定来说,涉及在渲染过程后的图形表面的旋转。
背景技术
包括手机、便携式多媒体装置和便携式视频游戏装置的移动装置展现显著不同的显 示器尺寸和定向。另外, 一些移动装置显示器容易定向在许多方向上。相比而言,桌上 型和膝上型显示器通常处于横向中。因为许多用户应用程序起初经编写以用于桌上型和 膝上型用途,所以针对此些应用程序所设计的显示器定向常不同于在移动装置中可用和 /或实现的显示器定向。修改用户应用程序(具体来说,3D应用程序)以支持图像横向 显示与图像直式显示耗时且昂贵,因为其一般涉及对代码和技术财产的修改。
一般来说,3D用户应用程序经编程以用于装置显示屏的"预设"定向。在某些状 况下,3D应用程序己包括用以允许用户选择替代定向的代码。这些修改导致较大应用 程序大小且可能涉及需要移动装置上的额外文件系统空间的额外技术财产。因为移动装 置上的资源常为有限的,所以增加系统资源以支持图形处理常为无法接受的。

发明内容
鉴于上文,本发明提出使应用程序能够通过在应用程序的代码发生最小改变的情况 下在需要时旋转由图形处理单元(GPU)渲染的表面以用于移动装置显示器中的方法、 设备和计算机程序产品。另外,外部"偏好"应用程序可确定施加于主动3D应用程序 的所施加旋转(和其它潜在后渲染过程,例如,縮放),因而消除用户应用程序自身内 的任何代码改变。
根据一个实施例,所述设备包括经配置以渲染表面的图形处理器,其中显示器定向 参数与所述表面相关联,所述显示器定向参数界定旋转过程。所述设备进一步包括经配置以根据所述显示器定向参数旋转所述所渲染的表面的显示处理器。所述显示器定向参 数优选为EGL表面属性。
在以下附图和描述中陈述一个或一个以上实施例的细节。从描述和图式,且从权利 要求书将明白本发明的其它特征、目的和优势。


图1为GPU和显示处理器的框图。
图2为用于旋转表面的方法的流程图。
图3为移动装置中的GPU和显示处理器的框图。
图4为用于旋转表面的方法的流程图。
图5展示包括旋转参数的EGL表面属性。
具体实施例方式
图1展示GPU和显示处理器的框图。图形处理单元(GPU)为用以渲染、操纵和 显示计算机化的图形的专用图形渲染设备。通常以与高度平行结构一起来建置GPU,所 述高度平行结构在复杂图形相关算法的范围中与典型通用中央处理单元(CPU)相比提 供更有效的处理。举例来说,复杂算法可对应于三维计算机化的图形的表示。GPU可实 施若干所谓的"图元"图形操作(例如,形成点、线和三角形),以与使用CPU将图像 直接绘制到显示器相比在显示器上更快地产生复杂的三维图像。
GPU 110为用于渲染最终显示器的图形帧的图形处理器。对于本发明,术语"渲染" 指3D与2D渲染。如实例,GPU 110可利用开放图形库(OpenGL)指令以渲染3D图 形帧,或可利用开放向量图形(OpenVG)指令以渲染2D图形帧。然而,GPU110可利 用用于渲染图形的任何标准、方法或技术。
GPU 110可实行存储于存储器150中的指令。存储器150可包括能够存储指令的任 何永久性或易失性存储器。另外,GPU 110可执行经由空中接口 (例如,CDMA lx、 EV-DO、 WiFi)而接收的指令。由GPU IIO渲染的图形帧存储于缓冲器120中。
在本文中,图形帧为将显示的整个场景。图形帧可由一个或一个以上个表面组成, 所述一个或一个以上表面可由GPU IIO个别地渲染。表面为3D对象从特定视点的2D 图像或所渲染的2D表示。可经由覆盖和/或混合操作来组合显示于图形帧中的多个所渲 染的表面。
缓冲器120可为能够存储数据的任何永久性或易失性存储器。以某一预定定向渲染由GPU 110渲染的表面。通常,3D用户程序渲染为横向。然而,3D用户应用程序所渲 染的任何定向为可接受的。确定所要显示器定向。举例来说,利用GPU的用户程序可 基于用户程序的需要、显示器特性(即,显示器的可能定向)、当前显示器或装置定向 或用户输入来确定所要显示器定向。另外,可基于显示器或装置的当前定向和/或用户输 入在用户程序的外部确定显示器定向。显示器定向的选定值存储于存储器150中以供显 示处理器130使用。
具体来说,可将显示器定向存储为与将渲染和显示的表面相关联的参数。如一个实 例,此参数可为包括于表面的嵌入式系统图形程序馆(EGLTM)描述中的属性。EGL为 在例如OpenGL ES或OpenVG等API与基础本地平台窗口系统之间的接口 。以此方式, 应用程序的第三方开发者可使用熟悉的编程语言来界定显示器定向而不必开发用于指 令特定显示处理器以执行旋转过程的单独命令。图8展示包括显示器定向525旋转参数 的EGL表面属性500的实例。
显示处理器130为用于驱动显示器140 (即,将像素色彩值发送到显示器)且用于 对所渲染的表面执行后渲染过程的处理器。显示处理器130可为任何类型的处理器。如 一个实例,显示处理器130可为嵌入由高通公司(加利福尼亚州圣地亚哥市)(Qualcomm, Inc. (San Diego, CA))设计的移动台调制解调器中的移动显示处理器(MDP)。 MDP为 已专用于且经优化以用于驱动显示器并对所渲染的表面执行后渲染功能的处理器。此些 功能可包括縮放、旋转、混合、色彩调整和覆盖。显示处理器130可经建构以执行存储 于存储器150中的指令。
当GPU 110已渲染表面且将其存储于缓冲器120中时,显示处理器130从缓冲器 120检索所渲染的表面且将所渲染的表面旋转到选定定向。所述定向可从存储器150获 得或可基于显示器140的特性而预先确定。通过使用不同处理器来旋转,为GPU节省 了处理开销。另外,避免了用户程序中昂贵和耗时的代码改变以及多组技术财产。
可将所渲染的表面旋转到任何所要角度。然而,用于在定向之间切换(例如,横向 到纵向)的典型旋转采用以卯度的整数倍的旋转。可经由三个基本操作的各种组合来 完成90、 180和270的离散旋转90度旋转、水平翻转和垂直翻转。因而,在许多应用 中,将定向选择限于对90度旋转、水平翻转和垂直翻转命令的个别或组合选择的选择 将是有益的。以此方式,用于选择定向且因此命令旋转的指令的数目是有限的。此可节 省存储器和处理带宽以及可在某些情形中节省硅面积和功率。此旋转可与縮放过程组合 以防止经旋转的表面上下加黑边(letterboxing)。此意味着需要对用户应用程序的 OpenGL代码或技术财产进行很少修改或不修改。图2为用于旋转表面的方法的流程图。在步骤201中,渲染表面。在步骤202中, 选择显示器定向。接着在步骤203中,将所渲染的表面旋转到选定定向。
图3为移动装置中的GPU和显示处理器的框图。GPU 310执行来自存储于存储器 350中的用户程序3卯的指令。作为一实例,GPU 310可为由加利福尼亚州桑尼维尔市 (Sunnyvale, CA)的先进微电子器件公司(Advanced Micro Devices, Inc.)制造的Imageon 7系列GPU。存储器350可实施为快闪随机存取存储器(RAM)。用户程序390可为利 用GPU310的任何程序。举例来说,用户程序390可为视频游戏。GPU310执行来自用 户程序390的指令且渲染将显示于缓冲器320中的表面。缓冲器320可呈同步动态RAM (SDRAM)的形式。用户程序390可经配置以建立到显示器340的连接和/或确定系统参 数以便确定显示所渲染的表面所采用的定向。此些系统参数可存储于存储器350中。一 旦用户程序390已选择显示器定向,用户程序390便将此定向作为控制参数370存储于 存储器350中。如上文所提及,选定定向可作为卯度旋转、水平翻转和垂直翻转命令 的个别或组合选择而存储于控制参数370中。
存储器350也可用以存储应用编程接口 (API) 380。 API 380充当用户程序390与 MDP 330之间的管道。当GPU 310已将表面渲染到缓冲器320时,用户程序390可执行 用以显示所述表面的指令。此显示指令可为调用API 380的函数。API 380接着指令控 制处理器360控制MDP 330以将缓冲器320中的所渲染的表面旋转到存储为控制参数 370的选定定向。控制处理器360可为高级RISC (精简指令集计算机)机器(ARM) 处理器,例如,嵌入由高通公司(加利福尼亚州圣地亚哥市)(Qual圆m,Inc.(SanDiego, CA))设计的移动台调制解调器中的ARMn处理器。MDP 330可为嵌入由高通公司(加 利福尼亚州圣地亚哥市)(Qualcomm, Inc. (San Diego, CA))设计的移动台调制解调器 中的移动显示处理器。MDP 330从缓冲器320检索所渲染的表面、将所渲染的表面旋转 到所要定向,且驱动显示器340以显示经旋转、渲染的表面。
图4为用于旋转表面的方法的流程图。在步骤401中,建立到显示器的连接。接着 在步骤402中,确定显示器的特性。可根据先前存储于存储器中的数据,或通过与显示 器直接通信来确定此些特性。在步骤403中,选择显示器定向。在步骤404中,将选定 定向发送到API或使其可用于API。在步骤405中,渲染表面。在步骤406中,将显示 命令(例如,eglSwapBuffers)发送到API。在步骤407中,API将命令发送到MDP以 将所渲染的表面旋转到选定定向。
上文所描述的设备、方法和计算机程序产品可被各种类型的装置采用,所述装置例 如为无线电话、蜂窝式电话、膝上型计算机、无线多媒体装置(例如,便携式视频播放器或便携式视频游戏装置)、无线通信个人计算机(PC)卡、个人数字助理(PDA)、外 部或内部调制解调器,或经由无线信道进行通信的任何装置。
此些装置可具有各种名称,例如,接入终端(AT)、接入单元、订户单元、移动台、 移动装置、移动单元、移动电话、移动设备、远程站、远程终端、远程单元、用户装备、 用户装备、手持式装置等。
上文所描述的任何装置可具有用于存储指令和数据的专用存储器,以及专用硬件、 软件、固件或其组合。如果以软件实施,那么所述技术可体现为可由一个或一个以上处 理器执行的计算机可读媒体上的指令,所述计算机可读媒体例如为随机存取存储器 (RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程 只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储装置等。所述指令致使一 个或一个以上处理器执行在本发明中所描述的功能性的某些方面。
本发明中所描述的技术可实施于通用微处理器、数字信号处理器(DSP)、专用集成 电路(ASIC)、现场可编程门阵列(FPGA),或其它等效逻辑装置内。因此,描述为模 块的组件可形成此过程或单独过程的可编程特征。
可全部或部分地组合本文中所描述的各种实施例。这些和其它实施例处于如下权利 要求书的范围内。
权利要求
1.一种用于处理图形的设备,其包含图形处理器,其经配置以渲染表面,其中显示器定向参数与所述表面相关联,所述显示器定向参数界定旋转过程;以及显示处理器,其经配置以根据所述显示器定向参数旋转所述所渲染的表面。
2. 根据权利要求1所述的设备,其中EGL表面属性在所述显示器定向参数中。
3. 根据权利要求1所述的设备,其中所述显示器定向参数是由90度旋转、水平翻转 和垂直翻转界定。
4. 根据权利要求1所述的设备,其进一步包括存储器,其经配置以存储所述显示器定向参数;以及控制处理器,其经配置以指令所述显示处理器根据所述显示器定向参数来旋转所 述所渲染的表面。
5. —种用于处理图形的设备,其包含用于渲染表面的装置,其中显示器定向参数与所述表面相关联,所述显示器定向 参数界定旋转过程;以及用于根据所述显示器定向参数旋转所述所渲染的表面的旋转装置。
6. 根据权利要求5所述的设备,其中EGL表面属性在所述显示器定向参数中。
7. 根据权利要求5所述的设备,其中所述显示器定向参数是由90度旋转、水平翻转 和垂直翻转界定。
8. 根据权利要求5所述的设备,其进一步包括用于存储所述显示器定向参数的装置;以及用于指令所述旋转装置根据所述显示器定向参数来旋转所述所渲染的表面的装 置。
9. 一种用于旋转所渲染的表面的方法,其包含渲染表面;选择显示器定向;以及将所述所渲染的表面旋转到目的地分辨率。
10. 根据权利要求9所述的方法,其中通过EGL表面属性使所述选定显示器定向与所 述表面相关联。
11. 根据权利要求9所述的方法,其中由卯度旋转、水平翻转和垂直翻转界定显示器 定向参数。
12. 根据权利要求9所述的方法,其进一步包括建立到显示器的连接; 确定显示器特性; 将所述显示器定向发送到API; 发送显示命令;以及发送指令显示处理器执行所述旋转步骤的命令。
13. —种计算机可读媒体,其存储用于旋转所渲染的表面的计算机可执行指令,所述计 算机可执行指令包含用于致使计算机渲染表面的代码;用于致使计算机选择显示器定向的代码;以及用于致使计算机将所述所渲染的表面旋转到目的地分辨率的代码。
14. 根据权利要求13所述的计算机可读媒体,其中所述选定显示器定向通过EGL表面 属性而与所述表面相关联。
15. 根据权利要求13所述的计算机可读媒体,其中显示器定向参数是由90度旋转、水 平翻转和垂直翻转界定。
16. 根据权利要求13所述的计算机可读媒体,其进一步包括用于致使计算机建立到显示器的连接的代码; 用于致使计算机确定显示器特性的代码; 用于致使计算机将所述显示器定向发送到API的代码;用于致使计算机发送显示命令的代码;以及用于致使计算机发送指令显示处理器执行所述旋转步骤的命令的代码。
全文摘要
本发明提供一种用于旋转所渲染的表面的设备、方法和计算机程序产品。所述设备包括经配置以渲染表面的图形处理器,其中显示器定向参数与所述表面相关联,所述显示器定向参数界定旋转过程。所述设备进一步包括经配置以根据所述显示器定向参数来旋转所述所渲染的表面的显示处理器。所述显示器定向参数优选为EGL表面属性。
文档编号G06T3/60GK101553844SQ200780045567
公开日2009年10月7日 申请日期2007年12月14日 优先权日2006年12月15日
发明者布莱恩·埃利斯, 斯蒂文·托德·韦布鲁, 西蒙·威尔逊 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1