CN101563712A - 快速像素渲染处理 - Google Patents
快速像素渲染处理 Download PDFInfo
- Publication number
- CN101563712A CN101563712A CNA2007800465859A CN200780046585A CN101563712A CN 101563712 A CN101563712 A CN 101563712A CN A2007800465859 A CNA2007800465859 A CN A2007800465859A CN 200780046585 A CN200780046585 A CN 200780046585A CN 101563712 A CN101563712 A CN 101563712A
- Authority
- CN
- China
- Prior art keywords
- sub
- screen
- processing threads
- instruction
- task
- 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.)
- Granted
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明揭示一种在最后级(像素渲染)中并行且独立地处理子屏幕的像素的三维(3D)图形管线。所述子屏幕任务存储于共享存储器中的列表中。所述共享存储器由指定用于像素渲染的多个处理线程存取。所述处理线程以有序方式捕获并锁定子屏幕任务且处理所述任务以形成供在屏幕上显示的位图。通过将其上叠加有顶点信息的显示区域划分成MxN个子屏幕任务来形成所述任务。可基于系统简档改变M及N。
Description
技术领域
本揭示内容通常涉及图像处理,且更具体来说,涉及在没有专用硬件图形加速器的情况下提供快速像素渲染处理的三维(3D)图形管线的技术。
背景技术
将关于3D对象的信息转换成可显示的位图称为像素渲染,且需要相当大的存储器及处理功率。过去,仅可在功能强大的工作台上获得3D图形,而现在通常可在个人计算机(PC)中找到3D图形加速器。硬件图形加速器含有存储器(例如,指令随机存取存储器(IRAM))及专业化微处理器以处理众多3D渲染操作。用于桌面的Open(开放式图形库)界定用于写入产生3D及2D计算机图形的应用程序的应用程序编程界面(API)。所述API包含用于从基元绘制复杂三维场景的数百个函数。
ES是所述桌面的子集,其形成软件与图形之间的界面。所述3D图形引擎(ES)通常实施为两个部分。第一部分包含处理顶点的那些函数且通常在数字信号处理(DSP)固件中实施。第二部分包含用于像素渲染的那些函数且在专用硬件图形加速器中实施。执行像素渲染的第二部分是常规3D图形引擎的最后管线级。最后管线级处理输入三角形集以产生所述图形图像的像素表示。然而,所述最后管线级通常是引擎中整个3D图形管线的性能瓶颈。因此,改善用于像素渲染的最后管线级的性能(以每秒的像素计)是非常重要的。
通常,在像素渲染操作期间,需要按与输入所述三角形的相同次序来依序处理每一输入三角形。因此,阻止一具有多线程的处理器利用交错式并行处理来处理输入三角形。
此外,所述硬件图形加速器通常不灵活或不易伸缩。因此,所述硬件图形加速器不易添加新特征、支持3D图形标准的更高版本(例如ES 1.0、1.1...)、支持不同的应用程序配置及定制要求。此外,所述硬件图形加速器不易于针对不同的性能要求(帧速率、屏幕大小、像素速率、三角形速率等)而伸缩,以最优化硅成本及系统功率消耗。
如可容易地看到,专用硬件图形加速器占据小手持计算装置(例如,移动或蜂窝式电话)中的硅面积。因此,专用硬件图形加速器会使手持计算装置因包含所述专用硬件图形加速器及所用IRAM而增加其总成本。使用专用硬件图形加速器还产生与DSP的数据业务,从而添加开销且消耗功率。
因此,此项技术中需要在没有专用硬件图形处理器的情况下提供更快像素渲染处理的三维(3D)图形管线的技术。
发明内容
本文中描述在没有专用硬件图形加速器的情况下提供更快像素渲染处理的三维(3D)图形管线的技术。在实施例中,三维(3D)图形管线包含顶点处理级,其可操作以输出3D图形图像的顶点信息。显示细分级将显示区域(其上叠加有输出顶点信息)中的像素划分为子屏幕,所述子屏幕形成子屏幕任务列表。像素渲染级并行且独立地处理所述子屏幕任务列表中的多个子屏幕任务。
在另一方面中,无线装置具有具有多个处理线程的数字信号处理器、由所述处理线程存取的共享存储器及处理器。所述处理器可操作以通过并行且独立地处理子屏幕任务列表中的多个子屏幕任务中的那些像素,而在没有专用图形加速器的情况下执行像素渲染。所述子屏幕任务包含叠加有顶点输出信息的显示区域的像素的一部分。
下文中将进一步详细阐述本发明揭示内容的各种方面及实施例。
附图说明
当结合图式参照下文所述详细说明时,本发明揭示内容的各方面及实施例将变得更明了,在所有图式中相同的参考字符识别对应的元件。
图1图解说明3D成像设备的一般方框图。
图2图解说明与共享存储器介接的交错式多线程处理器。
图3图解说明交错式多线程处理器的细节,其中显示出每一线程的细节。
图4图解说明多线程处理器使用6个线程处理交错指令的执行时间与核心管线的图表。
图5图解说明通过两个线程处理的两个并行指令集。
图6图解说明在实例性3D成像设备中3D图形管线的一般流程图。
图7图解说明3D图形管线的过程的一般方框图。
图8A图解说明被细分为MxN个栅格的显示空间,其中M>1且N>1。
图8B图解说明用于处理图8A的经细分的显示空间的任务列表。
图9图解说明被细分为MxN个栅格的显示空间,其中M=1且N>1。
图10图解说明被细分为MxN个栅格的显示空间,其中M>1且N=1。
图11图解说明由顶点坐标界定且具有多个像素的三角形。
图12图解说明用于在被细分为一组四个细分区域的区域中处理三角形的指令操作的图形表示。
图13图解说明使用多线程处理器的3D图形管线方法的流程图。
具体实施方式
在本文中,“例示性”一词用于意指“担当实例、例子或例解”。本文中描述为“实例性”的任何实施例或设计皆未必应视为比其它实施例或设计佳或有利。
众多游戏应用程序需要在二维(2D)空间(例如,显示屏幕)中显示3D对象的三维(3D)图形应用程序。2D图形中的像素具有定位、色彩及亮度的特性,而3D像素添加指示所述点处于虚构Z轴上何处的深度特性。纹理随着3D像素被组合而形成,所述像素的每一者具有其自己的深度值。
现参照图1,图中显示3D成像设备(通常标示为10)的实施例。3D成像设备10包含通信单元12、数字信号处理器(DSP)20、具有显示区域18的屏幕16,存储器24及输入/输出(I/O)单元45。共享存储器24可存储游戏应用程序或者可按用户所需或为支持设备10的特征集而存储其它应用程序(即,针对使用有线或无限网络的双向通信,及其它软件应用程序)。I/O单元45可包含键台、键盘或数据通信端口。屏幕16可操作以在显示区域18中显示2D信息以及3D图形。
3D成像设备10可包含以下装置中的一者:个人数字助理(PDA);及移动、蜂窝式或卫星电话;膝上型计算机;笔记本计算机;平板PC;掌中宝(Palm Pilot);无线通信装置或类似物。
现参照图2-5,在所述实例性实施例中,DSP 20包含交错式多线程处理器22。交错式多线程处理器22具有多个处理线程(PT)PT1、PT2、...PTX。每一处理线程(PT)PT1、PT2、...PTX共享表示为共享存储器24的同一存储器。每一处理线程1、...X均包含相应一个指令集261...26x、核心271...27x(处理单元)及寄存器堆281...28x。每一核心271...27x的输出与共享存储器24通信。指令261…26X包含用于执行以下界定的操作及用于执行3D成像设备10的特征集(例如,多媒体)的其它操作的编程代码。核心271...27x执行指令261...26x。
寄存器堆281…28X是一组通用寄存器且是DSP 20或微处理器的中心级。这些寄存器堆281…28X保持所有操作数(通常从存储器载入),即,在将来自所有运算(例如,算术运算、逻辑运算等)的所有结果存储到共享存储器24中之前保持所述结果。
某些DSP架构具有四个线程。然而,DSP 20可具有多于四个的线程,例如,在没有限制的情况下,六个并行运行的处理线程。在实例性实施例中,每一并行线程(PT)PT1、PT2、...PTX提供每秒100个百万指令包(MIPS)。每一指令包可以是四(4)个指令、两(2)个指令(超标量)或仅一个指令。然而,出于效率缘由不推荐一个指令,因为DSP 20的架构去除指令间数据相依性所致的低效率。
使用术语线程或多线程来描述同时任务执行。替代单个执行路径,可将程序(操作)分解成多个同时执行的执行线程。在所述实例性实施例中,存在启动线程,其需要函数调用(或指令),且通常需要至少两个自变数:(1)所述启动指令的位址;及(2)上下文自变数。当线程正在运作及/或正在退出时,所述线程需要能够做与其它处理线程相关的两个基本工作:(1)获取共享资源且阻止其它线程使用此资源;及(2)将消息安全地发送到其它线程(例如,已完成的、就绪的线程等)。
现参照图4,其中显示所述交错式多线程并行处理的图表。在此实例中,存在六(6)个处理线程PT1、PT2、PT3、PT4、PT5及PT6。第一处理线程PT1处理第一指令集1。此由核心管线的执行时间线的第一(顶部)行表示。所述核心管线由核心271、…27X表示。当第一处理线程PT1处理第一指令集1时,第二处理线程PT2处理其第一指令集1。此由所述执行时间线的第二行表示。因此,并行处理所述第一指令集1。
第三处理线程PT3处理其第一指令集1而第一及第二处理线程PT1及PT2处理其第一指令集1。此由所述核心管线的执行时间线的第三行表示。第四处理线程PT4处理其第一指令集1。同时,第一、第二及第三处理线程PT1、PT2及PT3继续处理其相关联的第一指令集1。此由所述核心管线的执行时间线的第四行表示。
第五处理线程PT5处理其第一指令集1而第一、第二、第三及第四处理线程PT1、PT2、PT3及PT4继续处理其第一指令集1。此由所述核心管线的执行时间线的第五行表示。第六处理线程PT6处理其第一指令集1而第一、第二、第三、第四及第五处理线程PT1、PT2、PT3、PT4及PT5继续处理其第一指令集1。此由所述核心管线的执行时间线的第六行表示。因此,所述处理线程对指令的处理是交错的。
现参照图4的第七(底部)行,假设第一处理线程PT1已完成其第一指令集1,那么第一处理线程PT1开始处理第二指令集2而第二、第三、第四、第五及第六处理线程PT2、PT3、PT4、PT5及PT6继续处理其第一指令集1。因此,处理线程PT1、PT2、..PTX中的每一者的处理是并行且交错的。
描述所有处理线程的交错式处理负担太重。因此,出于说明的目的,图5中显示使用指令261及262的交错式处理,因为其与互斥相关。互斥是同时仅由一个处理线程“拥有”的工具。当处理线程试图获取互斥时,其锁定所述互斥。另一方面,如果所述互斥已被锁定,那么所述处理线程停止。当所述拥有的线程解锁所述互斥时,所述停止的线程重启且获取所述互斥的所有权。此过程在图5中显示。
在以第一处理线程PT1开始后,指令261以执行非关键代码的步骤S22A开始。步骤S22A后面是步骤S24A,其中第一处理线程PT1执行锁定互斥1指令(假设互斥1已解锁)。因此,第一处理线程PT1现在拥有互斥1。步骤S24A后面是步骤S26A,其中执行关键代码。步骤S26A后面是步骤S28A,其中在完成所述关键代码后,第一处理线程PT1执行解锁互斥1指令。此后,第一处理线程PT1在步骤S30A处重新开始非关键代码的执行。
与第一处理线程PT1并行,第二处理线程PT2在其中执行非关键代码的步骤S22B处开始指令262步骤S22B后面是步骤S24B,其中第二处理线程PT2期望在步骤S24B处锁定互斥1。然而,互斥1处于已锁定状态。因此,第二处理线程PT2的操作停止直到第一处理线程PT1在步骤S28A处解锁互斥1为止。随后,开始其中可执行所述关键代码的步骤26B。步骤S26B后面是步骤S28B,其中在完成所述关键代码之后,第二处理线程PT2执行经解锁的互斥1指令。此后可继续其它指令。
仅在需要时,使用所述互斥工具或另一令牌工具以保证在不同处理线程中对关键区段的串行执行。此也是对执行进行串行化,而此意味着当某个代码与其它线程执行的代码发生冲突时,不可执行所述代码。由于使用共享存储器24(共享资源),互斥工具是有帮助的。
现参照图6及7,图中显示所述3D图形管线(通常标示为100)的一般流程及方框图的实施例。3D图形管线100通常将屏幕16的显示区域18中的3D表示的整体任务划分为三(3)个管线级:顶点处理(VP)级110、屏幕细分(SSD)级130及像素渲染(PR)级140。在操作中,顶点处理(VP)级110包含当前在或ES中实施且由数字信号处理器(DSP)20处理的所有函数或所述函数子集。以假象方式显示通至屏幕16的线,因为屏幕16并非3D图形管线100的一部分。
VP级110包含模型视界变换操作112、投影操作114、剔除操作116、光照及着色操作118、基元组装操作120、裁剪(即:用户界定的裁剪)操作122及透视除法及视口操作124。在或ES中明确界定了VP级110的这些操作中的每一者。
通常,模型视界变换操作112使用数学运算来将对象模型置于所需的位置及定向。投影操作114使用使近事物更大及远事物更小的数学运算。遮断将近对象绘制在远对象前方。剔除及裁剪操作116及122丢弃不在视界中的事物。光照操作118计算表面上的光的效应。
在所述实例性实施例中,VP级110可通过一个处理线程(图2及3)实施。顶点输出信息包含用以在显示区域16中界定三角形及其位置的顶点信息。所述顶点输出信息叠加在显示区域16上,因为显示区域16的像素包含顶点输出信息以根据 ES或其它图形库界定三角形。
屏幕细分(SSD)级130包含将显示区域18划分成M*N个子屏幕的屏幕细分操作132。显示区域18由多个叠加有所述顶点输出信息的像素P(图11)组成。来自VP级110的顶点信息提供针对显示区域18中的重叠界定三角形(例如图8A的T1及T2)的顶点信息(例如图11的V1、V2及V3)。所述顶点信息可包含顶点坐标及边缘信息。通常,每一三角形的顶点输出信息仅是数学描述集以界定封闭的区域。此数学描述集存储在共享存储器24中以使得每一处理线程(PT1、PT2、...PTX)可使用所述数学描述集来计算在其自己的子屏幕任务内的每一像素P(图11)且决定像素是否处在三角形内部。
图8A图解说明叠加于显示区域18上的顶点输出信息。在屏幕细分(SSD)级130期间,通过将组成显示区域18的像素划分或分组成MxN个子屏幕任务来细分显示区域18,如图8B中最佳所见。所述MxN个子屏幕任务是存储于共享存储器24中的MxN个独立任务。SSD级130的操作可使用与VP级110期间使用的处理线程分离的处理线程实施。另一选择为,可针对相同处理线程组合SSD级130的操作与VP级110的操作。
在图8A中所示的实施例中,将显示区域18划分成MxN个子屏幕以形成栅格,其中M>1且N>1。出于说明目的,图9显示显示区域18’被划分成MxN个子屏幕,其中M=1且N>1。箭头图解说明扫描或工作流程方向。参照图10,显示区域18″被划分成MxN个子屏幕,其中M>1且N=1。因此,显示区域18″的子屏幕形成一系列列。
像素渲染(PR)级140包含光栅化、混合及纹理化应用程序操作142以及隐藏表面去除操作144。然而,像素渲染级140可包含由或ES界定的其它操作。PR级140将来自VP级110的关于3D对象的信息转换成可在屏幕16的显示区域18中显示的位图。PR级140处理输入三角形集以产生3D图形图像的像素表示。
典型的像素渲染(PR)级可首先从顶点输出信息列表中提取三角形。接下来,所述PR级将从所述显示区域提取像素且对照所述三角形计算所述像素以确定其是否在所述三角形内部。如果被评估像素处在所述三角形内部,那么所述PR级可借助来自所述三角形的对应色彩对像素执行着色。如果被评估的像素不在所述三角形内部,则跳过所述像素。然后,所述PR级将挑选显示区域18中的下一个像素。所述PR级针对显示区域18中的其它像素重复以上过程直到已针对三角形评估或处理所有像素为止。因此,一次一个地处理像素。
然后,所述典型PR级将移到顶点输出信息列表中的下一三角形并针对当前三角形重复像素评估。
PR级140以类似方式处理多个子屏幕或子屏幕任务。不同之处在于所述子屏幕具有较少数目要评估或处理的像素而处理线程(PT1、PT2、…PTX)可独立且并行地处理多个子屏幕。因此,PR级140的处理时间比典型PR级快得多,因为每一子屏幕中有较少像素且可并行地处理多个子屏幕(其中每一处理线程在处理一相应子屏幕中的像素中皆独立地工作)。
在实例性实施例中,使用交错式多线程处理器22的一组多个处理线程PR1、PR2、...PRX来处理PR级140。所述组中的用于PR级140的线程数目可以是2或更多,其中最大值为X个线程。
在操作中,指派给像素渲染级140的每一处理线程PR1、PR2、…PRX从任务列表135捕获可用子屏幕任务并将其从任务列表135中去除。所述组处理线程PR1、PR2、…PRX以交错式并行操作方式处理输入三角形以渲染子屏幕中的像素(将输入三角形信息转换成位图以供在子屏幕中显示)。在相应一个处理线程针对所捕获子屏幕任务完成像素渲染操作之后,所述处理线程移至任务列表135中的下一可用子屏幕任务。重复此操作直到处理完所有子屏幕且完成像素渲染级140为止。
;及
参照图12,图中显示用于像素渲染的具有单个三角形T的四个子屏幕的方框。操作处理子屏幕任务S11、S12、S21及S22,其表示为各自具有三角形T的细分部分(i)的四个(i)子屏幕。因此,操作等于子屏幕S11的操作加上子屏幕S12的操作加上子屏幕S21的操作加上子屏幕S22的操作如果并行地处理所有操作及处理像素渲染级140的总峰值性能因此是处理线程的峰值性能乘以所用的处理线程的数目。子屏幕S11具有用于三角形T的像素的细分部分T1。子屏幕S12具有用于三角形T的像素的细分部分T2。子屏幕S21具有用于三角形T的像素的细分部分T3。子屏幕S22具有用于三角形T的像素的细分部分T4。出于说明的目的,线程的数目为四(4)。由此,在此实例中,所述性能将是一个处理线程的性能乘以处理线程的数目。因此,PR级140凭借其并行处理来自多个子屏幕的像素的能力而为快速像素渲染级。
另外,可在用真实应用建立简档之后配置M及N的数目,以便可针对不同情况进一步最优化性能。配置M及N为灵活性及伸缩性提供另一较大空间。建立简档包含识别处理线程的载入(打标记计数)或者操作任务的大小或复杂性。建立简档也可包含评估其它分量,例如,与从共享存储器24转移数据及共享存储器24的存储器容量相关联的参数。借助建立简档及调整,可将帧速率、屏幕大小、像素速率、三角形速率等用来改变或变更M及N及/或变更供在PR级140中使用的处理线程PR1、PR2、…PRX的数目。剩余处理线程PR1、PR2、...PRX用于同时运行的其它应用程序,例如游戏-音频。
现参照图13,图中显示供3D图形管线100使用的3D图形管线方法200的流程图。方法200以步骤S202开始,其中执行顶点处理以产生顶点输出信息。步骤S202后面是步骤S204,其中将叠加有顶点输出信息的显示区域18细分为MxN个子屏幕。例如,如在图8A中最佳所见,三角形T1延伸跨越子屏幕S11、S21及S22且被细分为图8B中所示的其相应的细分部分T11、T12、T13。因此,图8B中的任务列表135图解说明三角形T1及T2的细分部分(出于说明的目的仅显示两个三角形)。如可了解,可更快地处理任务列表135中来自顶点输出信息的那些输入项,所述顶点输出信息的确不具有与其相关联的三角形或具有三角形的较小细分部分。因此,在像素渲染级140在显示区域18上显示表示所述三角形的3D图像之前,应完成对所述三角形的所有细分部分的处理。
步骤S204后面是步骤S206,其中形成具有或不具有三角形的子部分的子屏幕任务并将其置于任务列表135中。步骤S206后面是步骤S2081、2082及208Y,其中Y是所述组中的用于像素渲染级140的处理线程的数目(2个或更多个)。在步骤S2081处,第一处理线程(下文称为“线程1”)获得(第一)可用子屏幕任务(图8B),在步骤S2101处,处理所述子屏幕任务中的每一像素(尤其是经确定处在三角形或与所述任务相关联的三角形部分内或内部的那些像素)。步骤S2101后面是步骤S2121,其中做出其是否为任务列表135的结束的确定。如果所述确定为“是”,那么线程1的处理结束。否则,如果所述确定为“否”,那么步骤S2121返回到步骤S2081。第二处理线程(下文称为“线程2”)的操作基本上相同。线程2获得或捕获任务列表135中的下一可用子屏幕任务。步骤S2082后面是步骤S2102,其中处理所述子屏幕任务。步骤S2082后面是步骤S2102。步骤S2102后面是步骤S2122。在步骤S2122处,做出任务列表135中是否还有任何更多任务的确定。如果步骤S2122处的确定为“否”,那么所述方法结束。否则,如果所述确定为“是”,那么步骤S2122返回到步骤S2082。
步骤S208Y通过线程Y获得或捕获第Y个可用子屏幕任务。步骤S208Y后面是步骤S210Y,其中处理所述子屏幕任务。步骤S210Y后面是步骤S212Y,其中做出任务列表135中是否还有任何更多任务的确定。如果所述确定为“否”,那么所述方法结束。否则,如果所述确定为“是”,那么步骤S212Y返回到步骤S208Y。
在步骤S2101、S2102及S210Y期间执行的处理执行光栅化、混合、纹理化应用程序操作142及隐藏表面去除操作144。具体参照图11,具有中心点的正方形表示像素P。像素P中的有些像素处在三角形T11内部而有些像素处在三角形T11外部。每一顶点V1、V2及V3具有附有平滑描影的色彩值。使用线性插值来计算每一像素P处的色彩值。使用顶点V1、V2及V3来形成三角形T11且将此三角形置于显示区域18内。计算每一像素中心(由处在所述正方形中心的黑色点表示)处的色彩。插入包含Z深度、α、雾及纹理的各种参数。
再参照图2-4,在此实例中,存在六(6)个线程PT1、PT2、PT3、PT4、PT5及PT6。第一线程PT1可用来处理VP级110。第二线程PT2可用来处理SSD级130。剩余的四个线程PT3、PT4、PT5及PT6将用来并行地处理来自任务列表135的子屏幕任务。此处,处理线程PT3将获得第一个可用子屏幕任务1,1并处理所捕获的第一子屏幕任务1,1中的像素。处理线程PT4将获得下一个(第二个)可用子屏幕任务1,2且处理所捕获的子屏幕任务1,2中的像素。处理线程PT5将获得下一个(第三个)可用子屏幕任务1,3且处理所捕获的子屏幕任务1,3中的像素(假设M大于3)。
假设M为4,处理线程PT6将获得下一个(第四个)可用子屏幕任务1,M且处理所捕获的子屏幕任务1,M中的像素。当处理线程PT3、PT4、PT5及PT6完成其各自的子屏幕任务时,将捕获并并行地处理额外子屏幕任务直到任务列表135为空为止。
如果一个处理线程执行3M像素/秒渲染,那么处理一个像素将需要约30个指令包。即,平均每像素大约100个指令。保留六个线程中的两个线程用于VP级110及SSD级130,以使剩余的四个处理线程来做所述像素渲染,此将支持是专用硬件图形加速器的性能(12M像素/秒)四倍的VGA分辨率。
因为所有处理线程共享相同存储器24,所以所述处理线程可使用互斥工具非常有效地(不重复地)共同处理同一输入三角形数据集(子屏幕任务)。
像素渲染级140是3D图形管线100的最后管线级。PR级140处理输入三角形列表以产生3D图形图像的像素表示。以上所述的3D图形管线100改善PR级140的性能(以每秒像素计)。交错式多线程处理器22以并行运行以处理任务列表35的处理线程的数目的一倍数增加性能。
所述3D图形管线架构的优点是其在允许调整数目M及N方面的灵活性。通过增加数目M及N,降低像素渲染级140的MIPS要求。因为每一子屏幕变得越来越小,所以渲染任务变得越来越简单。此有助于增加多个处理线程的性能。处理线程也可用于其它同时应用程序,例如音频。
如可容易地看到,本文所述用于渲染3D图形图像的软件实施方案具有比专用图形加速器的硬件实施方案更高的性能。与图形加速器的硬件实施方案相比,本文所述的实施例是灵活且可伸缩的。因为本实施例是灵活的,所以易于扩展软件代码以添加新特征、支持3D图形标准的更高版本(例如OpenGL ES 1.0、1.1...)及支持不同应用配置及客户要求。本实施例的可伸缩特征允许不同的性能要求(帧速率,屏幕大小,像素速率、三角形速率等),以最优化硅成本及系统功率消耗。
此实施例还能够实现所述软件实施方案与低成本且低功率处理器配合使用,替代使用具有多-GHz时钟速率的高端处理器以达到相同的性能。
在实例性实施例中,本文所述的方法及过程可以包括一个或一个以上计算机可执行指令的计算机程序产品的形式实施于硬件、软件、固件或其任意组合中。当实施于软件中时,所述计算机程序产品可存储在计算机可读媒体上或使用计算机可读媒体传输,所述计算机可读媒体包含计算机存储媒体及计算机通信媒体。
本文中,术语“计算机存储媒体”是指适应存储致使所述计算机执行所述方法的指令的任何媒体。举例而言,而不限于此,所述计算机存储媒体可包括故态存储器装置,包含电子存储器装置(例如,RAM、ROM、EEPROM及类似物)、光学存储器装置(例如,光盘(CD)、多样化数字光盘(DVD)及类似物)、或磁性存储器装置(例如,硬驱动器、快闪驱动器、磁带驱动器及类似物)、或其它适应存储所述计算机程序产品的存储器装置、或此类存储器装置的一组合。
本文中,术语“计算机通信媒体”是指适应使用例如经调制载波、光学信号、DC或AC电流及类似方法将所述计算机程序产品从一个地点传输到另一个地点的任何实体接口。举例而言,而不限于此,所述计算机通信媒体可包括双绞线、印刷或扁平电缆、同轴电缆、光缆、数字订户线(DSL)或其它有线、无线、或光学串行或并行接口或其一组合。
上文对所揭示实施例的说明意在使任何所属领域的技术人员均可制作或使用本发明。所属领域的技术人员将易知对所述实施例的各种修改,且本文所界定的一般原理可应用于其它实施例,此并不背离本发明的精神或范围。因此,本发明并非意欲限定为本文所示的实施例,而是欲赋予其与本文所揭示的原理及新颖特征相一致的最宽广范围。
Claims (21)
1、一种三维(3D)图形管线,其包括:
顶点处理级,其可操作以输出3D图形图像的顶点信息;
显示细分级,其可操作以将叠加有所述输出顶点信息的显示区域中的像素划分为子屏幕,所述子屏幕形成子屏幕任务列表;及
像素渲染级,其可操作以并行且独立地处理所述子屏幕任务列表中的多个子屏幕任务。
2、如权利要求1所述的管线,其中所述像素渲染级采用具有一组个别处理线程的交错式多线程处理器来并行且独立地处理所述多个子屏幕任务中的相应一者。
3、如权利要求2所述的管线,其中所述交错式多线程处理器包含用于处理所述顶点信息的处理线程。
4、如权利要求3所述的管线,其中所述显示细分级共享所述用于处理所述顶点信息的处理线程。
5、如权利要求3所述的管线,其中所述显示细分级使用另一处理线程。
6、如权利要求1所述的管线,其中所述像素渲染级包含光栅化、混合及纹理化操作以及隐藏表面去除操作以形成所述3D图形图像的位图。
7、如权利要求1所述的管线,其中所述显示区域与以下装置中的一者相关联:个人数字助理(PDA)、掌中宝、移动电话、蜂窝式电话、卫星电话、膝上型计算机、笔记本计算机及平板PC。
8、一种方法,其包括:
对顶点对象进行顶点处理以输出三维(3D)图形图像的顶点信息;
将所述输出顶点信息叠加在显示区域上;
将所述显示区域划分成多个子屏幕以形成任务列表中的子屏幕任务,所述显示区域具有若干像素;及
对所述任务列表中的多个子屏幕任务中的那些像素并行且独立地进行像素渲染。
9、如权利要求8所述的方法,其中所述像素渲染步骤包含以下步骤:
通过交错式多线程处理器的处理线程捕获并锁定所述任务列表中的相应一个可用子屏幕任务;
当捕获到时,独立地处理所述相应一个子屏幕任务的那些像素;及
针对每一随后的可用子屏幕任务,通过所述交错式多线程处理器的其它处理线程重复所述捕获并锁定步骤及所述处理步骤。
10、如权利要求9所述的方法,其中所述顶点处理步骤包含以下步骤:
通过所述交错式多线程处理器的另一处理线程处理所述顶点对象以形成所述顶点信息输出。
11、如权利要求10所述的方法,其中所述划分步骤包含与所述顶点处理步骤共享所述另一处理线程的步骤。
12、如权利要求8所述的方法,其中所述像素渲染步骤包含以下步骤:光栅化、混合及纹理化每一子屏幕任务的那些像素直到所述任务列表成为空的为止以形成所述3D图形图像的位图。
13、如权利要求8所述的方法,其中所述像素渲染步骤包含以下步骤:
产生用于在所述显示区域中显示的位图,所述显示区域与以下装置中的一者相关联:个人数字助理(PDA)、掌中宝、移动电话、蜂窝式电话、卫星电话、膝上型计算机、笔记本计算机及平板PC。
14、一种计算机程序产品,其包含具有用于致使计算机执行以下操作的指令的计算机可读媒体:
进行顶点处理以形成三维(3D)图形图像的输出顶点信息;
将叠加有所述输出顶点信息的显示区域划分为子屏幕以形成任务列表中的子屏幕任务,所述子屏幕任务具有若干像素;及
进行像素渲染以并行且独立地处理多个子屏幕任务的那些像素。
15、如权利要求14所述的计算机程序产品,其中所述用以进行像素渲染的指令包含用以执行以下操作的指令:
通过交错式多线程处理器的处理线程捕获并锁定所述任务列表中的相应一个可用子屏幕任务;
当通过所述处理线程捕获到时,独立地处理所述相应一个子屏幕任务的那些像素;及
针对每一随后的可用子屏幕任务,通过所述交错式多线程处理器的其它处理线程重复所述可操作以捕获并锁定及处理的指令。
16、如权利要求15所述的计算机程序产品,其中所述用以进行顶点处理的指令包含可操作以执行以下操作的指令:
使用所述交错式多线程处理器的另一处理线程进行顶点处理以形成所述顶点信息输出。
17、如权利要求16所述的计算机程序产品,其中所述用以划分的指令包含与所述用以进行顶点处理的指令共享所述另一处理线程的指令。
18、如权利要求17所述的计算机程序产品,其中所述计算机可读媒体包括无线通信装置的共享处理器可读媒体。
19、如权利要求14所述的计算机程序产品,其中所述用以进行像素渲染的指令包含用以光栅化、混合及纹理化每一子屏幕任务的那些像素以形成所述3D图形图像的位图的指令。
20、一种无线装置,其包括:
具有多个处理线程的数字信号处理器;
由所述处理线程存取的共享存储器;及
处理装置,其可操作以通过并行且独立地处理存储于所述共享存储器中的子屏幕任务列表中的多个子屏幕任务中的那些像素而在没有专用图形加速器的情况下执行像素渲染,所述子屏幕任务包含叠加有顶点输出信息的显示区域的像素的一部分。
21、如权利要求20所述的装置,其中所述装置包含以下装置中的一者:个人数字助理(PDA)、掌中宝、移动电话、蜂窝式电话、卫星电话、膝上型计算机、笔记本计算机及平板PC。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/615,379 | 2006-12-22 | ||
US11/615,379 US8207972B2 (en) | 2006-12-22 | 2006-12-22 | Quick pixel rendering processing |
PCT/US2007/088386 WO2008079984A1 (en) | 2006-12-22 | 2007-12-20 | Quick pixel rendering processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101563712A true CN101563712A (zh) | 2009-10-21 |
CN101563712B CN101563712B (zh) | 2013-03-27 |
Family
ID=39410479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800465859A Active CN101563712B (zh) | 2006-12-22 | 2007-12-20 | 快速像素渲染处理 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8207972B2 (zh) |
EP (1) | EP2122575B1 (zh) |
JP (1) | JP4981923B2 (zh) |
KR (1) | KR101071073B1 (zh) |
CN (1) | CN101563712B (zh) |
CA (1) | CA2670646A1 (zh) |
TW (1) | TW200841274A (zh) |
WO (1) | WO2008079984A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
CN103871020A (zh) * | 2012-12-17 | 2014-06-18 | Arm有限公司 | 图形处理系统中的隐藏面消除 |
CN105210111A (zh) * | 2013-05-31 | 2015-12-30 | 高通股份有限公司 | 基于每仓可见性信息以及添加的线内操作的渲染命令的条件性执行 |
CN105488842A (zh) * | 2014-10-06 | 2016-04-13 | 想象技术有限公司 | 图形处理系统中的深度转发 |
CN105637563A (zh) * | 2013-04-19 | 2016-06-01 | 华为技术有限公司 | 在屏幕上显示3d场景图的方法 |
CN106415668A (zh) * | 2014-06-30 | 2017-02-15 | 英特尔公司 | 用于减少的像素着色的技术 |
CN107148619A (zh) * | 2014-11-15 | 2017-09-08 | 英特尔公司 | 用于多线程图形流水线的自由排序线程模型 |
CN107223264A (zh) * | 2016-12-26 | 2017-09-29 | 深圳前海达闼云端智能科技有限公司 | 一种渲染方法及装置 |
US9779696B2 (en) | 2013-01-16 | 2017-10-03 | Intel Corporation | Serialized access to graphics resources |
CN108664420A (zh) * | 2017-03-28 | 2018-10-16 | 慧与发展有限责任合伙企业 | 共享式永久存储器的基于容量的锁定和访问 |
CN109118570A (zh) * | 2012-09-06 | 2019-01-01 | 想象技术有限公司 | 用于部分帧缓冲区更新的系统和方法 |
CN111048037A (zh) * | 2018-10-12 | 2020-04-21 | 联咏科技股份有限公司 | 子像素渲染数据转换设备及方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4806653B2 (ja) * | 2007-05-18 | 2011-11-02 | Okiセミコンダクタ株式会社 | 画像処理回路 |
US20110298787A1 (en) * | 2010-06-02 | 2011-12-08 | Daniel Feies | Layer composition, rendering, and animation using multiple execution threads |
US9727385B2 (en) | 2011-07-18 | 2017-08-08 | Apple Inc. | Graphical processing unit (GPU) implementing a plurality of virtual GPUs |
US8902228B2 (en) * | 2011-09-19 | 2014-12-02 | Qualcomm Incorporated | Optimizing resolve performance with tiling graphics architectures |
KR101321600B1 (ko) * | 2011-09-26 | 2013-10-28 | 구태회 | 렌더링 시스템 및 방법 |
US10217270B2 (en) | 2011-11-18 | 2019-02-26 | Intel Corporation | Scalable geometry processing within a checkerboard multi-GPU configuration |
US9619855B2 (en) | 2011-11-18 | 2017-04-11 | Intel Corporation | Scalable geometry processing within a checkerboard multi-GPU configuration |
DE102012017629B4 (de) | 2012-02-06 | 2024-02-01 | Mbda Deutschland Gmbh | Berechnen thermischer Schatten |
US10242481B2 (en) | 2012-03-15 | 2019-03-26 | Qualcomm Incorporated | Visibility-based state updates in graphical processing units |
US20130257885A1 (en) * | 2012-03-28 | 2013-10-03 | Intel Corporation | Low Power Centroid Determination and Texture Footprint Optimization For Decoupled Sampling Based Rendering Pipelines |
KR101404489B1 (ko) * | 2012-08-08 | 2014-06-10 | 한국과학기술정보연구원 | 멀티쓰레드를 이용한 동영상 실시간 렌더링 방법 및 시스템 |
US9633411B2 (en) | 2014-06-26 | 2017-04-25 | Qualcomm Incorporated | Load scheme for shared register in GPU |
KR101680545B1 (ko) * | 2015-06-30 | 2016-11-30 | 인천대학교 산학협력단 | 파노라마 동영상 생성 서비스 제공 방법 및 장치 |
KR20170014617A (ko) * | 2015-07-30 | 2017-02-08 | 삼성에스디에스 주식회사 | 3차원 모델의 비트맵 생성 방법과 이를 수행하기 위한 장치 및 시스템 |
KR20170034727A (ko) | 2015-09-21 | 2017-03-29 | 삼성전자주식회사 | 그림자 정보 저장 방법 및 장치, 3d 렌더링 방법 및 장치 |
US10803651B2 (en) | 2019-03-14 | 2020-10-13 | Texas Instruments Incorporated | Methods and apparatus to perform graphics processing on combinations of graphic processing units and digital signal processors |
JP7345306B2 (ja) * | 2019-07-30 | 2023-09-15 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US6469746B1 (en) * | 1992-12-28 | 2002-10-22 | Sanyo Electric Co., Ltd. | Multi-vision screen adapter |
FR2735253B1 (fr) * | 1995-06-08 | 1999-10-22 | Hewlett Packard Co | Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees |
US6108460A (en) * | 1996-01-02 | 2000-08-22 | Pixelfusion Limited | Load balanced image generation |
US6016542A (en) * | 1997-12-31 | 2000-01-18 | Intel Corporation | Detecting long latency pipeline stalls for thread switching |
WO1999056249A1 (en) * | 1998-04-27 | 1999-11-04 | Interactive Silicon, Inc. | Graphics system and method for rendering independent 2d and 3d objects |
US6198488B1 (en) | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
US6501471B1 (en) * | 1999-12-13 | 2002-12-31 | Intel Corporation | Volume rendering |
US6624817B1 (en) * | 1999-12-31 | 2003-09-23 | Intel Corporation | Symmetrical accelerated graphics port (AGP) |
US7358974B2 (en) * | 2001-01-29 | 2008-04-15 | Silicon Graphics, Inc. | Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video |
US7234144B2 (en) * | 2002-01-04 | 2007-06-19 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
JP4158413B2 (ja) * | 2002-05-22 | 2008-10-01 | ソニー株式会社 | 画像処理装置 |
US7200721B1 (en) * | 2002-10-09 | 2007-04-03 | Unisys Corporation | Verification of memory operations by multiple processors to a shared memory |
DE60238452D1 (de) * | 2002-10-15 | 2011-01-05 | Nokia Corp | Darstellung von Objekten durch Ausnutzung von Symmetrieeigenschaften der Objekte |
US7633506B1 (en) * | 2002-11-27 | 2009-12-15 | Ati Technologies Ulc | Parallel pipeline graphics system |
US7233335B2 (en) * | 2003-04-21 | 2007-06-19 | Nividia Corporation | System and method for reserving and managing memory spaces in a memory resource |
US6919908B2 (en) * | 2003-08-06 | 2005-07-19 | Ati Technologies, Inc. | Method and apparatus for graphics processing in a handheld device |
US7075541B2 (en) * | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US7239322B2 (en) * | 2003-09-29 | 2007-07-03 | Ati Technologies Inc | Multi-thread graphic processing system |
US7174436B1 (en) * | 2003-10-08 | 2007-02-06 | Nvidia Corporation | Method and system for maintaining shadow copies of data using a shadow mask bit |
US7139003B1 (en) * | 2003-12-15 | 2006-11-21 | Nvidia Corporation | Methods of processing graphics data including reading and writing buffers |
US7053901B2 (en) * | 2003-12-11 | 2006-05-30 | Nvidia Corporation | System and method for accelerating a special purpose processor |
US7460126B2 (en) * | 2004-08-24 | 2008-12-02 | Silicon Graphics, Inc. | Scalable method and system for streaming high-resolution media |
JP4637640B2 (ja) | 2005-05-16 | 2011-02-23 | 三菱電機株式会社 | 図形描画装置 |
JP3853829B1 (ja) * | 2005-10-31 | 2006-12-06 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、並列処理装置および排他制御方法 |
-
2006
- 2006-12-22 US US11/615,379 patent/US8207972B2/en active Active
-
2007
- 2007-12-20 CN CN2007800465859A patent/CN101563712B/zh active Active
- 2007-12-20 WO PCT/US2007/088386 patent/WO2008079984A1/en active Application Filing
- 2007-12-20 EP EP07869654.9A patent/EP2122575B1/en active Active
- 2007-12-20 CA CA002670646A patent/CA2670646A1/en not_active Abandoned
- 2007-12-20 KR KR1020097013029A patent/KR101071073B1/ko active IP Right Grant
- 2007-12-20 JP JP2009543223A patent/JP4981923B2/ja active Active
- 2007-12-21 TW TW096149610A patent/TW200841274A/zh unknown
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
CN102855122B (zh) * | 2011-05-25 | 2017-03-01 | Arm有限公司 | 用于处理数据的装置和方法 |
US9927882B2 (en) | 2011-05-25 | 2018-03-27 | Arm Limited | Processing pipeline control |
CN109118570B (zh) * | 2012-09-06 | 2023-04-18 | 想象技术有限公司 | 存储像素图像数据的方法、计算机图形系统和介质 |
CN109118570A (zh) * | 2012-09-06 | 2019-01-01 | 想象技术有限公司 | 用于部分帧缓冲区更新的系统和方法 |
CN103871020A (zh) * | 2012-12-17 | 2014-06-18 | Arm有限公司 | 图形处理系统中的隐藏面消除 |
CN103871020B (zh) * | 2012-12-17 | 2018-10-16 | Arm有限公司 | 图形处理系统中的隐藏面消除 |
US9779696B2 (en) | 2013-01-16 | 2017-10-03 | Intel Corporation | Serialized access to graphics resources |
CN103927223B (zh) * | 2013-01-16 | 2018-03-09 | 英特尔公司 | 用于对图形资源的串行化访问的方法、系统、装置、设备以及存储介质 |
US11113876B2 (en) | 2013-04-19 | 2021-09-07 | Huawei Technologies Co., Ltd. | Method for displaying a 3D scene graph on a screen |
CN105637563A (zh) * | 2013-04-19 | 2016-06-01 | 华为技术有限公司 | 在屏幕上显示3d场景图的方法 |
CN105637563B (zh) * | 2013-04-19 | 2019-01-08 | 华为技术有限公司 | 在屏幕上显示3d场景图的方法 |
CN105210111B (zh) * | 2013-05-31 | 2018-08-31 | 高通股份有限公司 | 基于每仓可见性信息以及添加的线内操作的渲染命令的条件性执行 |
CN105210111A (zh) * | 2013-05-31 | 2015-12-30 | 高通股份有限公司 | 基于每仓可见性信息以及添加的线内操作的渲染命令的条件性执行 |
CN106415668A (zh) * | 2014-06-30 | 2017-02-15 | 英特尔公司 | 用于减少的像素着色的技术 |
CN105488842B (zh) * | 2014-10-06 | 2021-02-02 | 想象技术有限公司 | 图形处理系统中的深度转发 |
US11080926B2 (en) | 2014-10-06 | 2021-08-03 | Imagination Technologies Limited | Using tiling depth information in hidden surface removal in a graphics processing system |
CN105488842A (zh) * | 2014-10-06 | 2016-04-13 | 想象技术有限公司 | 图形处理系统中的深度转发 |
US11682163B2 (en) | 2014-10-06 | 2023-06-20 | Imagination Technologies Limited | Using tiling depth information in hidden surface removal in a graphics processing system |
CN107148619A (zh) * | 2014-11-15 | 2017-09-08 | 英特尔公司 | 用于多线程图形流水线的自由排序线程模型 |
CN107148619B (zh) * | 2014-11-15 | 2021-04-27 | 英特尔公司 | 用于多线程图形流水线的自由排序线程模型 |
CN107223264A (zh) * | 2016-12-26 | 2017-09-29 | 深圳前海达闼云端智能科技有限公司 | 一种渲染方法及装置 |
CN108664420A (zh) * | 2017-03-28 | 2018-10-16 | 慧与发展有限责任合伙企业 | 共享式永久存储器的基于容量的锁定和访问 |
CN108664420B (zh) * | 2017-03-28 | 2022-07-08 | 慧与发展有限责任合伙企业 | 共享式永久存储器的基于容量的锁定和访问 |
CN111048037A (zh) * | 2018-10-12 | 2020-04-21 | 联咏科技股份有限公司 | 子像素渲染数据转换设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20090082512A (ko) | 2009-07-30 |
EP2122575A1 (en) | 2009-11-25 |
JP4981923B2 (ja) | 2012-07-25 |
WO2008079984A1 (en) | 2008-07-03 |
TW200841274A (en) | 2008-10-16 |
US20080150949A1 (en) | 2008-06-26 |
CN101563712B (zh) | 2013-03-27 |
KR101071073B1 (ko) | 2011-10-10 |
CA2670646A1 (en) | 2008-07-03 |
JP2010515122A (ja) | 2010-05-06 |
US8207972B2 (en) | 2012-06-26 |
EP2122575B1 (en) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101563712B (zh) | 快速像素渲染处理 | |
CN101578629B (zh) | 三维图形管线的自动负载平衡 | |
Wei | Parallel Poisson disk sampling | |
JP5336067B2 (ja) | グラフィックスを処理する方法および装置 | |
US20190087143A1 (en) | Graphics Engine And Environment For Efficient Real Time Rendering Of Graphics That Are Not Pre-Known | |
CN1333375C (zh) | 三维图像处理 | |
US8928694B2 (en) | Image Processing apparatus receiving editing operation, image display device, and image processing method thereof | |
US8564590B2 (en) | Imparting three-dimensional characteristics in a two-dimensional space | |
Limberger et al. | Advanced visual metaphors and techniques for software maps | |
WO2016040538A1 (en) | Convex polygon clipping during rendering | |
CN108090943A (zh) | 渲染曲线的方法、装置和系统 | |
KR101680672B1 (ko) | 텍스쳐 효과 제공방법 및 이를 적용한 디스플레이 장치 | |
CN103559726A (zh) | 一种地图配色方法及着色器 | |
KR101532846B1 (ko) | 컨텐츠 보존 와프를 이용한 인터페이스들의 재형상화 | |
Talgorn et al. | Real-time sketch-based terrain generation | |
JP2007087283A (ja) | 図形描画装置及び図形描画プログラム | |
CN101145246A (zh) | 一种产生体积阴影的方法及系统 | |
Paluszek et al. | MATLAB graphics | |
James et al. | ViCMA: Visual Control of Multibody Animations | |
Torim et al. | Sorting concepts by priority using the theory of monotone systems | |
JP2001512602A (ja) | 物体の2次元画像のシェーディングにより物体の3次元形状をモデル化するシステムおよびコンピュータによるその実現方法 | |
Zhou et al. | OVIE: Object oriented and vector based image editing | |
JPH0567218A (ja) | 画素座標計算装置及びそれを用いた画像生成装置 | |
JP2006244347A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |