CN114494559A - 一种基于多gpu协同的三维渲染融合方法、系统、介质 - Google Patents

一种基于多gpu协同的三维渲染融合方法、系统、介质 Download PDF

Info

Publication number
CN114494559A
CN114494559A CN202210137934.4A CN202210137934A CN114494559A CN 114494559 A CN114494559 A CN 114494559A CN 202210137934 A CN202210137934 A CN 202210137934A CN 114494559 A CN114494559 A CN 114494559A
Authority
CN
China
Prior art keywords
sub
rendering
dimensional
field
gpu
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
CN202210137934.4A
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.)
Chengdu Gravitation Shichuang Technology Co ltd
Original Assignee
Chengdu Gravitation Shichuang Technology 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 Chengdu Gravitation Shichuang Technology Co ltd filed Critical Chengdu Gravitation Shichuang Technology Co ltd
Priority to CN202210137934.4A priority Critical patent/CN114494559A/zh
Publication of CN114494559A publication Critical patent/CN114494559A/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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明适用于三维场景渲染技术领域,提供了一种基于多GPU协同的三维渲染融合方法、系统、介质,包括如下步骤S10:获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离;步骤S20:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;步骤S30:获取每个GPU渲染后的子渲染图像;步骤S40:根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像,防止出现遮挡,使得融合后的渲染图像与渲染对象的三维场景位置保持一致,避免了融合过程中出现错乱。

Description

一种基于多GPU协同的三维渲染融合方法、系统、介质
技术领域
本发明涉及三维场景渲染领域,尤其是涉及一种基于多GPU协同的三维渲染融合方法、系统、介质。
背景技术
计算机三维图形渲染的目的是将设计好的三维数据(包括三维网格数据、材质数据等),通过GPU运算,生成光栅图像信息,并在显示器中进行展示。三维图形渲染当是三维场景信息表达的必要环节,广范应用于各类行业,如:游戏、VR、设计、地理信息、元宇宙等领域。
三维渲染运算过程,是将通过软件三维引擎读取三维数据,通过操作系统底层的标准图形接口,控制GPU运行,根据当前视角,将三维数据转换成光栅图像信息,并在输出设备进行展示;
三维渲染分为实时渲染和非实时渲染。在实时渲染时,根据用户操作信息(如当前观看角度、远近等),实时更新渲染数据,并得取得渲染结果。从而形成用户可以在全息化场景中自由观看的效果,现有技术中的渲染过程如附图1所示,通常是三维渲染引擎读取一个三维场景的数据,通过调用操作系统图像API,控制GPU进行渲染运算,再将渲染结构输出至显示器,由此可以看出现有技术中存在如下问题:
(1)单个GPU运算性能有限:不同类型的GPU由于其计算单元数量不同,运算性能也不尽相同,但是无论哪种类型的GPU,运算单元总数是有限的,导致对应的运算性能也有限。
(2)三维场景只能在一个GPU中进行渲染运算:目前三维引擎设计的应用场景为,一个三维场景的渲染通常绑定到一个GPU中进行,即一个三维引擎只能加载一个三维模型场景数据,且同时只能控制一个GPU进行工作。
(3)渲染的规模和精度不能满足要求:三维场景的数据量随着规模和精度的不同而不同,当随着需要渲染场景的三维数据量增大,并且需要实时获取渲染结果,目前的GPU性能不能满足要求。
(4)三维引擎的输出只能在本地显示:传统的显示适配卡硬件结构,通常集成了GPU和显示设备,三维引擎在工作时,只能在本地主机中将渲染结构输出至GPU对应的显示设备中,无法在另一设备中输出。
(5)三维渲染引擎,操作系统以及硬件构架的系统多样化,导致不同渲染方案不能相互兼容工作。基于不同硬件构架(如:x86,ARM),不同操作系统城(如:windows、Linux),不同类型的三维引擎(如:unreal、unity等),不能够相互协同完成同一渲染工作。
发明内容
本发明的目的是提供一种基于多GPU协同的三维渲染融合方法、系统、可读介质,来解决现有技术中存在的上述技术问题,主要包括以下五个方面:
本发明第一方面提供了一种基于多GPU协同的三维渲染融合方法,包括如下步骤:
步骤S10:获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
步骤S20:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距;
步骤S30:获取每个GPU渲染后的子渲染图像;
步骤S40:根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
进一步地,步骤S10中,每个子三维场景中的子视场摄像机位于全局统一坐标系中,每个子视场摄像机的位置和方向相同。
进一步地,步骤S10中,每个子观察区域中的位置标记点包括第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点,且第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点依次为每个子观察区域中的四个预设位置点。
进一步地,步骤S40中,将每个子观察区域中位置标记点到子视场摄像机的第一距离进行比较,将每个子渲染图像按照到子视场摄像机由远到近/由近到远的距离顺序进行融合。
本发明第二方面提供了一种基于多GPU协同的三维渲染融合系统,包括如下模块:
标记点模块:用于获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
计算模块:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距
图像获取模块一:用于获取每个GPU渲染后的子渲染图像;
融合模块:用于根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
本发明第三方面提供了一种基于多GPU协同的三维渲染方法,包括如下步骤:
步骤S100:获取渲染对象的三维场景;
步骤S200:对获取的三维场景进行分割,获得多个子三维场景;
步骤S300:每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
步骤S400:按照所述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
进一步地,在进行步骤S300前还包括如下步骤:
在每个子三维场景中分别设置对应的子视场摄像机,其中所述每个子视场摄像机位于统一全局坐标系中;
子视场摄像机形成的子观察区域中至少设置一个位置标记点。
进一步地,在步骤S300中还包括如下步骤:
在输出多个子渲染图像前,将子视场摄像机的背景设置为空,将获得的子渲染图像分为投影区域和空白区域。
本发明第四方面提供了一种基于多GPU协同的三维渲染系统,
图像获取模块二:用于获取渲染对象的三维场景;
分割模块:用于对获取的三维场景进行分割,获得多个子三维场景;
渲染模块:用于为每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
融合模块:用于按照如上述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
本发明第五方面提供了一种可读介质,用于存储程序,所述程序被执行时,用于实现如上述的一种基于多GPU协同的三维渲染融合方法或如上述的一种基于多GPU协同的三维渲染方法。
本发明相对于现有技术至少具有如下技术效果:
(1)通过找到每个子观察区域中位置标记点距离子视场摄像机的第一距离,然后按照由远至近的距离进行融合,防止出现遮挡,使得融合后的渲染图像与渲染对象的三维场景位置保持一致,避免了融合过程中出现错乱。
(2)每个子三维场景中的子视场摄像机位于全局统一坐标系中,每个子视场摄像机的位置和方向相同,使得各子三维场景在渲染过程中的每一步同时进行,也保证了后续子渲染图像进行融合的同时性,以及使得三维渲染图像可以快速实时的显示。
(3)通过对视场摄像机输出图像的像素通道设置,减小了后续子渲染图像在进行融合时的数据量,提高了融合后渲染图像的精度,降低了其他背景的干扰。
(4)本申请中通过分割三维场景,将局部场景分别放入多个GPU中进行渲染运算,解决三维场景渲染需要的运算量大于一个独立GPU能提供的运算量时,渲染效率低的问题,并能达到实时渲染目的。由此,可以通过低运算能力GPU组合的方式,实现无限大三维场景的实时渲染,并向多用户提供渲染结果。
(5)本申请中通过分割三维场景,将局部场景分别放入多个GPU中进行渲染运算,实现了不同的硬件构架、不同操作系统、不同类型的三维引擎之间可以相互协同完成同一个渲染工作,适用范围广。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的三维场景渲染过程;
图2是本发明中的三维渲染融合方法的流程图;
图3是本发明中的RVC的所能观看到范围VF示意图;
图4是本发明中的系统示意图;
图5是本发明中的工作流程图;
图6是本发明中的三维渲染方法流程图;
图7是本发明中的三维场景;
图8是本发明中的三维场景的俯视图;
图9是本发明中的三维场景的分割图;
图10是本发明中的RE接收到用户操作命令后,RVC对应的变化图;
图11是本发明中的子视场摄像机中一张子三维渲染图的输出示意图;
图12是本发明中设置像素通道后的第一子渲染图像的输出示意图;
图13是本发明中设置像素通道后的第二子渲染图像的输出示意图;
图14是本发明中设置像素通道后的第三子渲染图像的输出示意图;
图15是本发明中设置像素通道后的第四子渲染图像的输出示意图;
图16是本发明中子渲染图像的融合示意图;
图17是本发明中的智慧城市三维示意图;
图18是本发明中的视频监控中的三维示意图;
图19是本发明中倾斜摄影生成三维数据。
具体实施方式
以下的说明提供了许多不同的实施例、或是例子,用来实施本发明的不同特征。以下特定例子所描述的元件和排列方式,仅用来精简的表达本发明,其仅作为例子,而并非用以限制本发明。
在下文中将参考附图对本发明的各方面进行更充分的描述。然而,本发明可以具体化成许多不同形式且不应解释为局限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面将使得本发明周全且完整,并且本发明将给本领域技术人员充分地传达本发明的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本发明的任何其它方面实现本文所公开的任何方面,本发明的范围旨在涵盖本文中所公开的任何方面。例如,可以使用本文所提出任意数量的相机或者执行方法来实现。另外,除了本文所提出本发明的多个方面之外,本发明的范围更旨在涵盖使用其它结构、功能或结构和功能来实现的相机或方法。应可理解,其可通过权利要求的一或多个元件具体化本文所公开的任何方面。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
第一实施例:
如图2所示,本发明第一实施例提供了一种基于多GPU协同的三维渲染融合方法,包括如下步骤:
步骤S10:获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
步骤S20:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距;
步骤S30:获取每个GPU渲染后的子渲染图像;
步骤S40:根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
上述方案中,首先将获取到的三维场景分割为多个子三维场景,对每个子三维场景分配对应的至少一个GPU,然后多个子三维场景在GPU下同时进行渲染,获得对应的多个子渲染图像,然后在每个子观察区域上设置包括但不限于四个位置标记点,也可以设置五个位置标记点,如每个子观察区域中的四个顶点和中心点等,具体的标记点的数量和位置不做限制;也可以设置为一个位置标记点。
分别计算每个子观察区域上设置的每个位置标记点距离对应的子视场摄像机之间的距离,如位置标记点的数量为四个时,位置标记点中分别计算四个位置标记点中距离子视场摄像机距离第一距离,最后将每张子观察区域中第一距离进行排序,将该顺序设置为子渲染图像的融合顺序,融合顺序如图16所示,这样融合形成的图像可以在保证各子渲染图像在融合的过程中无遮挡,形成的三维渲染图像完整。
需要说明的是,在对每个子观察区域上设置的标记点的位置相同,如,第一张子三维场景中的子观察区域上设置的至少四个标记点的位置为视场椎体上的四个顶点,则,其余的子三维场景中的子观察区域上设置的标记点位置也为四个顶点,每张子观察区域中的标记点的位置序号可以不同,这样可以保证计算每张子观察区域距离子视场摄像机之间的距离具有可比性,可以顺利进行后续的图像融合。
具体地,将多个子渲染图像按照本申请中融合方法进行,如图16所示,来完成三维场景的整体渲染。
RCE要综合根据各个RE(x)中,RVC的位置、方向,计算各RES(1..n)的叠加顺序Z-order。具体步聚如下:
设置各个RVC(1…n)在全局坐标系下的三维坐标位置相同,即均坐标均为RVC(x,y,z),在后续的计算过程中,子视场摄像机一直处于该坐标系中,每个子观察区域中的子视场摄像机的位置方向相同,使得每一张子渲染图像在相同的视场下进行,即每个子视场摄像机相当于用户的眼睛,这样不仅保证了渲染可以更快地完成,可保证了渲染完成后,可以通过调节子视场摄像机的位置和角度来对三维场景进行观察。
设:1<=i<=n,i为子观察区域的序号,n为子观察区域的数量
在全局坐标下,每个RVC(x,y,z)的视场VF(i)的最近距离,即:MinRange(i)。
又设:
VF(i).top为VF(i)视场范围上边沿。
VF(i).bottom为VF(i)视场范围下边沿。
VF(i).left为VF(i)视场范围左边沿。
VF(i).right为VF(i)视场范围右边沿。
则有:
VF(i)视场左上角即为VF(i).topleft(x,y,z)。
VF(i)视场右上角即为VF(i).topright(x,y,z)。
VF(i)视场左下角即为VF(i).bottomleft(x,y,z)。
VF(i)视场右下角即为VF(i).bottomright(x,y,z)。
设点A=VF(x).topleft(x,y,z),点B=RVC(x,y,z),i=1,Range(i)=|AB|;
设点C=VF(x).topright(x,y,z),点B=RVC(x,y,z),i=2,Range(i)=|CB|;
设点D=VF(x).bottomleft(x,y,z),点B=RVC(x,y,z),i=3,Range(i)=|DB|;
设点E=VF(x).bottomright(x,y,z),点B=RVC(x,y,z),i=3,Range(i)=|EB|;
其中,A为子观察区域i中的第一位置标记点、B为视场摄像机的位置、C子观察区域i中的第二位置标记点、D子观察区域i中的第三位置标记点、E子观察区域i中的第四位置标记点、Range(i)为RVC与对应的视场各标记点位置角点的距离。
在Range(i)中找出最小中距离,即MinRange(i)。
对RVC(1…n),依次计算出与VF(1…n)的最小距离,MinRange(1…n)。
将MinRange(1…n)进行比较,按照由大至小的排序,得对应的RES(1…n)顺序,该顺序为子渲染图像进行融合的顺序。如子渲染图像的叠加融合顺序为RES(3),RES(4),RES(1),RES(2),如图16所示。
按照RVC与各子观察区域的距离顺序,依次叠加子渲染图像RES(1…n),即由远到近,形成正确的遮挡效果,并且在运算过程中,像素alpha=0,或为透明色,不参与运算,如图12-图15所示,叠加融合计算过程中,按照新的顺序,将RES(1..n)的像素数据,依次复制到计算缓存区,并且当遇到alpha通道值为0或者像素的色值为既定透明色时,则不处理,最终形成与未分割前的三维场景对应的渲染图像,实现三维场景的渲染。
可选地,位置标记点的数量可以是1个、2个、3个...n个等,位置标记点的位置可以是子观察区域中的四个顶点位置,也可以是中心位置,还可以是位于四个边界上不同位置的位置标记点,位置标记点在子观察区域中的具体位置在此不做限制,可以根据实际需求进行设置。
进一步地,步骤S10中,每个子三维场景中的子视场摄像机位于全局统一坐标系中,每个子视场摄像机的位置和方向相同,使得各子三维场景在渲染过程中的每一步同时进行,也保证了后续子渲染图像进行融合的同时性,位置关系保持一致,避免了融合过程中出现错乱,以及使得三维渲染图像可以快速实时的显示。
进一步地,步骤S10中,每个子观察区域中的位置标记点包括第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点,且第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点依次为每个子观察区域中的四个预设位置点,通过在子观察区域中设置的位置标记点,可以方便快速的获取每个子观察区域与子视场摄像机之间的距离。
进一步地,步骤S40中,将每个子观察区域中到子视场摄像机的第一距离进行比较,将每个子渲染图像按照到子视场摄像机由远到近/由近到远的距离顺序进行融合,通过找到每个子观察区域距离子视场摄像机的第一距离,然后子渲染图像按照由远至近的距离进行融合,防止出现遮挡,使得融合后的渲染图像与渲染对象的三维场景位置保持一致,避免了融合过程中出现错乱。
第二实施例:
本发明第二实施例提供了一种基于多GPU协同的三维渲染融合系统,包括如下模块:
标记点模块:用于获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
计算模块:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距
图像获取模块一:用于获取每个GPU渲染后的子渲染图像;
融合模块:用于根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
进一步地,标记点模块中,每个子三维场景中的子视场摄像机位于全局统一坐标系中,每个子视场摄像机的位置和方向相同。
进一步地,标记点模块中,每个子观察区域中的位置标记点包括第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点,且第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点依次为每个子观察区域中的四个预设位置点。
进一步地,融合模块中,将每个子观察区域中位置标记点到子视场摄像机的第一距离进行比较,将每个子渲染图像按照到子视场摄像机由远到近/由近到远的距离顺序进行融合。
第三实施例:
如图6所示,本发明第三实施例提供了一种基于多GPU协同的三维渲染方法,包括如下步骤:
步骤S100:获取渲染对象的三维场景;
步骤S200:对获取的三维场景进行分割,获得多个子三维场景;
步骤S300:每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
步骤S400:按照上述所述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
进一步地,在进行步骤S300前还包括如下步骤:
在每个子三维场景中分别设置对应的子视场摄像机,并且设置子视场摄像机的位置及方向,每个子视场摄像机当前具有一定的观察范围,即视场椎体,在视场椎体范围内,截取获得渲染场景的三维内容,即子观察区域,其中所述每个子视场摄像机位于统一全局坐标系中;
子视场摄像机形成的子观察区域中至少设置一个位置标记点,分别计算每个位置标记点与对应的子视场摄像机之间的距离,并以最短距离作为子观察区域与子视场摄像机之间的距离,子视场摄像机进行拍照,将子观察区域中的三维场景映射为二维图像,即子渲染图像,然后根据第一距离,将子渲染图像按照一定的顺序进行融合,通过计算形成总的三维场景的整体的渲染结果图像。
即,在进行步骤S300前还包括如下步骤:
建立全局统一坐标系分配至每个GPU中,每个GPU对应设置有渲染引擎;
对每个渲染引擎建立对应的子视场摄像机。
进一步地,在步骤S300中还包括如下步骤:
在输出多个子渲染图像前,将子视场摄像机的背景设置为空,将获得的子渲染图像分为投影区域和空白区域。
上述方案中,渲染对象包括但不限于大规模城市、视频监控、地理信息管理系统、元宇宙开放世界。
获取到渲染对象的三维场景,三维场景中包括三维数据,三维数据包括网格数据、材质数据、帖图数据等其他组成一个三维场景所需要的数据;
将获取到的三维数据进行预处理,即进行分割,分割后的子三维场景数据量明显小于渲染对象的三维数据,可以被一个三维渲染引擎独立载入并被一个GPU进行完整的渲染等处理操作。分割的方法可以采用按照坐标、内容、空间等其他方式进行分割,如将一个城市的三维模型按照行政区域或者坐标分割为多个子场景(子三维场景),具体的分割方式可以为通过三维工具手工进行分割,定制的自动化分割等,在此对于分割的方式不做具体限制。
可选地,对于每个分割后的子三维场景可以分配GPU,GPU的包括但不限于1、2、3等,GPU可以在网络中其他主机中,一个主机可承载多个GPU,GPU也可以根据分割后每个子三维场景的数据量进行合理分配,如,按照坐标分割完成后的子三维场景之中,其中一个子三维场景的数据量较大,则可以对应的分配于数据量和性能匹配的GPU,保证每个子三维场景在渲染过程中的同步性,渲染图像的实时性。
当渲染对象的三维场景渲染完成后,子视场摄像机进行拍照,将视场范围内的子三维场景映射为二维图像,即子渲染图像进行输出,具体为,在内存中按照预先设置的帧率连续输出图像数据,输出后的图像数据可以作为其他系统的输入,进行后续的三维场景处理工作。
本申请中涉及到的一些名词的解释:
渲染引擎(Render Engine),RE,简写RE。
三维渲染工作程序,负责读取三维数据,控制GPU工作,输出渲染画面。渲染引擎是实际完成三维渲染的工作程序,可以是第三方软件,也可以是定制开发软件。
渲染控制引擎(Render Control Engine),简写RCE:控制各个渲染引擎协同工作,并产生最终输出结果的程序,为本发明核心逻辑。
渲染视场摄像机(Render View Camera),简写RVC:在渲染引擎RE中,可创建视场摄像机(RVC),即在本场景中的观看视角。RVC模拟用户眼睛的功能,可以在三维场景中运动,从当前位置、角度等采样所见到的内容,生成图像信息。RVC具有视角宽高、视角位置、当前方向、分辨率等参数。可以通过命令实时控制其位置及方向达到视场运动的目的。
视场椎体区域(view field),简写VF:每个RVC具一个视椎体,三维场景中,处于视椎体内部的区域,即为当前用户能见到场景内容。其反映在三维模型中,即是RVC的所能观看到范围VF。如图3所示:
渲染引擎输出结果(result of RE),简写RES:RVC所见内容投影为二维图像,即为RES,以RES光栅数据的方式进行输出,通常保存内存或显存缓冲区中,代表当前RE实时渲染输出结果。
如图4所示,要满足大规模实时渲染需求,需将多台主机组合,通过高速网络互联形成集群运算结构。其中,RE主机是渲染运算核心运算设备,RE主机中,每个GPU承载一个RE渲染运算,一个GPU对应一个RE,作为一个渲染运算单元,进行资源分配。RE主机也可以安装多个GPU,运行多个RE,从而形成多个运算单元。RCE主机运行RCE服务,负责建立用户会话,将用户操作指令去转至各个RE,并将各RE输出结果进行重新组合,形成最终输出画面。调度主机运行资源调度服务,每个RE、RCE启动后,都需要在调度服务中进行注册,并实时上报自身运算负载量到调度服务。
本申请中定义三维场景模型为WM(whole model),并以该三维场景模型(选对象)为例,说明本申请提供方法的实施过程。
设WM为一个复杂三维场景数据,如图7和图8所示,可以将其分为多个分区,即多个子三维场景模型,分割方法取决应用需求,包括但不限于按内容、坐标、空间等分割方法。本申请中以坐标区域分割为例:
按照坐标区域将总场景WM,分为四个子场景模模型,即M(1),M(2),M(3),M(4),4个子场景三维模型分别在RE(1…n,n=4)中分别进行渲染。4个子模型的三维数据分别存储于对应RE主机的存储器中:
用户从客户端程序首先向调度主机中的调度程序发送渲染请求,调度程序根据当前资源状态分配RCE,并转发请求到指定的RCE,调度服务接收到用户请求后,根据已注册RCE服务运行状态,分配当空闲的RCE(n),并转发请求到对应RCE中,由RCE(n)接收到用户请后,要根据用户请求内容,建立用户会话,同时向调度服务申请RE运算单元,调度服务分配与用户请求场景的运算单元交由RCE控制,RCE得到分配的RE(1…n)后,需对RE(1…n)进行初始化操作:首先设置全局统一坐标系至RE(1…n)中,在后续的渲染和计算过程中,RE(1…n)一直处于全局坐标系中进行,然后建立RE(1…n)各自的视场摄像机RVC(1…n),如,M(1)中建立的RVC为RVC(1),其中,RVC具备视场角参数,FOV(x)为横向视场角,FOV(y)为纵向视场角,在RVC按其视椎体范围,在三维场景中所能采集到的区域为VF(view field),最后,分别将分割后的子三维场景载入至对应的渲染引擎中,如M(1)载入RE(1),M(2)载入RE(2)中。渲染引擎RE(1…n)在初始化完成后,进入等待状态,当接收到渲染或控制请求后,立即开始对应工作。
客户端程序通过输入设备采集用户输入,需要说明的是在此输入设备包括但不限于鼠标、键盘、VR眼镜运行等,采集用户输入后,转换网络命令,发送至RCE。RCE接收到用户操命令后,将其转换为RVC对应的运行以及方向信息,并发送至RE。RCE向RVC转换的方式存在多样性,此处不作限制。
RE(1…n)在接收到RCE(1…n)发送来的用户操作命令后,各自设置RVC(1…n)的新位置及方向,如图10所示,从而形成新的VF(1…n),RCE向RE(1…n)统一触发渲染信号,以控制RVC(1…n)在同一时间点,进行摄像机采集,从而得到同一时刻的输出图像RES,这样使得各子三维场景在渲染过程中的每一步同时进行,也保证了后续子渲染图像进行融合的同时性,以及使得三维渲染图像可以快速实时的显示。
当每个子渲染图像需要输出前,先将RVC(1…n)的成像背景设置为空,即RVC输出图像中,只有保留有效三维模型的投影,空白区域背景为空。
控制RVC(1…n),产生一帧投影图像,此时得到的结果,即为RVC(1…n)在三维场景中所见内容的二维投影图像,相当于在三维场景中,RVC进了一次拍照,其产生结果图像,保存于显存中,保存图像的格式包括但不限于RGB,RGBA,ARGB等,如图11所示,背景为空白,图像中仅保留有三维场景的投影。
对每个子渲染图像中的像素进行设置,将完成渲染的子渲染图像中的像素按照投影分类设置,对于有投影的像素定义为有效像素,对于没有投影的像素定义为无效像素,如图13所示,RVC(2)的图像中灰色示为无效像素,根据设置的像素类型,设置为alpha通道值或透明色:
当RVC输出二维图像格式带有alpha通道。可以设置像素的alpha通道值0或255。
对于无效像素,设置alpha=0,代表此像素后续不参与计算;
对于有效像素,设置alpha=255,代表此像素后续需参与计算。
当RVC输出二维图像格式不带有alpha通道。可以设置某个不常用特殊颜色作为透明色。比如:设置RGB(255,0,255)作为颜色。
对于无效像素,色值=RGB(255,0,255),代表此像素后续不参与计算。
对于有效像素,色值=原色值,保持原色值不变,代表此像素后续需要参与计算。M(1),M(2),M(3),M(4)渲染完成并设置了像素通道值后的输出图像如图12-图15所示。
通过对视场摄像机输出图像的像素通道设置,减小了后续子渲染图像在进行融合时的数据量,提高了融合后渲染图像的精度,降低了其他背景的干扰。
将RVC(1…n)中渲染输出后的图像存放于显存,在将其传输至RCE的帧缓冲区,即RES(1…n)。各个结果图像传输是通过网络进行的,对于较大数据量的图像数据,可采用图像压缩后,再解压方法,减小传输数据量。RE(1…n)完成一帧渲染后,进入等待下一渲染请求状态。RCE等待接收到全部的RE(1…n)结果图像集后,进入下一处理环节。若其中有一个RE(n)渲染失败或超时,则清除全部结果重新开始任务,以达到同步的效果,保证后面的步骤能够顺利进行。
最后将输出的多个子渲染图像按照本申请中融合方法进行,如图16所示,完成三维场景的整体渲染。
RCE要综合根据各个RE(x)中,RVC的位置、方向,计算各RES(1..n)的叠加顺序Z-order。具体步聚如下:
因各个RVC(1…n)在全局坐标系下的三维坐标位置相同,即均坐标均为RVC(x,y,z)。
设:1<=i<=n,
在全局坐标下,每个RVC(x,y,z)的视场VF(i)的最近距离,即:MinRange(i)。
又设:
VF(i).top为VF(i)视场范围上边沿。
VF(i).bottom为VF(i)视场范围下边沿。
VF(i).left为VF(i)视场范围左边沿。
VF(i).right为VF(i)视场范围右边沿。
则有:
VF(i)视场左上角即为VF(i).topleft(x,y,z)。
VF(i)视场右上角即为VF(i).topright(x,y,z)。
VF(i)视场左下角即为VF(i).bottomleft(x,y,z)。
VF(i)视场右下角即为VF(i).bottomright(x,y,z)。
设点A=VF(x).topleft(x,y,z),点B=RVC(x,y,z),i=1,Range(i)=|AB|;
设点C=VF(x).topright(x,y,z),点B=RVC(x,y,z),i=2,Range(i)=|CB|;
设点D=VF(x).bottomleft(x,y,z),点B=RVC(x,y,z),i=3,Range(i)=|DB|;
设点E=VF(x).bottomright(x,y,z),点B=RVC(x,y,z),i=3,Range(i)=|EB|;
在Range(i)中找出最小中距离,即MinRange(i)。
对RVC(1…n),依次计算出与VF(1…n)的最小距离,MinRange(1…n)。
将MinRange(1…n)进行比较,按照由大至小的排序,得对应的RES(1…n)顺序,该顺序为子渲染图像进行融合的顺序。如子渲染图像的叠加融合顺序为RES(3),RES(4),RES(1),RES(2)。
按照RVC与各子渲染三维图的距离顺序,依次叠加结果图像RES(1…n),即由远到近,形成正确的遮挡效果,并且在运算过程中,像素alpha=0,或为透明色,不参与运算,如图所示,叠加融合计算过程中,按照新的顺序,将RES(1..n)的像素数据,依次复制到计算缓存区,并且当遇到alpha通道值为0或者像素的色值为既定透明色时,则不处理,最终形成与未分割前的三维场景对应的渲染图像,实现三维场景的渲染。
可选地,标记点的位置除了子观察区域中的四个顶点位置,还可以是中心位置,也可以在四个边界上设置不同的位置标记点,在此不做限制。
RCE可根据实际需求,将结果图像传输到客户端程序。若网络带宽有限,则可以通过图像编码的方法,将图像数据压缩后传输。客户端程序在接收后,解码还原图像,并进行展示。结果展示输出的方式包括但不限于以下:显示器输出、VR设备显示输出。
需要说明的是,以上步骤执行完成后,便完成了一帧图像的GPU协同渲染。为达到动态画面的目标,再按照之前的步骤进行后续帧的渲染,通常每秒要达到25帧以上,才能实现动态画面输出。
设:渲染设置帧率为fps,即每秒钟需要渲染的帧数。
在设定fps情况下,每帧渲染上限时间为MRT(max render time),单位ms。
即:MRT=1000ms/fps
设RCE在完整处理输出一帧后,所用时间URT(use render time),单位ms
设DRT(delta render time)为多余时间差值,即DRT=MRT–URT。
当DRT<=0时,说明处理帧时间已超过设定帧处理时间。此时无等,直接进入下一帧渲染。
当DRT>0时,说明已在设定时间内,完成一帧的输出任务,此时需等待DRT时间,以保证动态画面输出,同是节省运算能力。
当用户选择结束时,进行清理操作,如:清除RVC(1…n);除RE(1…n);清除缓存空间等,本申请的工作流程图如图5所示,
因此,通过本申请提供的一种基于多GPU协同的三维渲染方法,用户可以通过网络直接访问渲染结果,并且在移动设备上进行显示,同时通过控制子视场摄像机的位置和方向,达到和本地渲染一致的使用体验。
通过在三维引擎中设置摄像机(RVC),可以使三维引擎不在本地显示设备输出图像,通过RVC得到摄像机采集画面数据,可以进行后处理,或者传输至其他设备进行处理,在这种情况下,还可以将搭载多种商用三维引擎,使其具有多种输出方式。
本申请通过分割三维场景,将局部场景分别放入多个GPU中进行渲染运算,解决三维场景渲染需要的运算量大于一个独立GPU能提供的运算量时,渲染效率低的问题,并能达到实时渲染目的。由此,可以通过低运算能力GPU组合的方式,实现无限大三维场景的实时渲染,并向多用户提供渲染结果。
本发明所述方法,可在多种操作系统和硬件设备上运行,并达到组合计算的效果要。RE,RCE可以运行在不同构架物理机(如x64、ARM等)以及操作系统上(如:windows,linux等)。
通过本申请的方法可以实现同时多个用户位于系统中,设置各自的RVC,拥有自己观看的视角,达到多用户共享渲染的目地,从而可以实现集中计算设备,弱化端设备等目标。
通过建立渲染集群,充分利用不同类型的计算设备,使计算设备协同工作,达到设备充分利用的目标。
采用本发明方法,三维数据(包括网格、材制裁、贴图等),只存在系统内部,无需部属使用端本地,使用端仅接收最终渲染结果图像数据,并进行展示。使用端无法触及数据本身,不存在数据泄露问题,保证了三维数据在传输过程中的安全性。
第四实施例:
本发明第四实施例提供了一种基于多GPU协同的三维渲染系统,
图像获取模块二:用于获取渲染对象的三维场景;
分割模块:用于对获取的三维场景进行分割,获得多个子三维场景;
渲染模块:用于为每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
融合模块:用于按照如第一实施例所述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
进一步地,还包括如下模块:
在渲染模块前:在每个子三维场景中分别设置对应的子视场摄像机,其中所述每个子视场摄像机位于统一全局坐标系中;
子视场摄像机形成的子观察区域中至少设置一个位置标记点。
进一步地,还包括如下模块:
去噪模块:在输出多个子渲染图像前,将子视场摄像机的背景设置为空,将获得的子渲染图像分为投影区域和空白区域。
为了更好地理解本申请,下面结合具体案例进行说明:
案例一:智慧城市-大规模城市中三维实时渲染的应用
大规模城市三维实时渲染,被广泛应用于智慧城市领域之中,用来建立数字孪生平台,用于城市各方面的管理工作中。但是城市的规模特性是三维建模的数据量大,以及三维渲染对精度要求的增加,导致数据量大幅增加,而城市通常需要在单场景下进行三维渲染展示,如图17所示,是一个城市高精度的三维建模图,这种三维地图的数据量较大,采用现有技术中的渲染方法,通常是将大量的三维数据部属到使用端,采用高性能的GPU,但就此,也不能实现实时渲染要求。
采用本申请的基于多GPU协同的三维渲染和融合方法,首先将需要渲染的对象的三维模型根据GPU的数量或者其他方面的需求分割为多个子三维模型,然后将子三维模型通过系统分配至不同的GPU中进行渲染,在渲染的过程中,本申请的方法是在全局统一坐标系下进行,每个GPU对应的视场摄像机的在坐标系中的位置和偏转角度均相同,这样可以取得在同一视角下的子观察区域,在每个子观察区域中设置至少四个位置标记点,分别计算每个子观察区域每个标记点与对应的子视场摄像机之间的距离,并找出四个标记点中距离视场摄像机之间的第一距离,将每个子观察区域的第一距离进行排序,如按照距离视场摄像机由远到近的原则,将多个子渲染图像进行叠加融合,形成完整的渲染图像,实现实时渲染速度,用户通过网路直接访问渲染结果,并且在移动设备上进行显示,通过控制视场摄像机的视角的运动和变化,达到和整体渲染一致的使用体验。
采用本申请的融合渲染方法,建立云渲染平台,可以作为基础平台为智慧城市管理的其他平台提供渲染服务,如,城市管理平台,交通管理平台等,上层平台不需要考虑三维数据和三维渲染的问题。
案例二:在视频监控-三维视频融合中的应用
在视频监控领域中,将监控摄像机拍摄到的视频画面投影到三维模型中,可以实现监控区域动态场景的重现,展现出较强的空间地理信息特征,有利于用户进行整体观察,如图18所示,
摄像机画面的投影,需要对摄像视频进行解码和投影,但是一台主机解码性能有限,通常只能对20-30路视频进行解码和投影,导致现有技术中的三维视频融合系统只能在本地进行渲染,而三维模型数据在下载至本地主机不利于数据的安全,且由于视频解码能力的限制,使得三维视频融合只能在局部区域进行,不能进行全部融合。
采用本申请的基于多GPU协同的三维渲染和融合方法,将监控视频的解码和投影工作分配至不同的主机和GPU上进行,平均了运算负载,同时将监控区域三维场景分开进行渲染,很大程度上解决了算力不足的问题,使得监控场景和监控视频重现的能力得到无限的扩充,从而满足大规模应用的需求,比如,城市规模场景中,重现众多路数的实时监控图像,形成大规模动态数字孪生城市。
案例三:在地理信息管理-地理数据渲染的应用
地理信息管理系统(GIS)中,是将地理数据进行展示和应用。在传统的GIS系统中,通常是将矢量数据进行显示,随着三维数据采集技术的发展,通过倾斜摄影、点云扫描等方法,采集的三维数据精度大幅提升,同时数据量大幅增加。如图19为倾斜摄影生成三维数据。
采用本申请提供的基于多GPU协同的三维渲染和融合方法,通过将三维地理数据分块,并分配到不同的GPU的进行实时渲染,在渲染过程可以叠加地理标记信息(如:边界、道路等),最后形成用户需要的大规模高精度的地理信息展现。相比传统GIS系统的本地显示方式,用户在体验无差别的情况,实现高精度地理信息数据获取,同时也保证了地理数据的安全。
案例四:
元宇宙的概念,是近期提出的互联网概念,也是下一代互联网雏形,其本质上是建立一个虚拟的三维开放世界,用户可以通过远端设备(如:移动设备、VR眼镜等),实时访问三维开放世界,每个用户在虚拟世界中具有自己虚拟角色,众多虚拟角色组成虚拟社会。
在元宇宙的应用场景中,需要对虚拟世界的要素(如:建筑、空间、人物、事物等)进行实时的三维渲染,元宇宙巨量的三维数据不可能在本地端进行渲染操作,并且众多不同类型的设备需要实时获取渲染结果。
目前元宇宙的应用尚处于初期,三维展示的广度和精度处于较低的水平,其中三维场景的渲染能力是制约瓶颈。
采用申请提供的基于多GPU协同的三维渲染和融合方法,建立可元宇宙基础渲染平台,将元宇宙三维场景进行分布运算,通过整合各种算力,实现超大规模场景的实时渲染,并且可以进行渲染池的动态扩展,使得元宇宙的应用效果不仅限于当前的低质量水平,为后续元宇宙应用的扩大和提升提供空间。
第五实施例:
本发明第五实施例提供了一种可读介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如第一实施例所述的一种基于多GPU协同的三维渲染融合方法或如第三实施例所述的一种基于多GPU协同的三维渲染方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于多GPU协同的三维渲染融合方法,其特征在于,包括如下步骤:
步骤S10:获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
步骤S20:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距;
步骤S30:获取每个GPU渲染后的子渲染图像;
步骤S40:根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
2.如权利要求1所述的一种基于多GPU协同的三维渲染融合方法,其特征在于,步骤S10中,每个子三维场景中的子视场摄像机位于全局统一坐标系中,每个子视场摄像机的位置和方向相同。
3.如权利要求1所述的一种基于多GPU协同的三维渲染融合方法,其特征在于,步骤S10中,每个子观察区域中的位置标记点包括第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点,且第一位置标记点、第二位置标记点、第三位置标记点、第四位置标记点依次为每个子观察区域中的四个预设位置点。
4.如权利要求1所述的一种基于多GPU协同的三维渲染融合方法,其特征在于,步骤S40中,将每个子观察区域中位置标记点到子视场摄像机的第一距离进行比较,将每个子渲染图像按照到子视场摄像机由远到近/由近到远的距离顺序进行融合。
5.一种基于多GPU协同的三维渲染融合系统,其特征在于,包括如下模块:
标记点模块:用于获取子观察区域,并分别计算每个子观察区域中每个位置标记点与对应的子视场摄像机之间的距离,其中子观察区域为每个子三维场景对应的子视场摄像机中形成的观察区域;
计算模块:计算获得每个子观察区域中位置标记点与子视场摄像机之间的第一距离;其中,当位置标记点为一个时,所述第一距离为该位置标记点与对应的子视场摄像机之间的距离,当位置标记点为多个时,所述第一距离为多个位置标记点与子视场摄像机之间的最短距
图像获取模块一:用于获取每个GPU渲染后的子渲染图像;
融合模块:用于根据每个子观察区域中位置标记点与子视场摄像机之间的第一距离,获得每个子渲染图像进行融合时的顺序,通过计算形成完整的渲染图像。
6.一种基于多GPU协同的三维渲染方法,其特征在于,包括如下步骤:
步骤S100:获取渲染对象的三维场景;
步骤S200:对获取的三维场景进行分割,获得多个子三维场景;
步骤S300:每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
步骤S400:按照如权利要求1-4之一所述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
7.如权利要求6所述的一种基于多GPU协同的三维渲染方法,其特征在于,在进行步骤S300前还包括如下步骤:
在每个子三维场景中分别设置对应的子视场摄像机,其中所述每个子视场摄像机位于统一全局坐标系中;
子视场摄像机形成的子观察区域中至少设置一个位置标记点。
8.如权利要求6所述的一种基于多GPU协同的三维渲染方法,其特征在于,在步骤S300中还包括如下步骤:
在输出多个子渲染图像前,将子视场摄像机的背景设置为空,将获得的子渲染图像分为投影区域和空白区域。
9.一种基于多GPU协同的三维渲染系统,其特征在于,
图像获取模块二:用于获取渲染对象的三维场景;
分割模块:用于对获取的三维场景进行分割,获得多个子三维场景;
渲染模块:用于为每个子三维场景至少分配一个GPU对其进行渲染,子视场摄像机将子观察区域中的三维场景映射为二维渲染图像,将二维渲染图像记为子渲染图像;
融合模块:用于按照如权利要求1-4之一所述的一种基于多GPU协同的三维渲染融合方法对多个子渲染图像进行融合,实现三维场景的渲染。
10.一种可读介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如权利要求1-4之一所述的一种基于多GPU协同的三维渲染融合方法或如权要求6-8之一所述的一种基于多GPU协同的三维渲染方法。
CN202210137934.4A 2022-02-15 2022-02-15 一种基于多gpu协同的三维渲染融合方法、系统、介质 Pending CN114494559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210137934.4A CN114494559A (zh) 2022-02-15 2022-02-15 一种基于多gpu协同的三维渲染融合方法、系统、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210137934.4A CN114494559A (zh) 2022-02-15 2022-02-15 一种基于多gpu协同的三维渲染融合方法、系统、介质

Publications (1)

Publication Number Publication Date
CN114494559A true CN114494559A (zh) 2022-05-13

Family

ID=81480920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210137934.4A Pending CN114494559A (zh) 2022-02-15 2022-02-15 一种基于多gpu协同的三维渲染融合方法、系统、介质

Country Status (1)

Country Link
CN (1) CN114494559A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116681869A (zh) * 2023-06-21 2023-09-01 西安交通大学城市学院 基于虚拟现实应用的文物3d展示处理方法
CN116777730A (zh) * 2023-08-25 2023-09-19 湖南马栏山视频先进技术研究院有限公司 一种基于资源调度的gpu效能提高方法
WO2024087883A1 (zh) * 2022-10-28 2024-05-02 腾讯科技(深圳)有限公司 视频画面渲染方法、装置、设备和介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087883A1 (zh) * 2022-10-28 2024-05-02 腾讯科技(深圳)有限公司 视频画面渲染方法、装置、设备和介质
CN116681869A (zh) * 2023-06-21 2023-09-01 西安交通大学城市学院 基于虚拟现实应用的文物3d展示处理方法
CN116681869B (zh) * 2023-06-21 2023-12-19 西安交通大学城市学院 基于虚拟现实应用的文物3d展示处理方法
CN116777730A (zh) * 2023-08-25 2023-09-19 湖南马栏山视频先进技术研究院有限公司 一种基于资源调度的gpu效能提高方法
CN116777730B (zh) * 2023-08-25 2023-10-31 湖南马栏山视频先进技术研究院有限公司 一种基于资源调度的gpu效能提高方法

Similar Documents

Publication Publication Date Title
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
CN114494559A (zh) 一种基于多gpu协同的三维渲染融合方法、系统、介质
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
US9659400B2 (en) Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices
Decoret et al. Multi‐layered impostors for accelerated rendering
US6222551B1 (en) Methods and apparatus for providing 3D viewpoint selection in a server/client arrangement
US9055277B2 (en) Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images
CN110930489A (zh) 用于渲染立体视觉全景图像的实时系统和方法
WO2019040222A1 (en) RENDERING AN IMAGE FROM COMPUTER GRAPHICS USING TWO COMPUTER RESTITUTION DEVICES
US10217259B2 (en) Method of and apparatus for graphics processing
CN110945868B (zh) 用于生成场景的平铺三维图像表示的装置和方法
Bonatto et al. Real-time depth video-based rendering for 6-DoF HMD navigation and light field displays
US8698830B2 (en) Image processing apparatus and method for texture-mapping an image onto a computer graphics image
CN114255315A (zh) 一种渲染方法、装置及设备
CN113593027A (zh) 一种三维航电显控界面装置
US9401044B1 (en) Method for conformal visualization
CN111091491B (zh) 一种等距圆柱投影的全景视频像素再分配方法及系统
CN114926612A (zh) 空中全景图像处理与沉浸式显示系统
CN113546410B (zh) 地形模型渲染方法、装置、电子设备和存储介质
Trapp et al. Colonia 3D communication of virtual 3D reconstructions in public spaces
US11361477B2 (en) Method for improved handling of texture data for texturing and other image processing tasks
Borshukov New algorithms for modeling and rendering architecture from photographs
CN116075860A (zh) 信息处理装置、信息处理方法、视频分发方法和信息处理系统
Mueller The sort-first architecture for real-time image generation
Popescu et al. Complex virtual environments on thin vr systems through continuous near-far partitioning

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