前言

图形引擎技术(三维图形引擎到底是什么)(1)

虚拟现实是近年来出现的高新前沿技术,而三维图形引擎是实现虚拟现实的软件基础。利用电脑高速计算,模拟产生一个虚拟的三维空间,让使用者拥有视觉、听觉、触觉等感官的模拟,如同亲历其境一般,可以实时、无限制地观察和体验三维空间内的所有事物。

随着虚拟现实应用越来越广泛,不论是在游戏娱乐、军事、航空航天,还是城市规划、地质勘探、实时模拟等领域都少不了三维图形引擎的身影。在数字化改革浪潮中,也有越来越多的企业也开始转入三维图形引擎的开发队伍中。

01

三维图形引擎的来源

在三维图形引擎出现以前,虚拟现实版块的主要内容包括实时三维图形生成技术、多传感器交互技术和高分辨率现实技术,其软件技术基础则是三维图形渲染技术。

目前三维图形技术的底层图形开发包主要有三类:

三种图形开发包都属于底层的图形开发包,对于开发人员来说,直接接触底层的技术将面临学习更多的专业知识和算法,这使得开发变得困难,也降低了开发效率。

为了提高开发效率以及使得开发变得简便,一种被称为“三维引擎”的中间件被开发出来。

简单一点来说就是在传统三维底层图形技术的基础上,封装硬件操作与三维图形算法,形成普遍意义上的三维交互引擎,其中包含一些子引擎,如物理引擎,脚本引擎,渲染引擎等,提供给开发者一个简单易用、功能丰富的三维图形环境,在三维交互引擎基础上进行虚拟现实、三维交互、可视化管理平台二次开发等,极大提高开发效率、提升稳定性并减少底层技术研发费用投入。

图形引擎技术(三维图形引擎到底是什么)(2)

(三维图形绘制工具对比)

02

三维图形引擎基本框架

一个优秀的三维图形引擎具有的功能包括阴影效果、光源、粒子特效、骨骼动画、碰撞检测、人机交互等等。按照三维引擎具有的功能,主要分为下面的一些模块:系统模块、控制模块、底层渲染模块、数据存储模块、游戏接口与插件模块等。

图形引擎技术(三维图形引擎到底是什么)(3)

(引擎架构图)

三维图形引擎实现的是各种高级的图形功能,其中主要由控制模块来实现各个模块之间的调用,包括对场景的渲染,程序的配置,用户的输入,场景的音效等等。OpenGL和Direct3D在工作时,会进一步调用底层的显示硬件,来完成渲染工作。

三维图形引擎中各个模块之间的组织关系,会影响到引擎的性能,所以在引擎开发中要处理好各个模块之间的组织关系。

03

三维图形引擎系统模块

系统模块是三维引擎中与计算机,准确来说是机器本身通讯的部分。判断一个引擎是否优秀,则要看其系统模块能否很好地进行不同平台的移植。

一个优秀的三维引擎在进行平台移植时,它的系统模块则是唯一需要做主要更改的地方。

我们可以进一步将系统模块分为若干个子系统模块,分别是:图形子系统、输入子系统、声音子系统、时间子系统以及配置子系统。主系统模块负责初始化、更新以及关闭所有子系统。

图形引擎技术(三维图形引擎到底是什么)(4)

04

三维图形引擎绘制原理

对绘制过程的一种理解就是把它当作一系列的变换过程,这些变换把对象从被编码的坐标系带入显示表面的坐标系。这个过程有时被认为是渲染流水线,被描述为一系列空间。对象通过这些空间走过了从数据库到显示屏幕的迁移之路。

现有的基础三维图形绘制库,如OpenGL,Direct3D等,都采用了传统的图形渲染流水线。这种基本的流水线设计在计算机图形学发展的早期就已经出现,随着硬件技术不断发展而不断被增强和扩展,但基本的原理至今却未改变。

使用OpenGL、Direct3D等三维API(即基础三维图形绘制库)绘制三维场景的整个流程

数据预处理包括:将建模完成后得到的场景中物体的几何模型数据转换成三维API可直接接受的基本图元的形式,如点、线、面;对影像数据如纹理图像进行预处理,这种处理包括图像格式的转换、图像质量的改善、影响金字塔的生成等等。

在对三维场景进行渲染前,需要设置相关的场景参数值。这些参数一般包括光源性质(反射光、漫反射光、环境光)、光源位置(距离和方向)、明暗处理方式(平面处理或平滑处理)、纹理映射方式等。除此之外,还需要设置视点位置和视线方向。

纹理映射的目的是把纹理图片粘贴到模型表面,从而获得有真实感效果的场景。纹理映射在这里是指对纹理的定义和应用方式的指定。

模型构造就是对整个场景模型进行几何重建,即根据三维API中的有关命令函数将模型数据“装配”成场景模型。

投影变换是将一种地图投影点的坐标变换为另一种地图投影点坐标的过程,是生成三维场景的重要基础和关键步骤。投影变换一般分为透视投影变换和正射投影变换,三维API中应用的一般都是透视投影变换。

视口是指计算机屏幕中的矩形绘图区域。视口变换的目的就是将三维空间坐标映射为计算机屏幕上的二维屏幕坐标。

整个流程的最终结果就是在计算机屏幕上显示出的整个三维场景的二维图像。

图形引擎技术(三维图形引擎到底是什么)(5)

(三维场景绘制流程)

虚拟现实引擎与游戏引擎的基本理论基础完全一致,随着硬件性能及相关理论的进步,虚拟现实引擎与游戏引擎功能定位将逐渐重合,虚拟现实引擎将更注重仿真细节、特效的表现,游戏引擎将逐步提供对超大规模仿真的支持,二者有合二为一的趋势,对GPU、多线程、多CPU、分布式计算等支持更加完善,高级光照、流体仿真、软体仿真等以往只能用于非实时渲染的技术将逐步应用于下一代三维图形引擎,从而提供更加逼真的视觉仿真效果。

而在信息化时代与大数据时代的发展背景下,我们如今可以以更快的方式来处理信息,因此在一些传统的计算辅助软件的应用中,也出现了大量移动端设备的软件。而在建筑工程行业中也是如此,随着BIM技术的应用,更深入处理BIM模型数据的软件与方法也随之诞生,BIM轻量化也逐渐成为现代建筑工程设计发展的趋势之一。

05

BIM轻量化引擎的国内外发展现状

随着BIM技术的不断发展,对BIM技术应用要求已不局限于模型及基于模型的应用,其在经历了方案展示、BIM建模及应用两个阶段后,逐步向基于BIM平台的信息化管理模式升级,“模型是基础,管理是核心”的理念成为BIM应用的主流方向。由此,BIM轻量化平台的发展正加快提上日程,被人们广泛关注。

BIM轻量化技术是指在工程建筑的BIM模型建立之后(利用专业的BIM建模软件,比如AutodeskRevit、DSCatia等),通过对BIM模型的压缩处理等技术手段,让BIM可以在各类WEB浏览器、移动App上被使用的技术。传统的BIM轻量化引擎在国外出现较早,基本从2013年开始,采用WebGL技术的轻量化BIM引擎开始出现。

目前,国外主要以美国为主出现了很多开源的轻量化引擎,如XBIM、BIMServer等。同时诸如Autodesk也推出了自己的WebGL轻量化BIM引擎产品A360。

从2015年开始,国内的WebGL轻量化引擎浮现出一批具有代表性的厂商和产品,例如广联达BIMFace、秉匠科技的黑洞引擎等。目前在BIM轻量化引擎产品上,国内基本与国外处于同一技术水平,而且国内产品在本地化能力、服务能力上更具优势。

图形引擎技术(三维图形引擎到底是什么)(6)

国内BIM工程软件的局限性相对较大,BIM技术的应用局限在工程量计算和套价等独立环节,主要解决的问题偏向于技术、离散等方面,很难满足集成化的建筑方案设计和建筑项目管理全过程的需要。

我国当前BIM的核心软件仍处于研发阶段,在建立模型,分析模型,设计模拟等方面还需要向国外借鉴。短期内更符合中国国情的项目管理软件没有相应的技术基础和技术准备时间。

06

BIM轻量化引擎发展需求

在建筑工程领域,部分BIM轻量化引擎已经可以实现设计的协作,虽然在设计管理和信息技术方面还有提升和优化的空间。但后续的施工阶段,乃至运营阶段,尤其在管理中应用BIM,还是有不少的困难,或者说是有其特定的需求尚未得到满足,妨碍着BIM的应用。

总的来看,是建筑行业本身的复杂性造成的,比如不同的项目情况有各种差异,周期长、不可预见问题多,工作界限不恒定,分工时有变化,有些环节要权宜处理等;而相比的工厂生产线生产,则其步骤、环节、要求、标准等会相当清晰和一致。

管理工作总是充满调整、变化,建筑行业尤甚,因此管理信息系统很多功能被设计成可配置式的,以适应调整变化。为降低发布调试的复杂度,通常还会采用Browser/Server的架构。当前 BIM的图形桌面端“重型”应用难以适应,即便可二次开发也会严重依赖原平台而迁移不易。

管理要把各种细节信息组织成为有机的整体,才能有效地工作。因此管理信息需要与模型的分部、分项、构件乃至零件等细部建立相互关系,并令之随管理信息变动而有序变化。而管理信息自身又有复杂的相互关系和结构特点,因而不适合将管理信息分散存储到模型数据结构中去,只适合将管理信息与模型及其各细部作信息的关联,而后根据管理需要交互联动。

建筑工程大多是特例,不是批量标准产品,没有技术冻结概念,进入施工后还会根据实际情况作调整修改,因此模型在施工过程中还会有版本迭代,并动态地与管理信息匹配关联。另外模型版本迭代的频次通常远小于管理信息的变化,适合把模型缓存在客户端,只在版本迭代时作局部更新,减少模型显示操作时的数据通信,提高操作响应性能。

实际管理中,大都是对局部信息的操作,相应的BIM只需要作局部的显示联动,因此很适合采用局部策略做轻量化,其它如遮挡剔除和视域剔除等可同时应用,不过模型显示的时候,需要用合适的方式,体现出该局部与整体的关系,以方便用户理解。

第一线的管理,考虑运作便利,会引入各种操作终端设备:扫描枪、手持机、平板电脑、触摸屏机等,有Windows、Android等多种操作系统平台,还有些设备硬件资源有限、性能弱。这些因素要求BIM须有足够的可移植性和可轻量化的潜能。

伴随着BIM技术的逐渐广泛应用,BIM应用在建筑行业的行业所存在的问题逐渐暴露出来,迫切需要“轻量化”BIM应用,从而推动BIM技术在建筑业的信息化转型,在新型智慧城市的建设进程中贡献建筑领域的独特力量。

07

BIM轻量化引擎的未来发展趋势

建筑施工具有庞大的工程信息和数据,并且这些信息的产生渠道和类型具有多样性和复杂性的特点,单靠人工完成对信息的整理和分析不仅要耗费巨大的时间和精力,同时也容易因人为误差影响信息分析的准确性,无形之中增加了决策失误的风险概率。

而BIM技术引入建筑工程信息管理后,利用其强大的功能可高效完成信息分类、整理等工作,同时BIM技术会迅速地将信息传递给GIS技术,保证了信息传递的及时性和有效性。GIS技术在接收到信息后会迅速展开对信息的分析,通过分析这些有效的工程数据和信息进而发现施工过程中存在的不足和缺陷,为管理人员完善施工方案和调整管理方式提供依据。

图形引擎技术(三维图形引擎到底是什么)(7)

BIM-GIS技术在对信息进行管理的过程中,会依据信息来源的不同将其划分为内部信息与外部信息。内部信息指的就是企业内部涉及到的一些施工要素,如施工合同、方案、施工成本及可行性报告等;而外部信息指的是企业外部环境变化要素,如国家政策调整、市场价格波动、行业竞争等相关的一些不可控信息。

随着BIM应用的用户范围扩大,BIM模型的体量越来越大,BIM轻量化引擎需要提供更高的模型处理性能与WEB端性能,必然需要采用诸如集群的多服务器架构,以提高并发处理能力,保证高性能和高稳定性。

多台服务器构成的松散耦合计算节点的集合,协同起来向用户提供应用程序、数据和资源,从内部提高了服务器的可靠性和信息处理能力,以保障服务器的持续运行。

建筑行业请求的URL,更多的偏向于图片、静态页面和动态内容,针对图形处理来针对服务器的并发处理能力来设计最优并发策略,以此来充分发挥服务器的性能,在服务器同时处理较多请求时,能够更加充分合理的利用CPU计算和I/O操作,以保证在较大并发用户发来使用请求时,不会太多的影响站点质量。

随着BIM在运维阶段应用的不断扩展,BIM轻量化引擎必须面向运维,面向于IOT设备及数据的集成提供更多模拟仿真功能。比如对水流、电流、物体移动的模拟仿真、对光照、烟雾、火焰等模拟仿真,对温度场、气流的模拟仿真。

简单来说:建立模型的过程就是信息处理的过程,通过对真实系统的了解程度,建立能够准确模仿真实系统本质的模型,进而得出真确有效的结论,减少在真实施工过程中可能走的弯路,提高建筑工程在施工、安装等过程中可能的失误,保证建筑工程在施工、安装等过程中的时效性和准确性。

随着BIM在运维阶段应用的不断扩展,BIM轻量化引擎还必须具有修改BIM模型的功能,以满足运维阶段的非专业用户对BIM修改的应用要求。

图形引擎技术(三维图形引擎到底是什么)(8)

在项目模拟建设过程中,非专业用户可以通过建模信息的全方位展示,来参观在实际建筑与环境施工的实际施工过程,监督复杂的建筑结构施工,可以通过BIM在WEB端的模型轻量化编辑功能,根据施工现场的实际需求,对模型进行云端编辑,大大提高了与施工现场的沟通效率,提高现场施工人员工作效率,以发现建筑模型的错误、建筑设计结构的不合理性,以及时针对所发现的的问题进行合理的调整和改进。

AR是未来工程建筑领域的最重要应用技术之一,AR将作为IOT与3D技术融合的最佳代表,将对包括建筑产业在内的诸多行业产生革命性的推动作用。BIM轻量化引擎必然需要能够与AR设备、AR平台进行集成与对接。

VR增强BIM建筑设计效果,打造核心竞争力,前VR技术在建筑营销展示方面的应用已经日趋成熟,在建筑设计中的整合正在进行中。初步的整合体现在建筑设计中搭载VR插件,为建筑设计提供帮助。VR插件在提供沉浸式体验的同时,还能捕捉用户手部的动作,替代鼠标对三维模型进行操作。

VR与BIM轻量化平台结合,可以有效提高BIM轻量化平台的使用效果推动平台大众化。

未来,对于BIM轻量化的应用是为了拉近用户与建筑行业的距离,将建筑设计传达更容易的与用户接通,借助BIM轻量化平台在视听等多重感官的传达下方便用户进行更便捷的模型获取,在BIM建模的使用中,利用现场的可视化,也可以将管理与控制更好的结合,确保项目精细化和信息化管理的实现。

图形引擎技术(三维图形引擎到底是什么)(9)

中共中央颁布的《十四个五年规划和2035年远景目标纲要》中要求:“加快数字化发展,建设数字中国。加快数字社会建设步伐,提高数字政府建设水平将数字技术广泛应用于政府管理服务”。

国家政策的驱动,中国正在向智能制造迅速转型。工业软件是中国制造业的一个核心基础。没有自主核心工业软件的支撑,中国智造会很艰难。

俄乌战争、中美贸易战等国际严峻的形势下,缓冲西方国家对中国的封锁打压,首要就是发挥机制体制优势,补齐核心关键技术受制于人易“卡脖子”的短板,实现中国“芯”的自主可控,三维图形引擎作为图形处理软件方面的“芯”,同样起着重要的战略作用。

在时代发展要求的背景下,国内越来越多的科技型企业也自主研发图形引擎,逐渐崭露头角。除游戏领域外,特别是建筑工程行业对三维引擎的需求越来越大,需求越来越迫切,对于产品与服务的要求也逐步升级,这两方面利好给国内三维引擎市场的“破土”提供了契机,为企业发展提供了“土壤”。

而秉匠科技顺应时代发展趋势,始终专注于三维图形引擎和数字化智慧管理系统研发,致力于为工程、智慧城市等领域提供可视化管理综合解决方案。其自主研发的“黑洞”图形引擎性能卓越,可流畅加载多源异构数据、轻松应对超大场景海量数据的全景展现及局部细节的精细化渲染表现。研发的相关产品已在大型桥梁、市政道路、轨道交通、水利水电、民用建筑等类型的项目中深入应用,成功助力各项目实现精细化管理。

国产自研和国产替代在互联飞速发展的几十年里,给了我国多次弯道超车的机会,但在最难啃的基础软件上,没有捷径可言。我们相信只有建成我国自研技术壁垒、形成国产软件生态内循环,才能充分应对国际形势,在动荡中谋求长远发展。

随着云计算、5G、大数据、物联网、VR等信息技术的发展,三维图形引擎正不断应用于各个领域的虚拟现实系统中,在国产替代的大背景下,国有自主产权软件快速崛起,秉匠科技将不忘初心,持续加强科技创新的同时,愿与同行一起砥砺前行,共同为产业数字化发展赋能。


文章部分内容参考(侵删):

【1】浅析BIM轻量化平台的发展,秦昌锋

【2】三维图形引擎综述,魏新亮

【3】下一代三维图形引擎发展趋势研究,赵维

【4】三维图形引擎关键技术研究,李胜亮

【5】BIM 引擎及其应用研究 ,张金辉

,