CN117078868A - 基于信创软硬件的虚拟现实引擎及其建模和渲染方法 - Google Patents

基于信创软硬件的虚拟现实引擎及其建模和渲染方法 Download PDF

Info

Publication number
CN117078868A
CN117078868A CN202311337136.7A CN202311337136A CN117078868A CN 117078868 A CN117078868 A CN 117078868A CN 202311337136 A CN202311337136 A CN 202311337136A CN 117078868 A CN117078868 A CN 117078868A
Authority
CN
China
Prior art keywords
rendering
model
sub
exhibition hall
target
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
Application number
CN202311337136.7A
Other languages
English (en)
Other versions
CN117078868B (zh
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.)
Beijing Taiji Information System Technology Co ltd
Original Assignee
Beijing Taiji Information System 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 Beijing Taiji Information System Technology Co ltd filed Critical Beijing Taiji Information System Technology Co ltd
Priority to CN202311337136.7A priority Critical patent/CN117078868B/zh
Publication of CN117078868A publication Critical patent/CN117078868A/zh
Application granted granted Critical
Publication of CN117078868B publication Critical patent/CN117078868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种基于信创软硬件的虚拟现实引擎及其建模和渲染方法,属于数据处理领域;数据支撑库包括组件库、语义库和规则库,用户基于组件库、语义库和规则库能够选择相应组件构建模型,无需用户从头构建组件,大大降低了模型构建的复杂度。核心处理层中的场景渲染模块能够将较大的目标模型进行分区域渲染,并将每个子区域分配一个渲染设备,可以同步对子区域进行渲染,提高目标模型的渲染速度的同时,降低了对渲染设备处理能力的要求,整个过程中模型构建人员和渲染人员工作量低,模型构建时间快,场景渲染速度快。

Description

基于信创软硬件的虚拟现实引擎及其建模和渲染方法
技术领域
本发明涉及数据处理领域,特别地,涉及一种基于信创软硬件的虚拟现实引擎及其建模和渲染方法。
背景技术
运用虚拟现实技术将传统实体展厅资源虚拟数字化,可以极大地增强展厅及展品的表现能力。数字展厅在我国已得到广泛的应用,开发者运用虚拟现实技术,把实体展厅展品进行仿真显示和查看展品信息,解决了传统展厅的时间、空间、地域限制。
数字展厅的构建包括建模和渲染两部分,现有技术中在建模和渲染时,都是开发人员根据需要对数字展厅中的物品进行一一建模,工作量巨大。等建模完成后再由渲染人员手动渲染,而由于模型较大,渲染人员的工作量也非常大。这样数字展厅的构建过程中,相关人员工作量大,构建时间过长。
发明内容
为了克服现有技术的不足,本发明提供一种基于信创软硬件的虚拟现实引擎及其建模和渲染方法,以解决数字展厅的构建过程中,相关人员工作量大,构建时间过长的问题。
本发明解决其技术问题所采用的技术方案是:
第一方面,提供一种基于信创软硬件的虚拟现实引擎,所述虚拟现实引擎框架包括:数据支撑库、核心处理层和基础功能层;
所述数据支撑库包括:组件库、语义库和规则库;所述组件库中包括预先配置的模型组件,所述语义库设置有信创领域的标准名称,当用户为组件库中模型组件输入名称时,将输入名称与所述语义库的标准名称进行匹配,并将匹配的标准名称与所述模型组件进行关联;所述规则库包括每个模型的组件构成规则,若在构建模型时出现错误的组件组合,则进行提示;根据所述数据支撑库,用户通过选择相应组件构建得到目标模型;
所述核心处理层包括场景渲染模块,所述场景渲染模块将所述目标模型划分为多个子区域,并基于用户输入的渲染参数采用多个设备对所述子区域渲染,根据多个设备的渲染结果得到目标模型的渲染模型;
所述基础功能层包括用于实现所述虚拟现实引擎的基础功能的模块。
进一步地,每个渲染子区域的设备包括多个GPU,当所述设备渲染所述子区域时,对于渲染过程中每个任务的任务代码进行解析,将每个任务拆分为多个步骤,并将不存在关联的步骤分配到不同的GPU中并行处理。
进一步地,所述核心处理层还包括:
图像处理模块,用于完成场景的显示.它按照人类的正常视觉对场景进行处理,裁剪掉视域外的内容,然后把裁剪后场景投影到屏幕空间;
事件处理模块,用于监测虚拟现实引擎的事件,当检测到预设事件时,将预设事件对应的预设消息发送到与该事件相关的模块进行处理;
碰撞检测模块,用于对所述渲染模型进行碰撞测试。
进一步地,所述基础功能层包括:
网络通信模块,用于为所述虚拟现实引擎提供网络通信、数据传输以及控制功能;
输入输出模块,用于负责接收输入设备的控制指令以及输入输出功能的管理;
音乐音效模块,用于完成所述虚拟现实引擎的声音和音效处理;
辅助工具模块,用于为所述虚拟现实引擎提供辅助功能;
脚本解释模块,用于描述一个或多个对象行为的数据结构或语;
中央控制模块,用于为用户提供可选择的控制命令;
基本几何模块,用于实现基本的二维和三维几何代数运算。
另一方面,提供一种数字展厅建模和渲染方法,应用于上述的虚拟现实引擎,所述方法包括:
根据用户组件选择和输入的参数信息得到数字展厅模型;
根据渲染设备数据处理能力和所述数字展厅模型的结构,划分所述数字展厅模型得到多个子区域;
为每个子区域分配一个渲染设备,并将所述子区域文件发送给渲染设备;
获取每个子区域的渲染参数,并根据所述渲染参数对所述子区域进行渲染得到渲染子区域;
将每个渲染子区域进行合并得到渲染数字展厅模型。
进一步地,每个所述渲染设备包括多个GPU;
在为每个子区域分配一个渲染设备后,所述渲染设备接收渲染过程中的所有任务,将每个任务转换为可识别的任务代码;
根据预设字符将每个任务的任务代码分为多个步骤;
遍历每个步骤中的操作字符,获取所述操作字符前后的目标字符,所述操作字符前后的目标字符包括操作对象;
若所述目标字符不在预设的常用非对象字符集中,则将所述目标字符作为操作对象;
若目标步骤中的任一操作对象与在先步骤的所有操作对象均不相同,则将所述目标步骤与所述在先步骤分配到不同GPU中,所述在先步骤为同一任务中代码执行顺序在所述目标步骤中之前的步骤。
进一步地,所述根据渲染设备的数据能力和所述数字展厅模型的结构,划分所述数字展厅模型得到多个子区域,包括:
获取所有空闲的渲染设备的数据处理能力和所述数字展厅模型的大小;
按照所述数据处理能力由大到小的顺序对所有空闲的渲染设备进行排序;
根据所述数字展厅模型的大小选择所述排序中前N个空闲的渲染设备作为目标渲染设备,所述N为正整数,所有目标渲染设备的数据处理能力能够满足处理所述数字展厅模型的要求;
根据所述数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分所述数字展厅模型,得到N个子区域。
进一步地,所述根据所述数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分所述数字展厅模型,得到N个子区域,包括:
获取所述数字展厅模型待渲染面的图像;
根据每个目标渲染设备的数据处理能力确定能够处理的子区域的最大面积;
采用预训练的图像分割模型对所述图像沿组件所在线条进行分割得到所述子区域,以使每个子区域的面积小于最大面积,并且每个子区域中组件均是完整组件。
进一步地,在所述渲染设备渲染过程中,接收所述渲染设备按照预设规则上传的子区域渲染图像;
将所述子区域渲染图像与渲染前所述子区域的图像进行图像差分处理,得到新增渲染数据;
根据所述新增渲染数据对所述数字展厅模型相应区域进行处理得到渲染过程中所述数字展厅模型的预览图像。
进一步地,所述渲染设备按照预设规则上传的子区域渲染图像,包括:
渲染设备每隔预设周期获取所述渲染过程的子区域渲染图像;
根据所述子区域图像与渲染前的所述子区域图像确定图像改动面积;
当所述图像改动面积大于阈值时,将所述子区域渲染图像上传。
有益效果:
本申请技术方案提供一种基于信创软硬件的虚拟现实引擎及其建模和渲染方法,数据支撑库包括组件库、语义库和规则库,用户基于组件库、语义库和规则库能够选择相应组件构建模型,无需用户从头构建组件,大大降低了模型构建的复杂度。核心处理层中的场景渲染模块能够将较大的目标模型进行分区域渲染,并将每个子区域分配一个渲染设备,可以同步对子区域进行渲染,提高目标模型的渲染速度的同时,降低了对渲染设备处理能力的要求,整个过程中模型构建人员和渲染人员工作量低,模型构建时间快,场景渲染速度快。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于信创软硬件的虚拟现实引擎框架示意图;
图2是本发明实施例提供的一种数字展厅建模和渲染方法流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
信创展厅按照不同区域划分,包括成果展示区、能力展示区、终端展示区、数据中心机房、试验区、办公区等,各区域展示不同的功能,具备不同的模型,其中:
(1)成果展示区:包括电视机、芯片、晶圆、半导体、获奖证书、资质证书、各类宣传物料、柜子等;
(2)能力展示区:包括电视机、鼠标、键盘、芯片、运行的系统、专利证书、软件著作权等;
(3)终端展示区:包括笔记本、电脑、一体机、瘦客户端、打印机、扫描仪等;
(4)数据中心机房:包括服务器、防火墙、路由器、空调、摄像头、机架等;
(5)试验区和办公区:包括电脑、鼠标、键盘、桌椅等;
(6)其他区域:包括显示大屏、音响、演讲桌、椅子等。
由此可见,信创展厅包含上百种模型,每个模型又包含多种组件,比如服务器包括CPU、内存、硬盘、主板、电源、显卡、网络接口卡等,通过手动建模将耗费大量的人力和精力。
为解决上述问题,本发明实施例提供了一种基于信创软硬件的虚拟现实引擎,参照图1,虚拟现实引擎框架包括:数据支撑库、核心处理层和基础功能层;
数据支撑库包括:组件库、语义库和规则库;组件库中包括预先配置的模型组件,语义库设置有信创领域的标准名称,当用户为组件库中模型组件输入名称时,将输入名称与语义库的标准名称进行匹配,并将匹配的标准名称与模型组件进行关联;规则库包括每个模型的组件构成规则,若在构建模型时出现错误的组件组合,则进行提示;根据数据支撑库,用户通过选择相应组件构建得到目标模型;
即数据支撑库的提供组件库能够提供可供用户选择的组件,用户通过输入组件信息或者托拉拽的形式构建模型,语义库中预先配置了信创领域的标准名称,用户为组件定义或者输入名称时,计算用户输入内容与语义库中的标准名称的相似度,大于或等于预设相似度时,选择相似度最大的标准名称作为组件的定义或者组件,小于预设相似度时,提示无对应标准名称,方便用户采用统一的名称。规则库则预设配置了组件之间的规则,以避免用户使用组件搭建模型时出现错误的组件组合。
核心处理层包括场景渲染模块,场景渲染模块将目标模型划分为多个子区域,并基于用户输入的渲染参数采用多个设备对子区域渲染,根据多个设备的渲染结果得到目标模型的渲染模型;需要说明的是,由于渲染时对于设备的处理能力要求很高,要达到较好的渲染效果,而一般的设备处理能力较小,无法满足较大模型的渲染。因此本发明实施例的场景渲染模块将目标模型划分为多个子区域,每个子区域交由一个设备进行渲染。具体地,获取所有空闲的渲染设备的数据处理能力和数字展厅模型的大小;按照数据处理能力由大到小的顺序对所有空闲的渲染设备进行排序;根据数字展厅模型的大小选择排序中前N个空闲的渲染设备作为目标渲染设备,N为正整数,所有目标渲染设备的数据处理能力能够满足处理数字展厅模型的要求;根据数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分数字展厅模型,得到N个子区域。获取数字展厅模型待渲染面的图像;根据每个目标渲染设备的数据处理能力确定能够处理的子区域的最大面积;采用预训练的图像分割模型对图像沿组件所在线条进行分割得到子区域,以使每个子区域的面积小于最大面积,并且每个子区域中组件均是完整组件。
需要说明的是,每个渲染子区域的设备包括多个GPU,当设备渲染子区域时,对于渲染过程中每个任务的任务代码进行解析,将每个任务拆分为多个步骤,并将不存在关联的步骤分配到不同的GPU中并行处理。现有技术中虽然一个设备可以包括多个GPU,也存在多个GPU并行处理的方案,但是现有技术中的并行处理方案是多个任务并行处理,对于同一个任务均是放在一个GPU中进行处理,但是如果一个任务步骤较多时,完成这个任务的时间为完成每个步骤的时间之和,而将任务拆分为多个步骤后,将不存在关联的步骤分配到不同的GPU中处理,将存在关联的步骤分配到一个GPU,这样同一个任务中可以分配到多个GPU同时进行处理,完成任务的时间变为了最晚完成步骤GPU所用的时间(在实际过程中还需要加上步骤拆分以及后续步骤执行完得到的步骤结果可能存在的步骤结果整理时间,但是,相比于一个GPU执行完整个任务的时间,这种方式总体所用时间非常少)。示例性的,若一个任务分为3个步骤,A、B、C,每个步骤执行完毕的所用时间均为a,现有技术中完成该任务所用时间为3a。按照本发明实施例的方案,假如步骤A和B关联,步骤C与A、B均不关联,这样将步骤A、B分配到一个GPU中,然后将步骤C分配到另一个GPU中,完成该任务所用时间为2a;如果步骤A、B、C均不关联,将三个步骤分到三个GPU中,每个GPU执行一个步骤,整个任务的完成时间为a。
具体地,将每个任务转换为可识别的任务代码;每个任务是基于用户的单独一个操作或者一个请求生成的,而设备执行这个任务需要转换为可识别的代码。例如,用户想要在某个区域显示折射光线,用户通过预设按钮或图标下发任务,任务后台自动转换为任务代码。
根据预设字符将每个任务的任务代码分为多个步骤;以显示反射光线的任务为例,设备内部执行的步骤包括:确定光源位置、确定反射面、确定反射角度(或入射角度)、生成反射光线。即生成的任务代码包括这四个步骤的代码。预设字符为每个步骤开头或结尾的字符,示例性的,预设字符包括但不限于,函数名、方法名、大括号,start和end。每种类型代码语言预设有预设字符。如C和java开头结尾都是大括号,大括号用来标识每一个函数域,主程序(即整个任务代码)就是一个函数域,主程序里有几个子函数(即步骤代码),结尾就会有几对大括号。
遍历每个步骤中的操作字符,操作字符包括预设的用于定义的字符,用于赋值的字符等,获取操作字符前后的目标字符,操作字符前后的目标字符包括操作对象,因为操作字符前后不仅包括操作对象还包括其他的常规字符,因此需要采用常用非对象字符集进行判断目标字符是否包括操作对象;若目标字符不在预设的常用非对象字符集中,则将目标字符作为操作对象;若目标步骤中的任一操作对象与在先步骤的所有操作对象均不相同,则将目标步骤与在先步骤分配到不同GPU中,在先步骤为同一任务中代码执行顺序在目标步骤中之前的步骤。示例性的,在显示反射光线的任务中,代码执行顺序为:确定光源位置、确定反射面、确定反射角度(或入射角度)、生成反射光线。由于确定光源位置和确定反射面中不包括相同操作对象(一个为光源位置,一个为反射面),因此可以将两个步骤分别分配到不同GPU执行,确定反射角度(或入射角度)和生成反射光线需要等待前两个步骤执行完后再进行,因此可以和确定光源位置和确定反射面任一步骤分配到同一GPU,也可以单独分配一个GPU,这样执行整体所用时间可以节省一个确定光源位置或确定反射面的时间,提高了执行效率。可以理解的是,为了能够清楚的说明本发明方案,本发明实施例采用了简化说明的方式。
核心处理层还包括:
图像处理模块,用于完成场景的显示.它按照人类的正常视觉对场景进行处理,裁剪掉视域外的内容,然后把裁剪后场景投影到屏幕空间;事件处理模块,用于监测虚拟现实引擎的事件,当检测到预设事件时,将预设事件对应的预设消息发送到与该事件相关的模块进行处理;碰撞检测模块,用于对渲染模型进行碰撞测试。
综合考虑渲染效率、碰撞检测以及编辑的方便性等因素,本发明实施例采用一种树状结构来组织场景中的物品。场景组织结构本质上是一棵树,从上到下清楚地体现出场景间的从属关系。利用树节点的层次结构来组织场景中的各种物品,例如信创展厅包括成果展示区、能力展示区、终端展示区、数据中心机房、试验区、办公区等不同区域,而数据中心机房下分机架、通风系统、监控系统等,机架下分服务器、防火墙、路由器等,服务器下分CPU、内存、硬盘、主板、电源、显卡、网络接口卡等。最顶层是最大的场景,它容纳下面的场景。在进行场景建模时,按照从下到上的原则逐层创建。这些独立存在于场景中的各个实体单独建模,并将其相应的XML模型以独立的磁盘文件形式进行存储。XML模型允许嵌套,完成这一任务有两个元@Inline和Inline。例如,可在描述展厅的XML模型中适当位置处嵌入各个实体的模型。这种“场景拆分”的设计思想有两个优点一是简化并缩短了描述场景的XML模型,二是实现了模型的复用。
展厅中大部分模型都是由不同的组件组合而成,如服务器包括CPU、内存、硬盘、主板、电源、显卡、网络接口卡等。将这几样物体按空间顺序有序地放置就可以生成一个简单的服务器。这就涉及到构成组合实体的几何体间的位置关系和显示大小等问题。每一个几何体及其它几何体之间再加入Transform节点并进行修改,可用于平移(translation)、旋转(rotation)和缩放(scale)构造单元,实现构造单元的合理布置。如<Transformtranslation="1 0 1"rotation="0 1 0 1.571" scale="2 22">说明几何体位置坐标为101,绕Y轴旋转90°, x.Y、Z方向上都按原模型的二倍显示。简单的转换可以改变几何体的位置、朝向和大小,复杂的变换可通过子坐标系的变换和嵌套,利用平移、旋转和缩放等组合及巧妙地设置参数,可以变换出许多衍生体。
复杂形体可能由多个相同的简单实体组合而成,对于需要重复出现的物体,采用重复引用的方法,即只对一个原始造型进行属性定义,并用 DEF语句定义该对象所属节点的名称,在以后的相同对象定义中,只需用USE语句引用已定义的节点名便可获得对象的完整复制,再通过几何变换得到其他位置的物体。行为实体建模则可以通过添加一些插补器(Interpolator)或传感器(Sensor),通过事件的传递来进行实时的交互,做出动态的效果,使浏览者在虚拟世界中如同身临其境。例如,用户参观展厅,可以点击鼠标控制系统的运行,对某些对象进行了交互设计。
交互功能是通过一系列交互传感器来实现的。接触传感器TouchSensor节点用于创建检测用户基于指点设备(如鼠标、操纵杆等)的动作,并将其转换后以各种形式的事件加以输出。环境传感器在浏览者选取、保持选取并移动指点设备时产生事件输出,包括CylinderSensor节点和SphereSensor节点。感知传感器用来感知用户在场景中是否可见其中的造型或用户与造型的接近程度,包括 VisibilitySensor节点和ProximitySensor 节点。
在构建完实体模型后在展厅建模中可以加入背景,虚拟空间背景分为全景空间背景和天体空间背景两种;全景空间背景是一个将造型包围在里面的空间立方体,具有前、后、左、右、上、下六个平面,可以根据需要设置不同的材质和图片。天体空间背景是一个无穷大的空间球体,分为天空背景和地面背景。天空和地面的划分是以地平线为界。地平线位于原始坐标系XOZ平面向后延伸的无穷远处,上面的球体是天空,下面的球体是地面。背景和造型的嵌套关系是:造型在最里面,全景空间背景的立方体为中间包围层,天体空间背景的无穷大球体是最外面的包围层。如果同时增加了全景空间和天体空间两种背景,可以通过设置全景空间背景的透明度值决定能否看到天空和地面的颜色。设置背景是通过设定Background背景节点的各域的参数来实现的。
基础功能层包括用于实现虚拟现实引擎的基础功能的模块。基础功能层包括:网络通信模块,用于为虚拟现实引擎提供网络通信、数据传输以及控制功能;输入输出模块,用于负责接收输入设备的控制指令以及输入输出功能的管理;音乐音效模块,用于完成虚拟现实引擎的声音和音效处理;辅助工具模块,用于为虚拟现实引擎提供辅助功能;脚本解释模块,用于描述一个或多个对象行为的数据结构或语;中央控制模块,用于为用户提供可选择的控制命令;基本几何模块,用于实现基本的二维和三维几何代数运算。
本发明实施例提供的基于信创软硬件的虚拟现实引擎,数据支撑库包括组件库、语义库和规则库,用户基于组件库、语义库和规则库能够选择相应组件构建模型,无需用户从头构建组件,大大降低了模型构建的复杂度。核心处理层中的场景渲染模块能够将较大的目标模型进行分区域渲染,并将每个子区域分配一个渲染设备,可以同步对子区域进行渲染,提高目标模型的渲染速度的同时,降低了对渲染设备处理能力的要求,整个过程中模型构建人员和渲染人员工作量低,模型构建时间快,场景渲染速度快。
为了进一步的说明本发明的技术方案,本发明实施例提供一种数字展厅建模和渲染方法,应用于上述实施例提供的虚拟现实引擎,如图2所示,方法包括:
S11:根据用户组件选择和输入的参数信息得到数字展厅模型;用户通过拖拉拽在组件库中进行组件选择并搭建模型,然后输入各个组件的参数信息对组件进行定义以形成数字展厅模型。
S12:根据渲染设备数据处理能力和数字展厅模型的结构,划分数字展厅模型得到多个子区域;具体地,获取所有空闲的渲染设备的数据处理能力和数字展厅模型的大小;按照数据处理能力由大到小的顺序对所有空闲的渲染设备进行排序;根据数字展厅模型的大小选择排序中前N个空闲的渲染设备作为目标渲染设备,N为正整数,所有目标渲染设备的数据处理能力能够满足处理数字展厅模型的要求;根据数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分数字展厅模型,得到N个子区域。
这样能够由N个目标渲染设备同时渲染数字展厅模型,降低了目标渲染设备的数据处理能力的要求,且多个目标渲染设备能够同时对数字展厅模型进行渲染,大大加快了数字展厅模型的渲染速度。
得到的N个子区域中每个子区域都可以匹配N个目标渲染设备在一个目标渲染设备的数据处理能力,且至少保证N-1个目标渲染设备的数据处理能力得到最大利用,这样的划分方式能够保证尽可能充分利用N-1个目标渲染设备的数据处理能力,避免数据处理能力的浪费。
需要说明的是,在划分子区域时,如果随意划分,可能导致同一组件被分为两块或多块,而一般同一组件一般渲染时渲染方式相同,若分为两块或多块会使相应渲染人员在目标渲染设备渲染时都需要查看该组件的渲染方式和参数,而若分配到同一个目标渲染设备时,只需要一个渲染人员查看渲染方式和参数即可。因此,作为本发明实施例一种可选地的实现方式,根据数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分数字展厅模型,得到N个子区域,包括:获取数字展厅模型待渲染面的图像;根据每个目标渲染设备的数据处理能力确定能够处理的子区域的最大面积;采用预训练的图像分割模型对图像沿组件所在线条进行分割得到子区域,以使每个子区域的面积小于最大面积,并且每个子区域中组件均是完整组件。可以理解的是,一般模型中只需要渲染外部可视部分即可,因此获取模型表面待渲染面的图像,将最大面积和得到的图像输入到预训练的图像分割模型,图像分割模型沿组件所在线条进行分割输出分割方案,然后根据分割方案划分数字展厅模型得到子区域。
S13:为每个子区域分配一个渲染设备,并将子区域文件发送给渲染设备;其中,子区域文件包括子区域的渲染时所需的参数。
S14:获取每个子区域的渲染参数,并根据渲染参数对子区域进行渲染得到渲染子区域;为提高渲染速度,可以采用自动渲染软件,根据子区域文件内的参数对子区域进行自动渲染。或者将只需要的渲染参数发送给渲染人员,以使渲染人员手动进行渲染。需要说明的是,渲染过程中采用的重要部件为GPU,即图形处理器(英语:graphics processingunit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,渲染效率与GPU的性能息息相关。例如国外的一些GPU比国内GPU性能好很多,在进行渲染时,国外GPU渲染速率都要比国内的GPU快。而由于某些原因国外GPU不易获得,本发明实施例对国内GPU或者性能差的GPU进行并行优化,以使GPU性能较低时也可以提高渲染速率。主要方案为:针对渲染过程中每个任务进行拆分,将拆分的分别分配到多个GPU内进行并行处理。
具体的,每个渲染设备包括多个GPU;在为每个子区域分配一个渲染设备后,渲染设备接收渲染过程中的所有任务,将每个任务转换为可识别的任务代码;根据预设字符将每个任务的任务代码分为多个步骤;遍历每个步骤中的操作字符,获取操作字符前后的目标字符,操作字符前后的目标字符包括操作对象;若目标字符不在预设的常用非对象字符集中,则将目标字符作为操作对象;若目标步骤中的任一操作对象与在先步骤的所有操作对象均不相同,则将目标步骤与在先步骤分配到不同GPU中,在先步骤为同一任务中代码执行顺序在目标步骤中之前的步骤。
S15:将每个渲染子区域进行合并得到渲染数字展厅模型。
由于将数字展厅模型划分为多个子区域,每个子区域的渲染只能看到单独子区域的渲染效果,无法得到该区域渲染时应用在整体数字展厅模型时的渲染效果。因此本发明实施例在渲染设备渲染过程中,接收渲染设备按照预设规则上传的子区域渲染图像;将子区域渲染图像与渲染前子区域的图像进行图像差分处理,得到新增渲染数据;根据新增渲染数据对数字展厅模型相应区域进行处理得到渲染过程中数字展厅模型的预览图像。图像差分处理后,能够得到改动部分的渲染数据,然后根据改动部分的渲染数据直接对相应模型进行着色等修改操作,这样结合每个子区域的新增区域,能够得到整体数字展厅模型的预览图像,确定子区域的渲染在整体数字展厅模型中的渲染效果,以免渲染人员根据预览图像的预览效果调整渲染参数。
作为本发明实施例一种优选的实现方式,渲染设备按照预设规则上传的子区域渲染图像,包括:渲染设备每隔预设周期获取渲染过程的子区域渲染图像;根据子区域图像与渲染前的子区域图像确定图像改动面积;当图像改动面积大于阈值时,将子区域渲染图像上传。当图像改动面积较小时,其渲染效果不明显,因此需要在改动面积大于阈值时将子区域渲染图像上传。
在实际处理过程中,由于划分的子区域的面积不同,若以固定值为阈值时,当子区域图像面积过大时,上传的子区域渲染图像占子区域的比值较小,整体预览效果不明显且需要上传次数较高,而当子区域图像面积过小时;上传的子区域渲染图像占子区域的比值较大,无法及时根据预览效果调整渲染参数。为了解决这一技术问题,本发明实施例根据渲染设备处理能力和子区域的面积确定阈值。具体地,若子区域图像面积与该渲染设备处理能力所能处理的最大图像面积的比值大于或等于预设比值,如90%,具体根据实际需要确定。则将阈值确定为最大图像面积与预设比例(如5%,具体根据实际需要确定)的乘积。若子区域图像面积与最大图像面积的比值小于预设比值,则将阈值确定为子区域图像面积与预设比例的乘积。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于信创软硬件的虚拟现实引擎,其特征在于,所述虚拟现实引擎框架包括:数据支撑库、核心处理层和基础功能层;
所述数据支撑库包括:组件库、语义库和规则库;所述组件库中包括预先配置的模型组件,所述语义库设置有信创领域的标准名称,当用户为组件库中模型组件输入名称时,将输入名称与所述语义库的标准名称进行匹配,并将匹配的标准名称与所述模型组件进行关联;所述规则库包括每个模型的组件构成规则,若在构建模型时出现错误的组件组合,则进行提示;根据所述数据支撑库,用户通过选择相应组件构建得到目标模型;
所述核心处理层包括场景渲染模块,所述场景渲染模块将所述目标模型划分为多个子区域,并基于用户输入的渲染参数采用多个设备对所述子区域渲染,根据多个设备的渲染结果得到目标模型的渲染模型;
所述基础功能层包括用于实现所述虚拟现实引擎的基础功能的模块。
2.根据权利要求1所述的虚拟现实引擎,其特征在于:每个渲染子区域的设备包括多个GPU,当所述设备渲染所述子区域时,对于渲染过程中每个任务的任务代码进行解析,将每个任务拆分为多个步骤,并将不存在关联的步骤分配到不同的GPU中并行处理。
3.根据权利要求1所述的虚拟现实引擎,其特征在于:所述核心处理层还包括:
图像处理模块,用于完成场景的显示.它按照人类的正常视觉对场景进行处理,裁剪掉视域外的内容,然后把裁剪后场景投影到屏幕空间;
事件处理模块,用于监测虚拟现实引擎的事件,当检测到预设事件时,将预设事件对应的预设消息发送到与该事件相关的模块进行处理;
碰撞检测模块,用于对所述渲染模型进行碰撞测试。
4.根据权利要求1所述的虚拟现实引擎,其特征在于:所述基础功能层包括:
网络通信模块,用于为所述虚拟现实引擎提供网络通信、数据传输以及控制功能;
输入输出模块,用于负责接收输入设备的控制指令以及输入输出功能的管理;
音乐音效模块,用于完成所述虚拟现实引擎的声音和音效处理;
辅助工具模块,用于为所述虚拟现实引擎提供辅助功能;
脚本解释模块,用于描述一个或多个对象行为的数据结构或语;
中央控制模块,用于为用户提供可选择的控制命令;
基本几何模块,用于实现基本的二维和三维几何代数运算。
5.一种数字展厅建模和渲染方法,其特征在于,应用于权利要求1-4任一项所述的虚拟现实引擎,所述方法包括:
根据用户组件选择和输入的参数信息得到数字展厅模型;
根据渲染设备数据处理能力和所述数字展厅模型的结构,划分所述数字展厅模型得到多个子区域;
为每个子区域分配一个渲染设备,并将所述子区域文件发送给渲染设备;
获取每个子区域的渲染参数,并根据所述渲染参数对所述子区域进行渲染得到渲染子区域;
将每个渲染子区域进行合并得到渲染数字展厅模型。
6.根据权利要求5所述的方法,其特征在于,每个所述渲染设备包括多个GPU;
在为每个子区域分配一个渲染设备后,所述渲染设备接收渲染过程中的所有任务,将每个任务转换为可识别的任务代码;
根据预设字符将每个任务的任务代码分为多个步骤;
遍历每个步骤中的操作字符,获取所述操作字符前后的目标字符,所述操作字符前后的目标字符包括操作对象;
若所述目标字符不在预设的常用非对象字符集中,则将所述目标字符作为操作对象;
若目标步骤中的任一操作对象与在先步骤的所有操作对象均不相同,则将所述目标步骤与所述在先步骤分配到不同GPU中,所述在先步骤为同一任务中代码执行顺序在所述目标步骤中之前的步骤。
7.根据权利要求5所述的方法,其特征在于:所述根据渲染设备的数据能力和所述数字展厅模型的结构,划分所述数字展厅模型得到多个子区域,包括:
获取所有空闲的渲染设备的数据处理能力和所述数字展厅模型的大小;
按照所述数据处理能力由大到小的顺序对所有空闲的渲染设备进行排序;
根据所述数字展厅模型的大小选择所述排序中前N个空闲的渲染设备作为目标渲染设备,所述N为正整数,所有目标渲染设备的数据处理能力能够满足处理所述数字展厅模型的要求;
根据所述数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分所述数字展厅模型,得到N个子区域。
8.根据权利要求7所述的方法,其特征在于:所述根据所述数字展厅模型的结构形状和每个目标渲染设备的数据处理能力划分所述数字展厅模型,得到N个子区域,包括:
获取所述数字展厅模型待渲染面的图像;
根据每个目标渲染设备的数据处理能力确定能够处理的子区域的最大面积;
采用预训练的图像分割模型对所述图像沿组件所在线条进行分割得到所述子区域,以使每个子区域的面积小于最大面积,并且每个子区域中组件均是完整组件。
9.根据权利要求5所述的方法,其特征在于:还包括:
在所述渲染设备渲染过程中,接收所述渲染设备按照预设规则上传的子区域渲染图像;
将所述子区域渲染图像与渲染前所述子区域的图像进行图像差分处理,得到新增渲染数据;
根据所述新增渲染数据对所述数字展厅模型相应区域进行处理得到渲染过程中所述数字展厅模型的预览图像。
10.根据权利要求9所述的方法,其特征在于:所述渲染设备按照预设规则上传的子区域渲染图像,包括:
渲染设备每隔预设周期获取所述渲染过程的子区域渲染图像;
根据所述子区域图像与渲染前的所述子区域图像确定图像改动面积;
当所述图像改动面积大于阈值时,将所述子区域渲染图像上传。
CN202311337136.7A 2023-10-17 2023-10-17 基于信创软硬件的虚拟现实引擎及其建模和渲染方法 Active CN117078868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311337136.7A CN117078868B (zh) 2023-10-17 2023-10-17 基于信创软硬件的虚拟现实引擎及其建模和渲染方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311337136.7A CN117078868B (zh) 2023-10-17 2023-10-17 基于信创软硬件的虚拟现实引擎及其建模和渲染方法

Publications (2)

Publication Number Publication Date
CN117078868A true CN117078868A (zh) 2023-11-17
CN117078868B CN117078868B (zh) 2023-12-15

Family

ID=88715602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311337136.7A Active CN117078868B (zh) 2023-10-17 2023-10-17 基于信创软硬件的虚拟现实引擎及其建模和渲染方法

Country Status (1)

Country Link
CN (1) CN117078868B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673346A (zh) * 2008-09-09 2010-03-17 日电(中国)有限公司 对图像进行处理的方法、设备和系统
CN105488835A (zh) * 2014-09-15 2016-04-13 Tcl集团股份有限公司 一种基于纹理空间gpu加速的圆形切屏方法及其系统
CN108837510A (zh) * 2018-06-27 2018-11-20 腾讯科技(深圳)有限公司 信息的展示方法和装置、存储介质、电子装置
KR101973985B1 (ko) * 2018-10-10 2019-04-30 주식회사 누리콘 고해상도 디스플레이를 위한 분산 병렬 처리 방식의 영상 렌더링 시스템 및 그 방법
CN111369668A (zh) * 2020-03-06 2020-07-03 西安奥卡云数据科技有限公司 一种自动绘制3d模型的方法
CN111798556A (zh) * 2020-06-18 2020-10-20 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备和存储介质
CN112115291A (zh) * 2020-08-12 2020-12-22 南京止善智能科技研究院有限公司 一种基于深度学习的三维室内模型检索方法
CN112581608A (zh) * 2020-12-31 2021-03-30 宁夏华泰家俱制造有限公司 一种装修效果3d模拟展示系统及其控制方法
US20210333870A1 (en) * 2018-05-16 2021-10-28 Beijing Boe Optoelectronics Technology Co., Ltd. Image rendering method, device, system, storage medium, image display method and computer device
CN114549718A (zh) * 2022-01-25 2022-05-27 广东虚拟现实科技有限公司 虚拟信息的渲染方法、装置、增强现实装置及存储介质
CN115170742A (zh) * 2022-07-22 2022-10-11 京东方科技集团股份有限公司 人员分布展示方法、系统及显示终端
CN115761115A (zh) * 2022-11-01 2023-03-07 国网北京市电力公司 电力云展厅的构建方法、装置、电子设备及存储介质
CN116703875A (zh) * 2023-06-16 2023-09-05 浙江商汤科技开发有限公司 一种三维实例分割方法、装置、计算机设备及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673346A (zh) * 2008-09-09 2010-03-17 日电(中国)有限公司 对图像进行处理的方法、设备和系统
CN105488835A (zh) * 2014-09-15 2016-04-13 Tcl集团股份有限公司 一种基于纹理空间gpu加速的圆形切屏方法及其系统
US20210333870A1 (en) * 2018-05-16 2021-10-28 Beijing Boe Optoelectronics Technology Co., Ltd. Image rendering method, device, system, storage medium, image display method and computer device
CN108837510A (zh) * 2018-06-27 2018-11-20 腾讯科技(深圳)有限公司 信息的展示方法和装置、存储介质、电子装置
KR101973985B1 (ko) * 2018-10-10 2019-04-30 주식회사 누리콘 고해상도 디스플레이를 위한 분산 병렬 처리 방식의 영상 렌더링 시스템 및 그 방법
CN111369668A (zh) * 2020-03-06 2020-07-03 西安奥卡云数据科技有限公司 一种自动绘制3d模型的方法
CN111798556A (zh) * 2020-06-18 2020-10-20 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备和存储介质
CN112115291A (zh) * 2020-08-12 2020-12-22 南京止善智能科技研究院有限公司 一种基于深度学习的三维室内模型检索方法
CN112581608A (zh) * 2020-12-31 2021-03-30 宁夏华泰家俱制造有限公司 一种装修效果3d模拟展示系统及其控制方法
CN114549718A (zh) * 2022-01-25 2022-05-27 广东虚拟现实科技有限公司 虚拟信息的渲染方法、装置、增强现实装置及存储介质
CN115170742A (zh) * 2022-07-22 2022-10-11 京东方科技集团股份有限公司 人员分布展示方法、系统及显示终端
CN115761115A (zh) * 2022-11-01 2023-03-07 国网北京市电力公司 电力云展厅的构建方法、装置、电子设备及存储介质
CN116703875A (zh) * 2023-06-16 2023-09-05 浙江商汤科技开发有限公司 一种三维实例分割方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张潞等: "基于Web的2.5维校园地图的设计与实现", 电脑知识与技术, no. 02 *

Also Published As

Publication number Publication date
CN117078868B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
EP0636971B1 (en) Method and apparatus for producing a composite second image in the spatial context of a first image
CA2124603C (en) Method and apparatus for operating on the model data structure of an image to produce human perceptible output in the context of the image
TWI374385B (en) Method and system applying dynamic window anatomy and computer readable storage medium storing dynamic window anatomy
US7661071B2 (en) Creation of three-dimensional user interface
RU2360290C2 (ru) Интеграция иерархии трехмерной сцены в двумерную систему компоновки изображений
KR101130407B1 (ko) 향상된 그래픽 파이프라인을 제공하는 시스템 및 방법
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
CN102089786B (zh) 在性能分析期间将图形指令映射到相关联的图形数据的方法和设备
CN101421761A (zh) 视件和场景图接口
KR20080042835A (ko) 사용자 인터페이스의 액티브 콘텐트에서의 확장가능한시각적 이펙트
US8031190B2 (en) Translating two-dimensional user input on three-dimensional scene
WO2013173949A1 (zh) 一种三维虚拟现实场景中物体按层级加卸载的方法和装置
Boutsi et al. Interactive online visualization of complex 3D geometries
US11625900B2 (en) Broker for instancing
CN117078868B (zh) 基于信创软硬件的虚拟现实引擎及其建模和渲染方法
CN111897530B (zh) 基于ue4平台的ui系统及方法
CN102089784A (zh) 图形成像的基于分割的性能分析
CN115374520A (zh) 基于虚拟场景的公共区域整体风格变换系统和方法
Jung et al. Interactive textures as spatial user interfaces in X3D
KR101374344B1 (ko) 3d 엔진을 이용한 입체 광고 생성 방법
Gross et al. Beyond the Low-hanging Fruit: Information Technology in Architectural Design, past, present, and future
JP3640982B2 (ja) 機械操作方法
Khan et al. A 3D Classical Object Viewer for Device Compatible Display
Sinclair et al. An Object-Oriented Solution to an Interdisciplinary 3D Visualization Tool
Luo Interactive Ray Tracing Infrastructure

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
GR01 Patent grant
GR01 Patent grant