CN113112579A - 渲染方法、装置、电子设备和计算机可读存储介质 - Google Patents

渲染方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN113112579A
CN113112579A CN202110393595.1A CN202110393595A CN113112579A CN 113112579 A CN113112579 A CN 113112579A CN 202110393595 A CN202110393595 A CN 202110393595A CN 113112579 A CN113112579 A CN 113112579A
Authority
CN
China
Prior art keywords
rendering
execution unit
information
rendering engine
model
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
Application number
CN202110393595.1A
Other languages
English (en)
Inventor
朱江
王宁
曹荣龙
陈强
刘宜猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kq Geo Technologies Co ltd
Original Assignee
Kq Geo Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kq Geo Technologies Co ltd filed Critical Kq Geo Technologies Co ltd
Priority to CN202110393595.1A priority Critical patent/CN113112579A/zh
Publication of CN113112579A publication Critical patent/CN113112579A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)

Abstract

本申请提出一种渲染方法、装置、电子设备和计算机可读存储介质,其中,渲染方法包括:获取待渲染模型的模型数据以及渲染参数;根据待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及渲染任务的执行单元;获取执行单元的环境信息;从预设的渲染引擎库中选取与执行单元的环境信息相匹配的渲染引擎;在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理执行单元的渲染任务,得到渲染结果。本申请有利于提高渲染效率,提升用户体验。

Description

渲染方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种渲染方法、装置、电子设备和计算机可读存储介质。
背景技术
近年来,我国涌现了众多具有自主知识产权的基础软硬件产品,这给三维地理信息***(Geographic Information System,GIS)渲染引擎带来了更多的使用环境。申请人发现,在将渲染引擎运用至更多的使用环境时,可能会出现当用户来处理光栅化时,用户界面线程繁忙,渲染引擎出现未响应之类的问题,从而导致渲染引擎的运行速度慢,用户体验差。
发明内容
本申请实施例提供一种渲染方法、装置、电子设备和计算机可读存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种渲染方法,包括:
获取待渲染模型的模型数据以及渲染参数;
根据待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及渲染任务的执行单元;
获取执行单元的环境信息;
从预设的渲染引擎库中选取与执行单元的环境信息相匹配的渲染引擎;
在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理执行单元的渲染任务,得到渲染结果。
第二方面,本申请实施例提供了一种渲染装置,包括:
模型数据获取模块,用于获取待渲染模型的模型数据以及渲染参数;
渲染任务确定模块,用于根据待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及渲染任务的执行单元;
环境信息获取模块,用于获取执行单元的环境信息;
渲染引擎确定模块,用于从预设的渲染引擎库中选取与执行单元的环境信息相匹配的渲染引擎;
渲染模块,用于在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理执行单元的渲染任务,得到渲染结果。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:在执行渲染任务的过程中能够屏蔽不同环境差异带来的影响,提高渲染引擎的运行速度,提升用户体验。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请实施例所提供的渲染方法的流程图一;
图2为本申请实施例所提供的渲染方法的流程图二;
图3为本申请实施例所提供的三维地理信息***平台的结构框图;
图4为本申请实施例所提供的渲染装置的结构框图;
图5为本申请实施例所提供的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本申请实施例的渲染方法的流程图。如图1所示,该渲染方法可以包括:
S101,获取待渲染模型的模型数据以及渲染参数。
S102,根据待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及渲染任务的执行单元。
S103,获取执行单元的环境信息。
S104,从预设的渲染引擎库中选取与执行单元的环境信息相匹配的渲染引擎。
S105,在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理执行单元的渲染任务,得到渲染结果。
其中,本申请实施例方案可以由计算机执行,计算机包括至少一个用于执行渲染任务的执行单元,如中央处理器(central processing unit,CPU)和图形处理器(GraphicsProcessing Unit,GPU)等。
其中,步骤S101中,模型参数可以包括模型的几何数据和材质数据;其中几何数据包括场景中各个顶点坐标、法向量、纹理坐标以及面片的组织形式等三角面片的数据;材质数据包括材质漫反射系数、镜面反射系数、环境光的漫反射系数以及纹理贴图等。
其中,步骤S101中,渲染参数可以包括设置光源的位置、视角、视点的位置等参数。此外,步骤S101还可以获取生成图形的像素值等初始图像数据。
其中,步骤S102中,可以根据渲染任务的执行逻辑,确定渲染任务对应的执行单元,一个执行单元可以执行至少一个渲染任务。
其中,步骤S103中,执行单元的环境信息可以包括执行单元的软件信息和硬件信息中的至少一项信息。
其中,步骤S104中,预设的渲染引擎库包括多个渲染引擎。此外,可以预先建立并存储预设渲染引擎与环境信息的映射表,基于该映射表,可以找到与执行单元的环境信息相匹配的渲染引擎。其中,步骤S104中,渲染引擎可以是三维地理信息***(GeographicInformation System,GIS)渲染引擎,用于实现三维地理模型的渲染。
其中,步骤S105中,渲染引擎可以计算得到待渲染模型每个点的光照强度等图片信息。计算机利用图片信息,得到模型渲染的最终效果图。具体地,对渲染引擎渲染生成的原始帧图,按照流化(即帧的原始编号,原始编号根据帧在场景中的时间顺序确定)进行整合和排序,输出排序的原始帧图,生成最终效果图。
本申请实施例根据不同的使用环境,从渲染引擎库中选择与环境相适应的渲染引擎,作为执行渲染任务的渲染引擎,渲染引擎在执行渲染任务的过程中能够屏蔽不同环境差异带来的影响,提高渲染引擎的运行速度,提升用户体验。实现了渲染引擎在的更多使用环境下的生产、开发、应用等需求。
一种应用,近年来我国涌现了众多具有自主知识产权的软硬件产品,例如各种通用芯片和操作***。但是,在将相同渲染引擎应用在以这些软硬件产品为基础的不同国产环境时,可能在对渲染逻辑和规则进行应用、处理对渲染的输入、以及向用户呈现渲染效果等环节出现问题,例如当由用户来处理光栅化时,更新时用户界面线程繁忙,渲染引擎出现未响应,这是因为在不同的环境下,容易出现当前的任务完成后才能进行光栅化;对应用内容进行渲染以供显示主要有中央处理器、图形处理器以及操作***等进行实现,应用的部分渲染工作还未被实现时,渲染引擎可能被视为未响应。上述问题导致渲染引擎的运行速度较慢,用户的使用体验较差。因此,采用本申请实施例提供的方案,使得执行渲染任务的渲染引擎可以自适应各种使用环境,屏蔽不同使用环境差异带来的影响,提高渲染引擎的运行速度,提升用户体验。
在一种实施方式中,执行单元的环境信息包括:执行单元的硬件信息和操作***信息。
如此,考虑执行单元的硬件信息和操作***信息使得执行渲染任务的渲染引擎可以自适应各种软硬件环境,屏蔽不同软硬件环境差异带来的影响。
在一种实施方式中,步骤S104,包括:确定与执行单元的环境信息相匹配的配置信息,配置信息包括指令集信息、字节序大小端信息、开放图形库(Open Graphics Library,OpenGL)版本信息、软件配置管理(Software configuration management,SCM)信息、线程通讯信息、网络模型信息、数据库字符集信息或大小写区分限制信息中的至少一项。根据配置信息,从预设的渲染引擎库中选取与配置信息匹配的渲染引擎,作为与执行单元的环境信息相匹配的渲染引擎。
如此,能够根据各种配置信息,解决不同硬件平台的中央处理器指令集差异、字节序大小端不统一、开放图形库版本差异、软件配置管理管理差异、线程通讯差异、网络模型差异、数据库字符集差异、大小写区分限制等问题。根据国产化环境的特点,提出了自适应模板库,降低了对不同软硬件适配的难度。
在一种实施方式中,本实施例的渲染方法还包括步骤:由执行单元根据模型数据,确定用于构建待渲染模型的数据结构;对应地,步骤S105包括:在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎根据执行单元对应的数据结构,处理渲染任务,得到渲染结果。
如此,对光线追踪渲染时,依据模型的数据结构,可以迅速搜索模型中相应的点完成渲染操作,提高渲染效率。
在一种示例中,数据结构包括区域树形(Range tree)数据结构,区域树形数据结构包括多个节点,节点至少包括待渲染模型中一个区域内的三角面片。如此,可以迅速搜索到模型在相应区域内的点集。以二维区域树形数据结构为例,在一个二维平面上模型有很多点,每个点都有第一坐标x和第二坐标y。假设查询在区域[x1,x2]×[y1,y2]范围内的所有点,一般是先将数据点预处理成一棵树,然后通过对数中点集的查找来实现。针对二维平面,可以将点沿x坐标建立一棵树,再将每个节点的子树按照y坐标再建立一棵树,从而构成二维区域树形数据结构。
在一种示例中,构建待渲染模型的数据结构的过程可以包括:由不同的执行单元构建数据结构中的不同部分,得到完整的区域树形数据结构。
在一种实施方式中,执行单元包括中央处理器和图形处理器中的至少一个。如此,可以由中央处理器和图形处理器处理不同的渲染任务,然后实时联动输出渲染效果,提高渲染效率。
在一种示例中,步骤S201中确定中央处理器和图形处理器各自的渲染任务的方式包括:将渲染任务分为逻辑连续型渲染任务和并行渲染任务,将逻辑连续型渲染任务发送给中央处理器串行处理,将并行渲染任务发送给图形处理器进行并行运算处理。如此,通过中央处理器与图形处理器渲染结果的实时联动可以输出渲染生成的原始帧图,合理利用中央处理器和图形处理器的计算能力,提高渲染效率。
在一种示例中,由中央处理器和图像处理器共同构建数据结构的方式包括:由中央处理器构建数据结构的上层结构,由图形处理器构建数据结构的下层结构。这是考虑到区域树形数据结构的上层节点往数目少,并行粒度小,下层节点数目多,并行粒度大,而图形处理器比中央处理器更适合处理并行粒度大的工作。对应的,在建立数据结构中各个节点的过程中,对于当前节点,根据当前节点所包含的三角面片数量,确定目标执行单元,比如三角面片数量大于预设值,则目标执行单元为中央处理器,反之则目标执行单元为图形处理器;然后,由目标执行单元确定当前节点的孩子节点以及孩子节点内包含的三角面片数量。
在一种实施方式中,在步骤S105之前,本申请实施例还可以包括步骤:将渲染计算所需要的数据(包括模型数据和渲染参数)通过内存复制到中央处理器的全局存储空间内,通过在图形处理器全局存储空间内对数据进行冗余存储,用空间换取时间。存储的冗余数据作为图形处理器渲染的基本数据,这些数据为下一步渲染引擎输入的一部分。使用空间换取时间,通过冗余存储减少中央处理器与图形处理器之间数据交换带来的通信耗时。
在一种实施方式中,渲染引擎包括图形渲染组件、物理引擎和数据引擎、算法库和图形支持组件、配置管理和资源管理组件中的至少一个组件。其中,渲染引擎可以包括不同的图形渲染组件,物理引擎和数据引擎用于处理碰撞运算和数据运算;算法库和图形支持组件用于对图形的渲染和渲染处理算法支持;配置管理和资源管理组建用于对不同操作流程和渲染要求配置文件的管理和渲染引擎的资源管理。
在一种实施方式中,在步骤S105之后,本申请实施例还可以包括步骤:对渲染生成的原始帧图按照流化进行整合和排序,输出排序的原始帧图。对排序的原始帧图进行分段,按次序将原始帧图分段分配给统一编码处理资源池中的编码通道进行分段式流化编码,其中,统一编码处理资源池由中央处理器与图形处理器的编码能力构建而成。将各个编码通道输出的编码结果进行排序并整合形成媒体流。
下述提供本申请实施例的一个具体示例。
如图2所示,为本申请实施例中在基于中央处理器与图形处理器的三维混合渲染引擎技术流程图。
S201,通过中央处理器读入待渲染模型的几何数据和材质数据,并将读入的数据保存起来。
其中,几何数据包括场景中各个顶点坐标、法向量、纹理坐标以及面片的组织形式等三角面片的数据;材质数据包括材质漫反射系数、镜面反射系数、环境光的漫反射系数以及纹理贴图等。同时在构建模型时设置光源的位置、视角、视点的位置等场景渲染参数以及生成图形的像素值等初始图像数据。
其中,顶点坐标、法向量、纹理坐标及面片组织形式这四项数据,都会在判断初始光线与场景相交后的二级光线的走向;并且,这四项数据将是光线相交测试时,构造加速结构的基础数据。三角形的数据可以由几何数据中的顶点坐标及法向量数据计算得到。材质数据在光线相交时,用于判断光线与场景表面相交后,二级光线的走向。
S202,确定用于构建待渲染模型的数据结构,作为待渲染模型的加速结构。具体地,根据几何数据等模型数据,生成用于构建待渲染模型的数据结构。例如,选用区域树形数据结构作为模型的加速结构。在生成模型的区域树形加速结构时,SAH代价计算耗费时间,将区域树形加速结构划分在不同的硬件平台上实现。
S203,对数据进行冗余存储。具体地,为避免数据在中央处理器与图形处理器之间由于数据交换带来的时间浪费,在进行渲染之前,将渲染计算所需要的数据通过内存复制到图形处理器的全局存储空间内,通过在图形处理器全局存储空间内对数据进行冗余存储,用空间换取时间。存储的冗余数据作为图形处理器渲染的基本数据,这些数据为下一步渲染引擎输入的一部分。使用空间换取时间,通过冗余存储减少中央处理器与图形处理器的通信耗时。
S204,将渲染任务分解为逻辑连续型渲染任务和并行渲染任务,将逻辑连续型渲染任务发送给中央处理器串行处理,将并行渲染任务发送给图形处理器进行并行运算处理。
S205,从预设的渲染引擎库(也可以称为自适应渲染引擎模板库)中,根据中央处理器与图形处理器的特性,分别为中央处理器与图形处理器选取相应的渲染引擎。在中央处理器与图形处理器上运行渲染引擎执行相应的渲染任务,得到中央处理器与图形处理器的渲染结果,然后,实时联动中央处理器与图形处理器渲染结果输出渲染生成的原始帧图。
S206,对渲染生成的初始帧图按照流化(帧图的原始编号,原始编号根据帧图在场景中的时间顺序确定)进行整合和排序,输出排序的初始帧图。
S207,对排序的初始帧图进行分段,按次序将初始帧图分段分配给统一编码处理资源池中的编码通道进行分段式流化编码,其中,统一编码处理资源池由中央处理器和图形处理器的编码能力构建而成。
S208,将各个编码通道输出的编码结果进行排序并整合形成媒体流,复制到中央处理器上进行显示。
进一步地,步骤S204中的渲染引擎库可以是基于标准C++语言及微内核的机制,根据中央处理器和图形处理器特性,所形成的模板库。通过渲染引擎库,解决不同硬件平台的不同中央处理器指令集差异、字节序大小端不统一、开放图形库(Open Graphics Library,OpenGL)版本差异、软件配置管理(Software configuration management,SCM)、线程通讯、网络模型等差异、数据库字符集差异、大小写区分等,降低渲染引擎对软硬件适配的难度。
进一步地,步骤S204中,如果模版库中没有和当前环境信息完全匹配的渲染引擎模板,也会推荐使用环境信息和当前环境信息相近的渲染引擎模板,然后对推荐的渲染引擎模板进行渲染测试,如果渲染测试过程存在问题,就需要人工干预,并将处理结果形成的渲染引擎模板并入库。
如此,本申请实施例摈弃现有使用纯中央处理器、纯图形处理器的渲染模式,实现在国产化环境下,结合中央处理器和图形处理器的计算能力,对光线追踪渲染中的加速结构建立,使用双层并行思想,将大规模的渲染任务,交给中央处理器与图形处理器并行处理。总体构建适合离线的高质量真实感图形渲染,针对现有光线追踪渲染方式计算量大,耗时较长的问题,提出了灵活高效的解决办法。
进一步地,自适用渲染引擎模板库可以包括下述至少一种渲染引擎:
应用程序开发框架(QT)渲染引擎,该渲染引擎是一种基于C++库,支持各种软硬件设备以及操作***。此外,该渲染引擎基于应用程序开发框架的绘制机制,实现二维模型的绘制。
AGG渲染引擎,该渲染引擎是一套基于C++中央处理器渲染库,参照瓦片动态动态调度机制,把文字、中央处理器矢量绘制等通过动态申请、多线程绘制处理、渲染线程挂接等技术,以实现海量数据动态文字、二维矢量全动态中央处理器绘制,并且,和三维数据图形处理器渲染互为补充,同时利用多重渲染技术进行综合渲染,大幅提高了数据可视化性能效率。
开放图形库(Open Graphics Library,OpenGL)3可编程渲染引擎,该渲染引擎使得显卡支持可编程管线、支持顶点着色器(Vertex Shader)和片段着色器(FragmentShader)。一方面,该渲染引擎针对不同显卡硬件,能提供统一访问接口和显示协议,充分利用显卡高效特点,发挥性能优势;此外,该渲染引擎的渲染线程和主线程进行分离,通过开放图形库共享上下文(OpenGL Share Context)实现资源多线程访问,充分利用显存,并且将大量几何、纹理数据直接存储在显存中,不占用内存,在32位程序下就可以支持全球海量二维和三维数据的动态渲染。另一方面,该渲染引擎基于内存池技术,动态裁剪、渲染索引技术、轻量化及瓦片化技术和图形处理器加速技术等技术,进行了多层次优化。
开放图形库嵌入***(OpenGL for Embedded System,OpenGL ES)可编程渲染引擎,该渲染引擎在手机等移动端扩充开放图形库嵌入***渲染插件,同样适用可编程管线技术,对应开放图形库编写了一套移动端着色器(Shader),并且自动处理了个人计算机(Personal Computer,PC)和移动端的性能参数差别,对用户层实现渲染引擎透明处理。此外,该渲染引擎扩充支持了如etc等移动端原生压缩纹理格式,提升了移动端渲染性能。
开放图形库(Open Graphics Library,OpenGL)1.5固定管线渲染引擎,该渲染引擎进行固定管线降级适配、显卡驱动层面定制化开发,同时支持高级可编程管线和低版本固定管线,并且实现自动切换。此外,该渲染引擎还支持多种使用环境下海量二维和三维空间数据的可视化。
本示例还提供用于实现上述图2方法的三维地理信息***(GeographicInformation System,GIS)平台。如图3所示,该三维地理信息***平台主要包含指令列表、三维混合图像渲染引擎、应用线程、用户界面线程、渲染线程、合成器线程以及合成器。
三维混合图像渲染引擎,用于充当合成器与操作***之间的中介,以用于存储描述平台内容的指令,打通操作***和合成器之间的桥梁。三维混合图像渲染引擎主要包含不同的图形渲染组件,主要包括物理引擎和数据引擎处理碰撞运算和数据运算;算法库和图形支持组件主要负责对图形的渲染和渲染处理算法支持等;配置管理和资源管理主要负责对不同操作流程和渲染要求配置文件的管理和渲染引擎的资源管理等。
应用线程,用于负责包括需要渲染的应用内容中原始的内容与渲染引擎交互线程处理。在应用线程上进行应用与渲染引擎之间的交互。
用户界面线程,用于对来自合成器的请求进行响应并且创建包含应用内容的显示层的处理线程。与处理大多数应用功能的应用线程相比,在用户界面线程上进行较少的处理,这允许更快地从合成器中拉取出请求。换句话说,由于职责的划分,用户界面线程具有更高保障的可用性,并且能够根据需要快速地将显示组件绘制到屏幕,即将渲染后的应用内容展示出来。
渲染线程,用于回放内容描述来帮助维持用户界面线程的响应性。具体地,将回放内容存放在渲染线程中,供用户界面直接调用以进行展示。
合成器线程,用于负责从用户界面线程中接收显示层和属性改变的处理线程。
合成器的用户界面线程,用于创建所有独立的层并且将所有控件(即,显示组件)置于层上,可以理解为将所有的展示控件进行组合。用户界面线程将创建的所有层发送至合成器,并且合成器将所有层组合成表示工具条和相关联的按钮或控件的虚拟纹理。
本申请实施例有效支撑了适用于在多种环境下三维地理信息***平台的数据可视化要求,可以支持矢量、地形、影像、倾斜摄影、点云、建筑信息模型(BuildingInformation Modeling,BIM)、地质、体素等多种几何空间数据可视化,也支持文字、图片、序列帧、视频文件、视频流等多种非结构数据可视化,并且支持阴影、光照、反射、动态水纹、天气模拟、动态海水、体积云等多种实时特效技术。
此外,本申请实施例结合最新渲染引擎技术和三维地理信息系空间数据特点,实现了全景混合渲染技术,通过中央处理器和图形处理器可编程管线的混合渲染技术,自动根据硬件性能动态从通过渲染引擎库中选择合适的渲染引擎,支持二维或三维数据的渲染。
应当理解的是,上述示例的方法仅为较佳的实施方案,并非用于限定本申请的保护范围。对本领域普通技术人员来说,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,都应属于本申请所附权利要求的保护范围。
图4示出根据本申请实施例的渲染装置400的结构框图。如图4所示,该装置可以包括:
模型数据获取模块401,用于获取待渲染模型的模型数据以及渲染参数。
渲染任务确定模块402,用于根据待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及渲染任务的执行单元。
环境信息获取模块403,用于获取执行单元的环境信息。
渲染引擎确定模块404,用于从预设的渲染引擎库中选取与执行单元的环境信息相匹配的渲染引擎。
渲染模块405,用于在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理执行单元的渲染任务,得到渲染结果。
在一种实施例中,执行单元的环境信息包括:执行单元的硬件信息和操作***信息。
在一种实施例中,渲染引擎确定模块504,具体用于:确定与执行单元的环境信息相匹配的配置信息,配置信息包括指令集信息、字节序大小端信息、开放图形库版本信息、软件配置管理信息、线程通讯信息、网络模型信息、数据库字符集信息或大小写区分限制信息中的至少一项;根据配置信息,从预设的渲染引擎库中选取与配置信息匹配的渲染引擎,作为与执行单元的环境信息相匹配的渲染引擎。
在一种实施例中,该渲染装置还包括:数据结构建立模块。
数据结构确定模块,用于由执行单元根据模型数据,确定用于构建待渲染模型的数据结构。
渲染模块,具体用于在执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎根据执行单元对应的数据结构,处理渲染任务,得到渲染结果。
在一种实施例中,数据结构为区域树形数据结构,区域树形数据结构包括多个节点,节点至少包括待渲染模型中一个区域内的三角面片。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图5示出根据本申请实施例的电子设备的结构框图。如图5所示,该电子设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的计算机程序。处理器520执行该计算机程序时实现上述实施例中的渲染方法。存储器510和处理器520的数量可以为一个或多个。
该电子设备还包括:
通信接口530,用于与外界设备进行通信,进行数据交互传输。
如果存储器510、处理器520和通信接口530独立实现,则存储器510、处理器520和通信接口530可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种渲染方法,其特征在于,包括:
获取待渲染模型的模型数据以及渲染参数;
根据所述待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及所述渲染任务的执行单元;
获取所述执行单元的环境信息;
从预设的渲染引擎库中选取与所述执行单元的环境信息相匹配的渲染引擎;
在所述执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理所述执行单元的渲染任务,得到渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述执行单元的环境信息包括:所述执行单元的硬件信息和操作***信息。
3.根据权利要求1所述的方法,其特征在于,所述从预设的渲染引擎库中选取与所述执行单元的环境信息相匹配的渲染引擎,包括:
确定与所述执行单元的环境信息相匹配的配置信息,所述配置信息包括指令集信息、字节序大小端信息、开放图形库版本信息、软件配置管理信息、线程通讯信息、网络模型信息、数据库字符集信息或大小写区分限制信息中的至少一项;
根据所述配置信息,从预设的渲染引擎库中选取与所述配置信息匹配的渲染引擎,作为与所述执行单元的环境信息相匹配的渲染引擎。
4.根据权利要求1所述的方法,其特征在于,还包括:由所述执行单元根据所述模型数据,确定用于构建所述待渲染模型的数据结构;
所述在所述执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理所述执行单元的渲染任务,得到渲染结果,包括:
在所述执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎根据所述数据结构,处理所述渲染任务,得到渲染结果。
5.根据权利要求4所述的方法,其特征在于,所述数据结构为区域树形数据结构,所述区域树形数据结构包括多个节点,所述节点至少包括所述待渲染模型中一个区域内的三角面片。
6.一种渲染装置,其特征在于,包括:
模型数据获取模块,用于获取待渲染模型的模型数据以及渲染参数;
渲染任务确定模块,用于根据所述待渲染模型的模型数据以及渲染参数,确定至少一个渲染任务及所述渲染任务的执行单元;
环境信息获取模块,用于获取所述执行单元的环境信息;
渲染引擎确定模块,用于从预设的渲染引擎库中选取与所述执行单元的环境信息相匹配的渲染引擎;
渲染模块,用于在所述执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎处理所述执行单元的渲染任务,得到渲染结果。
7.根据权利要求6所述的装置,其特征在于,所述执行单元的环境信息包括:所述执行单元的硬件信息和操作***信息。
8.根据权利要求6所述的装置,其特征在于,所述渲染引擎确定模块,具体用于:确定与所述执行单元的环境信息相匹配的配置信息,所述配置信息包括指令集信息、字节序大小端信息、开放图形库版本信息、软件配置管理信息、线程通讯信息、网络模型信息、数据库字符集信息或大小写区分限制信息中的至少一项;根据所述配置信息,从预设的渲染引擎库中选取与所述配置信息匹配的渲染引擎,作为与所述执行单元的环境信息相匹配的渲染引擎。
9.根据权利要求6所述的装置,其特征在于,还包括:数据结构建立模块,其中,
所述数据结构确定模块,用于由所述执行单元根据所述模型数据,确定用于构建所述待渲染模型的数据结构;
所述渲染模块,具体用于在所述执行单元上运行相匹配的渲染引擎,并通过运行的渲染引擎根据所述执行单元对应的数据结构,处理所述渲染任务,得到渲染结果。
10.根据权利要求9所述的装置,其特征在于,所述数据结构为区域树形数据结构,所述区域树形数据结构包括多个节点,所述节点至少包括所述待渲染模型中一个区域内的三角面片。
11.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由所述处理器加载并执行,以实现如权利要求1至5任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
CN202110393595.1A 2021-04-13 2021-04-13 渲染方法、装置、电子设备和计算机可读存储介质 Pending CN113112579A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110393595.1A CN113112579A (zh) 2021-04-13 2021-04-13 渲染方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110393595.1A CN113112579A (zh) 2021-04-13 2021-04-13 渲染方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN113112579A true CN113112579A (zh) 2021-07-13

Family

ID=76716282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110393595.1A Pending CN113112579A (zh) 2021-04-13 2021-04-13 渲染方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113112579A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064187A (zh) * 2021-12-01 2022-02-18 广东三维家信息科技有限公司 一种跨渲染引擎的中间装置、数据处理方法及存储介质
CN114168219A (zh) * 2021-11-30 2022-03-11 埃洛克航空科技(北京)有限公司 基于OSG渲染3DTiles模型的跨层调度方法、***及电子设备
CN114237795A (zh) * 2021-12-16 2022-03-25 海宁奕斯伟集成电路设计有限公司 终端界面显示方法、装置、电子设备及可读存储介质
CN114297746A (zh) * 2021-12-06 2022-04-08 万翼科技有限公司 建筑信息模型的渲染方法、装置、电子设备和存储介质
CN114820967A (zh) * 2022-04-28 2022-07-29 四川见山科技有限责任公司 一种分层影像数据实时绘制方法及***
CN115437810A (zh) * 2022-09-16 2022-12-06 北京字跳网络技术有限公司 渲染任务处理方法、装置、设备和介质
CN115690292A (zh) * 2023-01-03 2023-02-03 华夏天信物联科技有限公司 一种工作面地层建模渲染优化方法及***
WO2023160041A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 图像渲染方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品
CN116932193A (zh) * 2022-04-07 2023-10-24 华为技术有限公司 一种显示子***的通道分配方法、装置及存储介质
WO2024055840A1 (zh) * 2022-09-16 2024-03-21 北京字跳网络技术有限公司 图像渲染方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112028A (zh) * 2013-04-17 2014-10-22 建德市供电局 一种电缆地下管网的显示方法及装置
US20150130820A1 (en) * 2012-07-31 2015-05-14 Kangyuan Shu Hybrid rendering systems and methods
CN112070871A (zh) * 2020-09-02 2020-12-11 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建***、方法、终端及储存介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150130820A1 (en) * 2012-07-31 2015-05-14 Kangyuan Shu Hybrid rendering systems and methods
CN104112028A (zh) * 2013-04-17 2014-10-22 建德市供电局 一种电缆地下管网的显示方法及装置
CN112070871A (zh) * 2020-09-02 2020-12-11 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建***、方法、终端及储存介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐泽骅;李胜;汪国平;: "基于OpenGL的地图渲染引擎设计与实现", 地理信息世界, no. 06, 25 December 2015 (2015-12-25), pages 38 - 42 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168219A (zh) * 2021-11-30 2022-03-11 埃洛克航空科技(北京)有限公司 基于OSG渲染3DTiles模型的跨层调度方法、***及电子设备
CN114064187A (zh) * 2021-12-01 2022-02-18 广东三维家信息科技有限公司 一种跨渲染引擎的中间装置、数据处理方法及存储介质
CN114297746A (zh) * 2021-12-06 2022-04-08 万翼科技有限公司 建筑信息模型的渲染方法、装置、电子设备和存储介质
CN114237795A (zh) * 2021-12-16 2022-03-25 海宁奕斯伟集成电路设计有限公司 终端界面显示方法、装置、电子设备及可读存储介质
CN114237795B (zh) * 2021-12-16 2024-01-30 海宁奕斯伟集成电路设计有限公司 终端界面显示方法、装置、电子设备及可读存储介质
WO2023160041A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 图像渲染方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品
CN116932193A (zh) * 2022-04-07 2023-10-24 华为技术有限公司 一种显示子***的通道分配方法、装置及存储介质
CN114820967B (zh) * 2022-04-28 2022-09-27 四川见山科技有限责任公司 一种分层影像数据实时绘制方法及***
CN114820967A (zh) * 2022-04-28 2022-07-29 四川见山科技有限责任公司 一种分层影像数据实时绘制方法及***
CN115437810A (zh) * 2022-09-16 2022-12-06 北京字跳网络技术有限公司 渲染任务处理方法、装置、设备和介质
WO2024055845A1 (zh) * 2022-09-16 2024-03-21 北京字跳网络技术有限公司 渲染任务处理方法、装置、设备和介质
WO2024055840A1 (zh) * 2022-09-16 2024-03-21 北京字跳网络技术有限公司 图像渲染方法、装置、设备和介质
CN115690292A (zh) * 2023-01-03 2023-02-03 华夏天信物联科技有限公司 一种工作面地层建模渲染优化方法及***

Similar Documents

Publication Publication Date Title
CN113112579A (zh) 渲染方法、装置、电子设备和计算机可读存储介质
WO2022116759A1 (zh) 图像渲染方法、装置、计算机设备和存储介质
CN110969685B (zh) 使用渲染图的可定制渲染管线
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
KR101732288B1 (ko) 스프라이트 그래픽 렌더링 시스템
CN107533751B (zh) 用于图像处理器的线缓冲器单元
KR101563098B1 (ko) 커맨드 프로세서를 갖는 그래픽 프로세싱 유닛
US7463261B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
KR101231291B1 (ko) 자원 결합 방법 및 그를 위한 컴퓨터 판독가능 매체 및 애플리케이션 프로그래밍 인터페이스와, 종속성 트리 재구성 방법
US8253730B1 (en) System and method for construction of data structures for ray tracing using bounding hierarchies
US8826299B2 (en) Spawned message state determination
US8436867B1 (en) System and method for generating computer graphic images by identifying variant and invariant shader arguments
US9355464B2 (en) Dynamic generation of texture atlases
JP6230076B2 (ja) 仮想サーフェス割り当て
KR101609079B1 (ko) 그래픽 프로세싱 유닛에서의 명령 선별
CN111210498A (zh) 降低多边形网格的细节水平以减少被渲染几何的复杂度
US11094036B2 (en) Task execution on a graphics processor using indirect argument buffers
US10319068B2 (en) Texture not backed by real mapping
US20210343072A1 (en) Shader binding management in ray tracing
CN111400024A (zh) 渲染过程中的资源调用方法、装置和渲染引擎
US8436856B1 (en) Systems and methods for mixing the execution order of shading language code
CN111091620B (zh) 基于图形学的地图动态路网处理方法及***、计算机设备
CN113822975B (zh) 用于对图像进行有效采样的技术
KR20180015564A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
CN116883575B (zh) 建筑群渲染方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination