• 数字孪生云渲染整体架构设计


    大家好,本文在我开发的多个项目的基础上,提出了应用于数字孪生的云渲染整体架构设计,分析了其中的关键点,感谢大家~

    数字孪生现状

    数字孪生是将物理世界映射到数字世界,1比1还原真实场景,具有场景大、数据大、还原真实场景等特点。

    数字孪生行业市场大,预计2025年可达到300亿元的市场规模

    为什么使用云渲染?

    目前数字孪生一般有2种渲染方式:

    • 客户端渲染
      使用UE、Unity引擎来渲染
    • Web端渲染
      基于WebGL/WebGPU,使用Three.js等开源引擎来渲染

    其中,前者渲染效果较好、开发成本较低(因为有成熟引擎,很多都不需要开发),但是不如后者跨平台和轻量;
    后者的主要问题是WebGL/WebGPU不够成熟,缺少很多高级图形特性(如Ray Tracing Pipeline),并且暂不能直接调用NPU来进行深度学习计算(WebNN目前还不成熟)

    这两种渲染方式存在的问题是都依赖用户的硬件条件,如果是移动端的话就不能渲染出高质量的场景;并且存在适配各种硬件等问题。

    因此,我们选择使用云渲染的方式,主要的好处是能够使用高级图形特性和NPU,并且能够使用集群来渲染,从而能渲染出高质量的场景。又因为网络传输的速度越来越快,所以可以实时渲染

    架构

    云渲染整体架构如下图所示:
    image

    架构一共有三个部分,其中用户的硬件(如手机、平板、PC等)是前端,云端GPU服务器集群是后端,而前端和后端都是基于Meta3D(Web3D低代码开发平台)来开发的

    特点

    本文提出的云渲染架构有下面的特点:

    • 核心组件都是自研的
      前端的Web3D引擎、Web3D编辑器和后端的云端渲染引擎以及Meta3D等都是自研产品

    • 技术前沿
      云端渲染引擎使用了最新的深度学习技术和最新的图形API,实现了最先进的实时路径追踪渲染,渲染效果可以超过UE渲染

    • 基于统一的平台来高效开发
      基于Meta3D平台,一站式、积木式开发编辑器和引擎

    • 提供个性化的Web3D编辑器给用户,实现模型搭建、数据绑定等可视化操作

    下面,我们来分析下架构中的关键点:

    后端

    网络传输

    这部分包括编码、解码,基于WebRTC来传输指令和像素流,其中像素流类似于UE的像素流

    云端渲染引擎

    使用Ray Tracing Pipeline、ReSTIR、DLSS、NRC(Real-time Neural Radiance Caching for Path Tracing)、WSPK等技术来实现实时路径追踪渲染。具体方案可参考实时渲染前沿研究:开篇介绍

    使用Node.js,从而能够用js来调用本地能力(如Nvdia NPU、Ray Tracing Pipeline)

    使用的第三方库主要是:

    集群调度

    根据前端的需求,动态调度合适的GPU服务器来渲染

    需要实现异步队列等技术

    GPU服务器集群

    配备RTX显卡,提供Ray Pipeline Tracing、NPU等功能

    前端

    浏览器

    用户打开浏览器,在有良好的网络时,即可接收到后端传来的实时像素流

    Web3D编辑器

    这是提供给有开发能力的用户的定制编辑器,使用户可以快速开发、修改数字孪生应用,从而解决数字孪生应用维护困难(现在用户可以通过低门槛的编辑器来维护应用,无需修改源代码)等问题

    Web3D引擎

    Web3D编辑器和数字孪生应用会在前端(也就是用户的硬件上)使用该引擎。

    对于渲染部分,简易渲染引擎用于渲染编辑器的编辑场景,而编辑器的运行场景和数字孪生应用的场景则由云端渲染引擎来渲染;
    对于其它部分(如物理、粒子等),则由Web3D引擎负责在前端来计算

    数字孪生应用

    数字孪生应用包括智慧城市、智慧仓库、3D展馆、VR/AR应用等,是交付给最终用户的产品。它的场景由云端渲染引擎来渲染

    Meta3D

    Meta3D是自研的Web3D低代码平台,一条龙可视化搭建编辑器、引擎,共建开放互助的web3d生态

    前端的Web3D引擎、Web3D编辑器和后端的云端渲染引擎都是在Meta3D平台中一站式搭建

    实现步骤

    结合我的情况,预计通过下面的步骤,来实现云渲染:

    1.基于WebNN,实现Real-time Neural Radiance Caching for Path Tracing的Demo
    2.跑通TensorFlow.js的Node.js backend,使用NVIDIA GPU drivers(NPU?)
    3.使用TensorFlow.js的Node.js backend替代WebNN,重写深度学习的Demo,并进行性能比较
    4.将以前基于WebGPU-Node实现的路径追踪渲染器(详见WebGPU+光线追踪Ray Tracing 开发三个月总结),结合NRC来降噪
    5.使Meta3D支持Node.js,从而能够开发 云端渲染引擎 包
    6.结合WSPK来降噪
    7.结合DLSS来渲染高分辨率
    8.用最简单的实现,快速跑通整个架构
    其中集群调度的实现可参考GPU Accelerated Path Tracing of Massive Scenes
    9.交付给内测用户使用

    参考资料

    137页完整版《2023数字孪生世界白皮书》场景渲染能力篇:实时云渲染

    3DCAT实时云渲染助力数字孪生检修车间建设,为智能制造赋能!

    实时云渲染在数字孪生、虚拟仿真领域的优势有哪些?

  • 相关阅读:
    【Android进阶】10、使用布局和部件创建 UI
    JavaScript 17 JavaScript 事件
    Probuf定义详解
    StarRocks从入门到精通系列一:StarRocks简介、系统架构和产品特性
    MySQL基础
    掌握C#: 从基础到精通 - 中级实战练习集
    国庆作业day3
    网络靶场实战-物联网安全qiling框架初探
    mac如何创建mysql数据库
    vs2019 c++20 规范 STL库中关于时间的模板 ratio<T,U> , duration<T,U> , time_point<T,U>等
  • 原文地址:https://www.cnblogs.com/chaogex/p/18149254