WebGL(全称Web Graphics Library)是一种3D绘图协议。 该绘图技术标准允许 JavaScript 和 OpenGL ES 2.0 相结合。 通过添加 JavaScript 绑定到 OpenGL ES 2.0游戏动态,WebGL 可以为 HTML5 Canvas 提供硬件 3D。 加速渲染,使 Web 开发人员可以使用系统显卡在浏览器中更流畅地显示 3D 场景和模型,并创建复杂的导航和数据可视化。 显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可以用来创建复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等。
游戏引擎是指一些编程可编辑计算机游戏系统或一些交互式实时图形应用程序的核心组件。 这些系统为游戏设计者提供了游戏编程所需的各种工具。 目的是让游戏设计者能够轻松快速地创建游戏程序,而不必从头开始。 它们大多数支持多种操作平台,例如Linux、Mac OS X和Microsoft Windows。 游戏引擎包括以下系统:渲染引擎(即“渲染器”,包括二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、计算机动画、人工智能、网络引擎和场景管理。
以上解释来自百度百科。
从目前的技术应用场景来看,webgl一般指的是cesium系统下的计算机图形开发库,因其源码级的开源特性和高度封装的应用实例(作者在2015年研究过这条技术路线,后来,因研发投入可持续性不足而被迫停产),并被大量技术单位应用。 据不完全统计,国内80%以上基于浏览器渲染的技术系统均由其技术支持。 另外提到的游戏引擎一般是指UE Unreal和Unity3D。 由于两者在国内商用的时间不同,所以UE的应用远远超过unity3D。
言归正传,以下仅代表个人观点,不喜欢的请勿评论。 这个问题中提到的WebGL在没有特殊说明的情况下可以理解为cesium,游戏引擎在没有特殊说明的情况下可以理解为UE。
1. 开源和成熟度
WebGL的开源性远高于游戏引擎,代码的应用成熟度也更强。 当时,WebGL开源后,大量基于该引擎的开发者诞生了。 在开源社区的统一维护下,他们在各个维度进行了各种改进。 经验证,有数以万计的bug指向指标了解全球开发者的巅峰状态。 通过不断迭代优化,发动机趋于稳定。 游戏引擎的开源性比较差。 所谓源码级别的整改,其实就是一个噱头,无非就是框架级别的“搭积木”。 最近UE5发布后,听说也存在各种问题,而UE4和UE5的迁移过程对于以此为核心技术体系的企业来说是一笔不小的投资。 然后,UE5在渲染和可视化方面有了很大的改进,特别是在支持水效果方面。 这也导致从事水务信息化行业的企业陷入困境。
核心技术必须保证自主性和可控性,否则大象戴项圈卡脖子就很明显了。
2、本土化新创
国产化影响的背后是网络安全,安全不容小觑。 水利行业的代表是水利部。 水利部去年也开始将内部软硬件全部更换为国产化产品。 机房和办公终端的软硬件均已更换。 最近我也听说,这种本土化的趋势已经开始吹到流域单位、省市和水利系统。 可以说,游戏引擎在本地化方面没有任何抵抗的余地。 听说国内可视化三大厂商之一还没有通过本土化信创评测。 2021年底左右,水利部开展了以“数字孪流域定位功能评估”为主题的示范,共覆盖GIS和可视化功能项100余项。 可以说,在本次评测中,它是唯一一家采用UE作为其技术系统的可视化厂商。 基本上全军覆没。 核心问题是国产GPU无法满足渲染支持要求。 其他WebGL技术系统厂商的评测结果显示,无论是GIS功能还是可视化功能都还不错,但效果只能说马马虎虎。
国产化是关键web游戏引擎,也是后续基础引擎支撑数字孪生分水岭建设活力的重要因素。
三种显示风格及效果
说到显示效果和风格,就不得不提到水利部最近向全国发布的《数字孪生流域可视化模型规范(试行)》(我很荣幸作为主编编译总体规范),在本规范中明确提及。 用一句话来说就是“视觉模型应该满足WebGL和游戏引擎的渲染需求”。 换句话说,视觉模型是按需应用的,但本体并不限制引擎。 它是面向应用的。 建设单位和建设单位根据应用需求定义基础渲染引擎。 (这里补充说明一下,视觉模型需要依赖仿真引擎进行渲染和解释)。
言归正传web游戏引擎,游戏引擎无论是效果还是风格展示都远远优于WebGL。 从本体上来说,几何图形的加载和渲染及其技术框架存在着巨大的差异(两者的机制差异将在后面单独解释)。 游戏引擎拥有强大的模拟物理特效和材质,具有很强的分水岭实体物体物理效果展示能力。 同时,模拟物理的自然背景参数和物理特性进一步增强了物理模拟实体的强烈效果表达。 相比WebGL对环境、材质、物理属性的处理,高了好几个级别。 见下对比图(图源网络如有侵权私信作者,立即删除)。
WebGL场景渲染显示效果
游戏引擎下的场景渲染显示效果
泗水专业机制模型接入与渲染
水利行业中的模型分类一般包括水动力模型、水文模型等,经常提到的水网格及其对应的网格模型属于二维水动力模型,对应的河道水动力模型一维。 这两种模型应用广泛,其中三维水动力模型更好理解。 不是很成熟。
以二维水动力模型为例,基本水网格为20万量级,步长为5分钟,周期为3小时,共36个时刻。 对于游戏引擎来说是相当费力的,因为游戏引擎的效果渲染通常会使用蓝图函数。 虽然叫函数,但可以理解为一种图形定性的渲染逻辑。 专业模型计算结果的历史工况操作比较容易,并且涉及人工因素进行处理。 但数据服务渲染请求的及时性仍存在一定障碍。 然而,对于WebGL来说,本体都是点数据。 也就是说,可以按照矢量数据的处理形式来引用,包括矢量点和矢量面。 WebGL具有Gis本体的特色能力,因此在专业模型兼容和渲染方面具有良好的兼容性。
粒子流场中尺度(S2)显示方式
前五名业务的多并发支持
在业务强、业务特性多并发的应用场景中,WebGL系统比游戏引擎具有更强的业务应用支撑能力。 说到这里,有一点不得不提的是两者的渲染机制。 WebGL是一种基于前端的页面绘制技术。 因此,它也注定拥有天然的端侧渲染特性。 为了保证其高效渲染,需要强大的客户端。 配置。 不过,游戏引擎主要推广WebRTC推流技术。 因此程序开发,如果带宽能够满足通道加载要求,就能保证显示端加载流畅,但需要服务器端GPU的强大支持。 那么这里有些读者可能会有疑问。 那么C/S架构呢? 其实原理是一样的,只不过改变了场景文件的加载位置,搭建了一个小型的封闭服务器环境。
上面说了这么多,读者可能还是觉得这一段的主题没有讲清楚。 事实上,情况并非如此。 客户端渲染机制下,所有的压力都在终端上,而且场景是面向服务的访问,因为只有适当配置的服务才能满足多个终端应用的加载,因为在这种机制下,服务器的压力会很大小的。 但服务端渲染机制不同。 无论单台服务器的配置有多强大,如果卡槽装满GPU显卡,也是有上限的。 同时,游戏引擎的本体特性并不是插的GPU越多,分配的压力就越大。 按照目前的了解,基本上是一对一的搭配,简单来说就是一块GPU和一张显卡。 (这部分关于GPU和游戏引擎的数量关系还是有很大的坑,后面会单独写一篇文章解释)
综上所述,webGL和游戏引擎在水利数字孪生的构建中都有其天然的优势,需要根据实际情况和业务特点做出适当的技术选择。 未来仍需做大量的技术创新,弥补短板,强化优势,迭代优化,推进数字孪生流域建设,尽快实现智慧水利的数字化、智能化、智慧化。尽可能。