CN105224325A - 渲染方法和装置 - Google Patents
渲染方法和装置 Download PDFInfo
- Publication number
- CN105224325A CN105224325A CN201510642923.1A CN201510642923A CN105224325A CN 105224325 A CN105224325 A CN 105224325A CN 201510642923 A CN201510642923 A CN 201510642923A CN 105224325 A CN105224325 A CN 105224325A
- Authority
- CN
- China
- Prior art keywords
- module
- stream object
- data
- rendering
- rendered
- 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
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及一种渲染方法和装置,其中该一种渲染方法包括主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象;所述高性能模块根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象;所述主模块向渲染模块发送所述第二数据流对象,由所述渲染模块根据所述待渲染数据执行所述渲染任务。通过利用高性能模块对待处理数据进行快速处理并生成待渲染数据,再通过主模块将待渲染数据提供给渲染模块进行渲染,能够快速处理渲染过程中的部分数据,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种渲染方法和装置。
背景技术
ActionScript3.0(以下简称AS3)是一种强大的面向对象编程语言,是FLASH的编程语言,能够构建效果丰富的互联网应用程序,这种应用程序是Web体验的重要部分。但是由于AS3需要运行在虚拟机中等原因,导致其天生性能就不如C/C++。Stage3D(threedimensional,三维)是Adobe最近发布的新的FLASHAPI(ApplicationProgrammingInterface,应用程序编程接口),致力于实时3D渲染。使用Stage3D,可以在FLASH中充分利用计算机中GPU(GraphicsProcessingUnit,图形处理器)的硬件加速能力。
在游戏中可以将一个3D场景定义为一组3D几何体(网格)。每个几何体又细分为一组三角形,每一个三角形又由一系列的顶点组成,并添加相关的渲染信息如纹理或者顶点颜色。由于在画面中显示一个三角形需要3个点的数据,可以将3个点的坐标值上传到Stage3D,并指定其渲染顺序,Stage3D即可执行剩余的渲染操作。因此,对于3D大型游戏或者虚拟现实项目可能有很多场景,一个场景有很多物体需要提供纹理贴图或者顶点颜色等渲染操作,因此,计算机需要处理的数据量非常庞大,尤其是在全景视频等场景中。为了符合项目要求可能还要对这些数据做一些特殊处理,使得数据处理工作更加复杂。
目前,通常是通过AS3对这些数据进行处理,然后交给Stage3D进行3D渲染,而交给Stage3D处理之前,AS3处理这些数据耗费大量的时间,常使得3D渲染的画面更新不及时,出现卡顿,帧率降低,甚至出现浏览器瘫痪等问题。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何加快渲染中的数据处理速度,从而提高渲染效果。
解决方案
为了解决上述技术问题,本发明提供一种渲染方法,包括:
主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象;
所述高性能模块根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象;
所述主模块向渲染模块发送所述第二数据流对象,由所述渲染模块根据所述待渲染数据执行所述渲染任务。
对于上述渲染方法,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为同一个数据流对象,所述高性能模块向所述主模块回传包括所述待渲染数据的第二数据流对象包括:
所述高性能模块将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块。
对于上述渲染方法,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为不同的数据流对象,所述高性能模块向所述主模块回传包括所述待渲染数据的第二数据流对象包括:
所述高性能模块将所述待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块。
对于上述渲染方法,在一种可能的实现方式中,还包括:
预先设置多种渲染任务对应的快速处理代码;
对各所述快速处理代码进行编译,分别生成对应的高性能模块及其接口模块。
对于上述渲染方法,在一种可能的实现方式中,主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象,包括:
在判断所述渲染任务的为复杂任务的情况下,所述主模块通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块发送包括所述待处理数据的所述第一数据流对象。
为了解决上述技术问题,本发明提供一种渲染装置,包括:
主模块,用于根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象;
多个高性能模块,与所述主模块连接,各所述高性能模块用于在接收到所述主模块发送的所述第一数据流对象后,根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象;
渲染模块,与所述主模块连接,用于从所述主模块接收所述第二数据流对象,并根据所述待渲染数据执行所述渲染任务。
对于上述渲染装置,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为同一个数据流对象,所述高性能模块包括:
接收单元,与所述主模块连接,用于接收所述主模块发送的所述第一数据流对象;
处理单元,与所述接收单元连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元,与所述处理单元和所述主模块分别连接,用于将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块。
对于上述渲染装置,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为不同的数据流对象,所述高性能模块包括:
接收单元,与所述主模块连接,用于接收所述主模块发送的所述第一数据流对象;
处理单元,与所述接收单元连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元,与所述处理单元和所述主模块分别连接,用于将所述待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块。
对于上述渲染装置,在一种可能的实现方式中,还包括:
代码生成模块,用于预先设置多种渲染任务对应的快速处理代码;
编译模块,与所述代码生成模块连接,用于对各所述快速处理代码进行编译,分别生成对应的高性能模块及其接口模块。
对于上述渲染装置,在一种可能的实现方式中,所述主模块具体用于在判断所述渲染任务的为复杂任务的情况下,通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块发送包括所述待处理数据的所述第一数据流对象。
有益效果
本实施例的渲染方法,利用高性能模块对待处理数据进行快速处理并生成待渲染数据,再通过主模块将待渲染数据提供给渲染模块进行渲染,能够快速处理渲染过程中的部分数据,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的渲染方法的流程图;
图2示出根据本发明另一实施例的渲染方法的流程图;
图3示出根据本发明另一实施例的渲染方法中需要处理的原始图;
图4示出根据本发明另一实施例的渲染方法中渲染效果的示意图;
图5示出根据本发明另一实施例的渲染方法中采用AS3直接处理数据的运行结果示意图;
图6示出根据本发明另一实施例的渲染方法中采用C/C++模块处理数据的运行结果示意图;
图7示出根据本发明一实施例的渲染装置的结构框图;
图8示出根据本发明一实施例的渲染装置中采用同一数据流对象的结构框图;
图9示出根据本发明一实施例的渲染装置中采用同一数据流对象的结构框图;
图10示出根据本发明另一实施例的渲染装置的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
由于早期计算机生成的三维图像看起来像发亮的塑料,缺乏各种纹路,如磨损、裂痕、指纹和污渍等纹理,使得三维图像缺乏真实感。开发人员通常采用纹理等渲染操作来增强计算机生成的三维图像的真实感。在计算机图形学中,“纹理”通常是指一张表示物体表面细节的位图。举例而言,Direct3D中所有纹理都是位图,可以把任何位图贴到Direct3D图元的表面。例如,应用程序可以创建物体并使它们的表面看起来有木纹的样式。可以把草、泥土和岩石等纹理贴在构成山的图元的表面,得到看起来很真实的山坡。应用程序也可以用纹理创建其它的效果,如:路边的路标,悬崖边的岩层,或是地面上的大理石。另外,Direct3D支持更高级的纹理技术,如纹理混合(包含或不含透明度)和光照贴图。
但是,受限于AS3语言本身的弱点,计算和处理大量纹理数据的性能与C/C++语言相比效率相差很远,可能导致画面更新不及时,卡顿,帧率降低等。因此,本发明实施例中,采用C/C++等实现数据处理速度较快的高性能模块,来完成比较耗费性能的大量计算、图像处理等复杂操作的程序任务(复杂任务),并且将处理后的数据结果(待渲染数据)回传给AS3,与采用AS3直接处理大量数据的方式相比,从而大幅提高数据处理速度,得到更好的渲染效果。
图1示出根据本发明一实施例的渲染方法的流程图。如图1所示,该渲染方法主要可以包括:
步骤101、主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象。
其中,主模块例如AS3可以根据开发人员的操作,确定需要执行的渲染任务。一个场景中需要执行的渲染任务可以有多种。具体的渲染任务的确定与开发人员所要实现的显示效果有关,例如设置粒子颜色、生成花瓣随机飘落的效果、生成飞机路径示意图的效果等。其中,可以预先生成多个高性能模块,每个高性能模块能够对应执行一个渲染任务所需要的数据处理操作,例如利用贝塞尔曲线、曲线方程、正弦余弦等数学公式对待处理数据进行计算。
因此,在步骤101之前,该渲染方法还可以包括:预先设置多种渲染任务对应的快速处理代码;对各所述快速处理代码进行编译,分别生成对应的高性能模块及其接口模块。举例而言,高性能模块可以采用数据处理速度更快的C/C++来实现。例如采用C/C++编写的各种渲染任务的程序,并采用编译工具将编写的C/C++程序编译生成AS3能够读取的swc文件,从而实现某一渲染任务所需要高性能模块进行的数据处理操作。
此外,根据渲染任务的复杂程度的不同,开发人员可以选择是直接采用AS3处理该渲染任务的数据,还是采用C/C++处理该渲染任务的数据。因此,步骤101具体可以包括:在判断所述渲染任务的为复杂任务的情况下,所述主模块通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块发送包括所述待处理数据的所述第一数据流对象。
其中,判断渲染任务是否为复杂任务,可以有多种方法。举例而言,对于某一渲染任务,开发人员可以预先采用AS3和C/C++分别编写对应的代码,然后测试两种代码的数据处理速度、CPU占用率、帧率等性能指标,如果C/C++代码的总体性能优于AS3代码,并超过一定阈值,例如:C/C++代码的数据处理速度为AS3代码的4至10倍,则可以认为该渲染任务采用C/C++代码会性能更优,为复杂任务。这时,可以由开发人员决定采用C/C++代码来实现该渲染任务,也可以由AS3自动选择采用C/C++代码来实现该渲染任务,并向由C++代码生成的高性能模块发送包括待处理数据的第一数据流对象。
步骤102、高性能模块根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象。
具体而言,高性能模块接收到该第一数据流对象后,可以对该第一数据流对象中的待处理数据进行快速处理。然后将处理结果作为待渲染数据,通过第二数据流对象回传给主模块。
其中,第一数据流对象可以为同一个数据流对象,也可以为不同的数据流对象。具体可以分为以下方式:
方式一、第一数据流对象与第二数据流对象为同一个数据流对象,这种情况下,高性能模块可以在第一数据流对象内对待处理数据进行快速处理并生成待渲染数据,然后将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块。在这种情况下,不用创建新对象,可以不用开辟新内存,不会增加对内存的占用。
方式二、第一数据流对象与所述第二数据流对象为不同的数据流对象,这种情况下,高性能模块对待处理数据进行快速处理并生成待渲染数据后,可以将所生成的待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块。
步骤103、主模块向渲染模块发送所述第二数据流对象,由所述渲染模块根据所述待渲染数据执行所述渲染任务。
举例而言,AS3模块可以将包括待渲染数据的第二数据流对象发送给Stage3D,由Stage3D利用电脑的GPU来执行具体的渲染操作。
本实施例的渲染方法,利用高性能模块对待处理数据进行快速处理并生成待渲染数据,再通过主模块将待渲染数据提供给渲染模块进行渲染,能够快速处理渲染过程中的部分数据,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。对于复杂任务的画面显示效果提升更加明显。
进一步地,如果在同一个数据流对象内进行快速处理并生成待渲染数据,可以不创建新数据流对象,可以不用开辟新内存,从而不增加应用程序的内存占用量。
实施例2
图2示出根据本发明另一实施例的渲染方法的流程图。在本实施例中,主模块为AS3,高性能模块为采用C/C++代码生成的C/C++模块,渲染模块为Stage3D,其中,AS3、C/C++模块、Stage3D仅是对本发明渲染方法的实现过程进行示例说明,具体实现时也可能采用其他渲染工具。该渲染方法具体可以包括以下步骤:
步骤201、采用C/C++工具编写需要的各种渲染任务的程序代码。
步骤202、利用编译工具例如CrossBridge将C/C++代码(快速处理代码的示例)编译成AS3能够读取的swc文件,供AS3调用。swc文件中包括能够实现某一渲染任务的C/C++模块(高性能模块)及其函数接口(接口模块)。
其中,CrossBridge是AdobeFlasCC的开源版本,它提供了一个完整的C/C++开发环境,能够把C/C++代码编译成FLASH程序,运行于FLASHRuntime之上。CrossBridge也可以把C/C++代码编译成swc文件供AS3调用。
步骤203、AS3调用由编译而成的swc文件中提供的函数接口,将包括待处理数据的数据流对象传给C/C++模块进行数据处理。
步骤204、C/C++模块可以对该待处理数据进行相应的运算和处理,得到待渲染数据。
步骤205、C/C++模块处理完数据后,通过swc文件中的函数接口,将已经写入待渲染数据的数据流对象返回给AS3。
步骤206、AS3将C/C++模块处理后的数据流对象上传给Stage3D(渲染模块)进行渲染。
举例而言,假设渲染任务是使用随机颜色数据填充矩形,使矩形像素值改变,图3为需要处理的原始图,待处理数据可以为该黑色矩形的图像数据(简称矩形图像数据),通过数据流对象将矩形图像数据发送给C/C++模块,该C/C++模块通过嵌套循环等算法计算出一系列像素数据。C/C++模块再将计算出来的像素数据写入矩形图像数据,例如:进行锁定矩形图像数据、设置矩形图像数据的像素值、解除矩形图像数据锁定等一系列操作。C/C++模块再将写入像素数据后的矩形图像数据作为待渲染数据(可以同样通过数据流对象)发送给AS3,由AS3将待渲染数据上传给Stage3D进行硬件加速渲染,渲染效果如图4所示。
下面比较本实施例与现有技术的应用程序的运行帧率。如图5所示为采用AS3直接处理数据的应用程序的运行结果示意图,如图6所示为采用C/C++模块处理数据的应用程序的运行结果示意图,采用C/C++模块的帧率可以达到35FPS(FramesperSecond,每秒显示帧数),比采用AS3直接处理的帧率8FPS快了4倍多。
本实施例的渲染方法,利用C/C++模块向AS3提供待渲染数据,再由AS3将待渲染数据提供给FLASH的Stage3D进行渲染的方案,能够采用C/C++模块处理部分数据,可以加快渲染中的数据处理速度,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。对于复杂任务的画面显示效果提升更加明显。
进一步地,如果C/C++模块操作的是AS3中产生的同一个数据流对象,而不在C/C++模块中创建新实例,则可以不用开辟新内存,从而不增加应用程序的内存占用量。
实施例3
图7示出根据本发明一实施例的渲染装置的结构框图。如图7所示,该渲染装置包括:
主模块71,用于根据需要执行的渲染任务向对应的高性能模块73发送包括待处理数据的第一数据流对象;
多个高性能模块73,与所述主模块71连接,各所述高性能模块73用于在接收到所述主模块71发送的所述第一数据流对象后,根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块71回传包括所述待渲染数据的第二数据流对象;
渲染模块75,与所述主模块71连接,用于从所述主模块71接收所述第二数据流对象,并根据所述待渲染数据执行所述渲染任务。
如图8所示,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为同一个数据流对象,所述高性能模块73包括:
接收单元81,与所述主模块71连接,用于接收所述主模块71发送的所述第一数据流对象;
处理单元83,与所述接收单元81连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元85,与所述处理单元83和所述主模块71分别连接,用于将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块71。
如图9所示,在一种可能的实现方式中,所述第一数据流对象与所述第二数据流对象为不同的数据流对象,所述高性能模块73包括:
接收单元91,与所述主模块71连接,用于接收所述主模块71发送的所述第一数据流对象;
处理单元93,与所述接收单元91连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元95,与所述处理单元93和所述主模块71分别连接,用于将所述待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块71。
本实施例的渲染装置可以执行上述实施例中的任意一种渲染方法,利用高性能模块对待处理数据进行快速处理并生成待渲染数据,再通过主模块将待渲染数据提供给渲染模块进行渲染,能够快速处理渲染过程中的部分数据,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。对于复杂任务的画面显示效果提升更加明显。
进一步地,如果在同一个数据流对象内进行快速处理并生成待渲染数据,可以不创建新数据流对象,可以不用开辟新内存,从而不增加应用程序的内存占用量。
实施例4
图10示出根据本发明另一实施例的渲染装置的结构框图。图10与图7、图8、图9相同的标号具有相同的含义,与上一实施例的主要区别在于,该渲染装置还可以包括:
代码生成模块77,用于预先设置多种渲染任务对应的快速处理代码;
编译模块79,与所述代码生成模块77连接,用于对各所述快速处理代码进行编译,分别生成对应的高性能模块73及其接口模块。
在一种可能的实现方式中,所述主模块71具体用于在判断所述渲染任务的为复杂任务的情况下,通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块73发送包括所述待处理数据的所述第一数据流对象。高性能模块73的接收单元和回传单元通过接口模块与主模块交互。
本实施例的渲染装置可以执行上述实施例中的任意一种渲染方法,通过代码生成模块和编译模块预先生成各种渲染任务对应高性能模块及其接口模块,利用高性能模块对待处理数据进行快速处理并生成待渲染数据,再通过主模块将待渲染数据提供给渲染模块进行渲染,能够快速处理渲染过程中的部分数据,并且不会增加应用程序的内存占用量,从而提高应用程序的性能比如帧率提高,使得画面显示更流畅。对于复杂任务的画面显示效果提升更加明显。
进一步地,如果在同一个数据流对象内进行快速处理并生成待渲染数据,可以不创建新数据流对象,可以不用开辟新内存,从而不增加应用程序的内存占用量。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种渲染方法,其特征在于,包括:
主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象;
所述高性能模块根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象;
所述主模块向渲染模块发送所述第二数据流对象,由所述渲染模块根据所述待渲染数据执行所述渲染任务。
2.根据权利要求1所述的方法,其特征在于,所述第一数据流对象与所述第二数据流对象为同一个数据流对象,所述高性能模块向所述主模块回传包括所述待渲染数据的第二数据流对象包括:
所述高性能模块将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块。
3.根据权利要求1所述的方法,其特征在于,所述第一数据流对象与所述第二数据流对象为不同的数据流对象,所述高性能模块向所述主模块回传包括所述待渲染数据的第二数据流对象包括:
所述高性能模块将所述待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
预先设置多种渲染任务对应的快速处理代码;
对各所述快速处理代码进行编译,分别生成对应的高性能模块及其接口模块。
5.根据权利要求4所述的方法,其特征在于,主模块根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象,包括:
在判断所述渲染任务的为复杂任务的情况下,所述主模块通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块发送包括所述待处理数据的所述第一数据流对象。
6.一种渲染装置,其特征在于,包括:
主模块,用于根据需要执行的渲染任务向对应的高性能模块发送包括待处理数据的第一数据流对象;
多个高性能模块,与所述主模块连接,各所述高性能模块用于在接收到所述主模块发送的所述第一数据流对象后,根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据,并向所述主模块回传包括所述待渲染数据的第二数据流对象;
渲染模块,与所述主模块连接,用于从所述主模块接收所述第二数据流对象,并根据所述待渲染数据执行所述渲染任务。
7.根据权利要求6所述的装置,其特征在于,所述第一数据流对象与所述第二数据流对象为同一个数据流对象,所述高性能模块包括:
接收单元,与所述主模块连接,用于接收所述主模块发送的所述第一数据流对象;
处理单元,与所述接收单元连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元,与所述处理单元和所述主模块分别连接,用于将包括所述待渲染数据的所述第一数据流对象作为所述第二数据流对象回传给所述主模块。
8.根据权利要求6所述的装置,其特征在于,所述第一数据流对象与所述第二数据流对象为不同的数据流对象,所述高性能模块包括:
接收单元,与所述主模块连接,用于接收所述主模块发送的所述第一数据流对象;
处理单元,与所述接收单元连接,用于根据所述渲染任务对所述待处理数据进行快速处理得到待渲染数据;
回传单元,与所述处理单元和所述主模块分别连接,用于将所述待渲染数据写入新创建的第二数据流对象,并将所述第二数据流对象回传给所述主模块。
9.根据权利要求6至8中任一项所述的装置,其特征在于,还包括:
代码生成模块,用于预先设置多种渲染任务对应的快速处理代码;
编译模块,与所述代码生成模块连接,用于对各所述快速处理代码进行编译,分别生成对应的高性能模块及其接口模块。
10.根据权利要求9所述的装置,其特征在于,所述主模块具体用于在判断所述渲染任务的为复杂任务的情况下,通过与所述渲染任务对应的接口模块,向与所述渲染任务对应的高性能模块发送包括所述待处理数据的所述第一数据流对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642923.1A CN105224325B (zh) | 2015-09-30 | 2015-09-30 | 渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642923.1A CN105224325B (zh) | 2015-09-30 | 2015-09-30 | 渲染方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224325A true CN105224325A (zh) | 2016-01-06 |
CN105224325B CN105224325B (zh) | 2019-03-12 |
Family
ID=54993322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510642923.1A Expired - Fee Related CN105224325B (zh) | 2015-09-30 | 2015-09-30 | 渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224325B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445760A (zh) * | 2018-10-08 | 2019-03-08 | 武汉联影医疗科技有限公司 | 图像渲染方法和系统 |
CN111491059A (zh) * | 2020-04-09 | 2020-08-04 | 上海众链科技有限公司 | 图像渲染增强系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158524A (zh) * | 2010-12-30 | 2011-08-17 | 北京像素软件科技股份有限公司 | 一种基于渲染的分布式行为控制系统 |
CN102592315A (zh) * | 2011-01-12 | 2012-07-18 | 上海库达数字信息技术有限公司 | 基于gpu云集群的3d渲染平台 |
CN103391414A (zh) * | 2013-07-24 | 2013-11-13 | 杭州趣维科技有限公司 | 一种应用于手机平台的视频处理装置及处理方法 |
CN103871103A (zh) * | 2014-04-02 | 2014-06-18 | 成都信息工程学院 | Gis数据的三维实时渲染方法 |
CN104702931A (zh) * | 2013-12-06 | 2015-06-10 | 无锡韩光电器有限公司 | 立体渲染数据处理系统及方法 |
-
2015
- 2015-09-30 CN CN201510642923.1A patent/CN105224325B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158524A (zh) * | 2010-12-30 | 2011-08-17 | 北京像素软件科技股份有限公司 | 一种基于渲染的分布式行为控制系统 |
CN102592315A (zh) * | 2011-01-12 | 2012-07-18 | 上海库达数字信息技术有限公司 | 基于gpu云集群的3d渲染平台 |
CN103391414A (zh) * | 2013-07-24 | 2013-11-13 | 杭州趣维科技有限公司 | 一种应用于手机平台的视频处理装置及处理方法 |
CN104702931A (zh) * | 2013-12-06 | 2015-06-10 | 无锡韩光电器有限公司 | 立体渲染数据处理系统及方法 |
CN103871103A (zh) * | 2014-04-02 | 2014-06-18 | 成都信息工程学院 | Gis数据的三维实时渲染方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445760A (zh) * | 2018-10-08 | 2019-03-08 | 武汉联影医疗科技有限公司 | 图像渲染方法和系统 |
CN109445760B (zh) * | 2018-10-08 | 2022-08-23 | 武汉联影医疗科技有限公司 | 图像渲染方法和系统 |
CN111491059A (zh) * | 2020-04-09 | 2020-08-04 | 上海众链科技有限公司 | 图像渲染增强系统及方法 |
CN111491059B (zh) * | 2020-04-09 | 2021-08-10 | 上海众链科技有限公司 | 图像渲染增强系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105224325B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI584223B (zh) | 藉由追蹤物件及/或基元識別符的圖形處理增強之方法及系統,圖形處理單元及非暫時性電腦可讀媒體 | |
CN103946895B (zh) | 基于平铺块的呈现中的镶嵌方法和设备 | |
US8325177B2 (en) | Leveraging graphics processors to optimize rendering 2-D objects | |
US11348308B2 (en) | Hybrid frustum traced shadows systems and methods | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
JP2017188095A (ja) | 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット | |
CN104331918A (zh) | 基于深度图实时绘制室外地表遮挡剔除以及加速方法 | |
CN113947657B (zh) | 目标模型的渲染方法、装置、设备及存储介质 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN107369200A (zh) | 一种3d场景特效处理方法及存储设备 | |
CN106204703A (zh) | 三维场景模型渲染方法和装置 | |
CN111091620A (zh) | 基于图形学的地图动态路网处理方法及系统、计算机设备 | |
CN105224325A (zh) | 渲染方法和装置 | |
Nah et al. | MobiRT: an implementation of OpenGL ES-based CPU-GPU hybrid ray tracer for mobile devices | |
CN111583378A (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
KR101680174B1 (ko) | 3차원 모델로부터 색칠공부도안 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
JP2008282170A (ja) | グラフィックスプロセッサ、描画処理装置および描画処理方法 | |
JP2014219739A (ja) | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 | |
Yu | Efficient visibility processing for projective texture mapping | |
KR101281156B1 (ko) | 레이 트레이싱 코어 및 레이 트레이싱 처리 방법 | |
Yang et al. | A Fire Escape Simulation System Based on the Dijkstra Algorithm. | |
Ma et al. | Rasterization of geometric primitive in graphics based on FPGA | |
Hempe et al. | Generation and rendering of interactive ground vegetation for real-time testing and validation of computer vision algorithms | |
Xia et al. | Real-Time LOD Rendering of Tire Tracks in Dynamic Terrain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200511 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 200241, room 2, floor 02, building 555, Dongchuan Road, Minhang District, Shanghai Patentee before: Transmission network technology (Shanghai) Co., Ltd |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190312 Termination date: 20200930 |