为ThingWebGL端数字孪生应用最优解,JS提供Web平台的3D渲染能力。

大家都知道,Web平台有很多的开源引擎,如:three.js,BabylonJS,PlayCanvas,ClayGL,Oasis等,以及在CS端也有,如:Unity、UE、CryEngine、Ogre等引擎,我们对其中一些引擎做了较深入的研究和项目实践,但发现这些引擎并不能完全满足我们所面对的数字孪生领域的需求。这种情况下,我们结合了之前使用C++开发的引擎经验、WebGL的开发经验、上述引擎的使用经验、以及项目中的实践经验,开发了WebGL版的T3D引擎,以便更好地服务于Web平台的3D渲染。

T3D引擎框架

在T3D引擎的框架设计中,主要分为四层:标准封装层,渲染逻辑层,场景资源层和扩展层。

标准封装层,渲染逻辑层,场景资源层构成核心库 t3d.js。

核心库是一个Web优先的,最小可运行的通用图形渲染库。Web优先指的是t3d.js主要基于WebGL和WebGPU作为底层绘图标准。通用图形渲染库指的是t3d.js并不限定图形渲染以外的其它逻辑,适用性与扩展性比较好。

另外,官方提供常用需求的扩展,作为第二方库供开发者使用。至于定制化的需求,支持由开发者基于T3D开发第三方库。

改进

渲染引擎封装的功能,从大的分类来说,可以分为:场景树,几何体,材质,渲染管线,下面我来简要介绍一下T3D在这些方面的改进。

场景树

改进了场景树矩阵更新的逻辑,基于内置的矩阵标脏系统,可以进行触发式更新。简单理解就是,有改变再更新,不改变不更新,在大多数项目中,可以极大提高矩阵更新效率,从而提升渲染帧率。

优化Uniform的预处理,场景中全局参数,灯光参数,可以单独进行更新并cache,提高Uniform上传效率。

可扩展的渲染层级列表,更方便的渲染排序。基于渲染层级,可方便地实现背景,场景,覆盖物的排序分离,并基于深度缓冲分层,满足特定渲染需求。能一定程度上解决透明图标遮挡问题,满足alwaysOnTop,Overlay的需求等等。(three.js由于没有渲染分层功能,同一场景内的渲染节点不能通过一次遍历分发到不同的渲染数组中,很难高效地实现上述功能。)

几何体

核心库提供Geometry,Attribute,Buffer类,提供逐顶点的几何体描述。同时支持Instance绘制。基于几何体的封装,我们可以接收多种类型的数据进行渲染:

模型加载器,例如核心库示例部分提供的GLTFLoader,VoxLoader等。

程序生成,例如:点,线,面,管,挤出等。

自定义数据,例如第三方GIS数据,实时传输数据等。

在点线面的扩展上,t3d.js的官方示例部分,会提供业务场景(ThingJS)中常用的几何体生成计算模块。

材质

一般的Web渲染引擎中,很难基于内置材质进行扩展。例如three.js,材质的Uniform上传与材质类型是深度耦合的,因此很难基于Standard材质实现扫光等材质特效。T3D提供了材质继承机制,只需要简单插入着色器逻辑,即可实现对PBR材质的快捷修改。

渲染管线

在常见的WebGL引擎中,渲染器的渲染功能容易是过度耦合的。T3D面向基于GPU加速的图形接口,即WebGL与WebGPU,基于这样的思路,我们抽离出RenderPass的概念。

目前我们提供WebGLRenderPass作为默认的渲染通道,未来,几乎可以无缝切换到WebGPURenderPass。这样在我们推出WebGPU渲染器后,不需要改变上层代码逻辑,即可直接实现WebGPU的渲染。

另外,T3D提供的接口可以单独处理“场景图信息的收集”与“渲染列表的生成”,并可以执行粒度更低的渲染命令。便于实现高性能的后处理流程扩展。在实际渲染中,物体勾边,发光等后期,往往需要多通道的渲染。在下图中,同样是执行两通道的渲染,t3d执行的流程,能避免很多冗余的逻辑。

基于这样的设计,我们提供了高级渲染器(EffectComposer)的扩展。高级渲染器是一个后期混合器,并内置了常用的后期处理模块。高级渲染器为ThingJS提供了丰富的后期特效支持。

除了全屏幕的后期处理效果,EffectComposer还提供逐物体的特效解决方案。

未来,T3D还在快速迭代中,未来我们还要做:

基于Transform Feedback特性的更强大的粒子系统。

节点式材质系统。

更加强大的WebGPURenderPass。

综上所述,T3D为Web平台提供强大的3D渲染能力。基于T3D引擎,能实现丰富的几何体定制,材质定制和渲染管线定制。未来T3D将本着开放,共享的原则,不断演进,为用户提升渲染效果和渲染性能,保证ThingJS在Web端优异的渲染能力。

关于UINO优锘科技

UINO优锘科技成立于2012年,总部位于北京,目前团队已超过千人,在上海、广州、深圳、杭州、南京等地均设有分支。

自成立至今,UINO秉承数字孪生的理念,以多维空间大数据为基础,致力于打通逻辑世界和物理世界,并凭借三维可视化交互为核心特点的数字孪生运维管理能力,形成了数据中心可视化、智慧园区、智慧城市、智慧消防等多种数字孪生运运场景群。

迄今为止,UINO优锘科技已服务了2,000+行业领军企业,并不断为全行业客户提供数字孪生可视化解决方案。

优锘科技:渲染引擎T3D:WebGL端数字孪生应用最优解相关推荐

  1. 数字化转型再下一城,数字孪生厂商优锘科技宣布完成超3亿元融资

    数字孪生技术是传统行业数字化转型的重要抓手,属于国家优先发展的战略性产业之一,已列入国家"十四五"规划纲要. 6月30日消息,数字孪生领导厂商"UINO优锘科技" ...

  2. 数字领航 科技赋能 | 优锘科技与新华三强强联手加速智慧医院可视化进程!ThingJS

    以往混乱的医院变得异常有序--医护人员正在通过电脑查看手术室和床位占用情况.病人挂号情况.取药排队情况.费用结算情况.医疗用品情况等,保证了患者就医更加方便和快捷:医院安保人员正在追踪"前科 ...

  3. UINO优锘科技助力银行业开启智慧运维,踏入智慧金融时代

    可视化运维"新视界"助力银行数字化转型 近几年各大银行从过去以产品为中心全面转向了以客户需求为导向的发展模式,从2017年开始纷纷掀起向智能化.数字化转型的浪潮.尽管业内对&quo ...

  4. 优锘科技:可视化加速“历史数据库”运转

    伴随着众多智能化设备的应用,大连接时代下的物联网正驱动着"万物互联"趋势的前行.如何在"万物互联"的环境中更好的对系统进行管理,成为亟待解决的问题.在此背景下, ...

  5. 优锘科技:企业架构管理平台荣获2021年度创新产品奖

    近日,B.P商业伙伴D大会"2021数字生态年度大赏榜单"正式发布出炉.UINO优锘出品的企业架构管理平台QuickEA荣获"2021年度创新产品奖". 202 ...

  6. 加速新基建,优锘科技的数字孪生可视化运营平台迎来最好时代

    燃爆行业市场的新基建仍有缺憾? 新基建是当前中国最热门的的话题之一,在今年4月份,发改委对新基建又做了新的解读,将其分成三部分内容: 第一部分是指基于新一代信息技术演化生成的信息基础设施; 第二部分是 ...

  7. ABeam( 德硕 ) 携手北京优锘科技共同探讨”数字孪生可视化运营”方案

    2022年3月,ABeam( 德硕 ) 旗下德硕管理咨询(深圳)有限公司创新研究团队一行拜访了北京优锘科技有限公司,双方就"数字孪生可视化运营"的解决方案展开了深入的探讨. ​ 首 ...

  8. 访傲林科技董事长刘震:用企业级数字孪生掘金工业互联网

     关注ITValue,看企业级最新鲜.最价值报道! 曾任微软亚洲工程院院长.罗技全球CTO.诺基亚成长型国家研究院院长的刘震把2021年看作中国数智化元年.在人工智能.云计算.大数据等技术成为真正的水 ...

  9. 优锘科技:扒一扒图化资源申请之三生三世那点事儿

    随着企业业务飞速发展,越来越多的系统和应用会同时进行上线和测试,运维部门会面临大量的IT资源申请需求来保障开发测试部门的工作得以顺利进行.而且随着现有系统面临用户量剧增.过时硬件支撑能力出现瓶颈.开发 ...

  10. UINO优锘科技:数字孪生6大概念超强解析

    数字孪生体 数字孪生体也称数字孪生实例,是指现实世界的物理对象在数字空间所对应的数字体.这个数字体不仅仅是一个ID.一条数据,而是一个完整的信息集合.它包括可视化表达的几何模型(3D以及构成3D的几何 ...

最新文章

  1. 模拟内存计算如何解决边缘人工智能推理的功耗挑战
  2. serv-u 15 设置非21端口外网FTP访问以及更改被动模式端口、防火墙映射
  3. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
  4. 无限级分类实现思路 (组织树的分级管理)
  5. mysql主主复制+keepalived 打造高可用mysql集群
  6. EXCEL_CLASS
  7. java classloader_Java Classloader原理分析
  8. 快钱支付与Sql Server的乐观锁和悲观锁
  9. 傅里叶变换概念及公式推导
  10. 员工档案管理系统的功能都有哪些?
  11. 大数据的价值,主要体现在哪几方面?
  12. 仿真对比4ASK信号、8PSK信号、4FSK信号在AWGN信道下的传输性能
  13. android自定义系统键盘,Android自定义软键盘
  14. 《VS如何解决Cannot find or open the PDB file问题》
  15. 高通开发系列 - linux kernel更新msm-3.18升至msm-4.9
  16. 四年级计算机考试反思,四年级期中考试反思作文300字 关于期中考试反思的作文...
  17. python长沙培训学校,长沙python培训班价格
  18. 皇图中原青豫大战打到服务器维护,皇图2超变9377
  19. 植物病原菌致病性测定
  20. 可视化神器Plotly绘制3D图

热门文章

  1. kali Linux 上编译并使用RFID核弹——proxmark3
  2. Java——TCP/IP超详细总结
  3. c语言数据类型转换规律,c语言,数据类型转换
  4. 货币市场基金基础知识
  5. Ubuntu 下安装 Python 解释器
  6. 自动整理html书签,Bookmarks Organizer - Chrome书签整理排序
  7. 那一年,程维去洗脚城打工,王兴第十次创业失败,张一鸣第五次换工作……...
  8. 2020 对自己的要求(专注力,执行力,心态)
  9. c语言编程 甲乙丙丁谁是罪犯的题,犯罪大师第二届推理大赛有甲乙丙丁四人答案是什么...
  10. K210基础实验—获取,修改像素值